Chirurgia spinală minim invazivă
Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical. Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale. www.neurohope.ro |
Aplicatie java sound
Last Updated: Sep 13 2009 14:41, Started by
sandes87
, Feb 23 2009 12:55
·
0
#1
Posted 23 February 2009 - 12:55
Am o problema serioasa: trebuie sa fac o aplicatie care la un anumit interval sa imi afiseze pe ecran frecventa sunetului receptionat de microfonul telefonului. Poate cineva sa imi dea niste sugestii, nu stiu sigur daca se poate face acest lucru.
E cat se poate de urgent! Multumesc!!! Edited by sandes87, 23 February 2009 - 13:11. |
#2
Posted 23 February 2009 - 19:20
Ca sa afisezi frecventa, trebuie sa obtii semnalul de la microfon in format digital. Teoretic poti sa faci asta 'citind', din cadrul programului j2me, iesirile de la ADC-ul (Analog-Digital Converter) intern al mobilului. Problema e ca in j2me nu se poate accesa ADC-ul la un nivel atat de jos, dar se poate manipula semnalul respectiv pentru a crea un player ptr streaming (folosesti pachetul javax.microedition.media.*). Vezi un exemplu aici; recordedSoundArray din exemplul de acolo este ce-ti trebuie.
|
#3
Posted 01 May 2009 - 15:19
Inca nu am rezolvat problema si bate licenta la usa!! Cine ma poate ajuta?? Nu ma descurc sa il fac, am incercat eu tot ce am stiut, dar nu am reusit sa obtin frecventa sunetului!!
|
#4
Posted 04 May 2009 - 10:53
Trebuie clarificate niste treburi:
Pentru ce tip de telefon,ce versiune CLDC vrei sa faci programul? Asta conteaza pentru ca exista mai multe tipuri de formate de inregistrare (PCM-WAV,AAC,MP3,AMR),si nu toate telefoane au toate codecurile; de exemplu la SonyEricsson formatul popular e AMR,care este mai greu de interpretat pentru a obtine frecventa,ai nevoie de un algoritm de decodificare -amr folosind un codec de compresie. Cel mai simplu de utilizat e formatul PCM (WAV) existent la multe telefoane Nokia, unde in bufferul de inregistrare o sa obtii pe o rata de esantionare selectata valori intre -128-127 signed sau 0-255 unsigned,ce reprezinta amplitudinea semnalului. Apoi,cred ca stii ca achizitia nu o poti face in timp real,ci cu un mic delay (ptr secventa inregistrare>calcul/redare),asta ptr ca puterea de calcul a mobilului e totusi mica. Ai putea folosi mai multe threaduri ptr a rezolva partial problema asta. Si ca sa nu zici ca nu ai primit ajutor suficient,iti atasez si un proiect in Netbeans cu surse cu tot,ce contine partea de inregistrare/calcul amplitudine maxima/redare Ca sa schimbi formatul de inregistrare modifici linia Manager.createPlayer("capture://audio?encoding=pcm"); Bafta cu licenta! SoundRecord.rar 48.32K 32 downloads |
#6
Posted 23 May 2009 - 17:00
Mersi mult phlak,
Pe un nokia N73 vreau sa mearga aplicatia, am chinuit telefonu ala de cred ca isi doreste moartea. aplicatia merge numai ca nu da rezultate bune. mai am o rugaminte(am tot cautat pe net si nu am gasit o formula sa calculez diagrama spectrului de frecvente, sau cel putin frecventa tonului de amplitudine maxima), daca nu iti cer prea mult, mai fa un efort si da-mi niste detalii(ca sigur le stii). Edited by sandes87, 23 May 2009 - 17:05. |
#7
Posted 23 May 2009 - 21:39
Odata ce ai preluat vectorul de amplitudini, poti face orice cu el, nu vad unde e greutatea. Un exemplu de diagrama de peak-uri il ai chiar in proiectul atasat de mine mai demult. Adica in portinuea asta de cod:
for(int i=0;i<bytes.length-1;i++) g.drawLine(i,bytes[i]/4+height/2,i+1,bytes[i+1]/4+height/2); Calculele pe baza frecventei le poti face tinand cont de rata de esantionare (sau sampling rate). In cod, o stabilesti la crearea playerului, adica aici: player=Manager.createPlayer("capture://audio?rate=16000");Vezi linkul asta cu detalii despre parametrii playerului: link Atentie mare sa nu selectezi o rata de esantionare nesuportata de telefon! Acea rata de esantionare (de ex 8 KHz) inseamna ca la fiecare 1/8000s se va prelua un sample. Daca afisezi valoarea vectorului bytes.length o sa vezi si numarul total de sampleuri. Ziceai de calculul frecventei tonului de amplitudine maxima. In primul rand trebuie sa calculezi acest maxim, asta presupun ca stii sa faci. Frecventa prin definitie e inversul perioadei, adica f=1/T. Perioada reprezinta timpul care trece intre varfurile dorite, si poate fi determinata prin produsul intre numarul de sampleuri intre varfuri si inversul frecventei de esantionare (sau durata intre sampleuri). Sa presupunem ca maximul tau e 127 si se gaseste la indicii 2001 si 2004 in vectorul de sampleuri. Adica bytes[2001]=127, bytes[2004]=127. T=(2004-2001)*1/8000 (ptr o rata de 8KHz) de unde o frecventa de 2,6 KHz Bafta cu restul proiectului |
#8
Posted 25 May 2009 - 12:14
Asa am gandit si eu formula de calcul a frecventei de amplitudine maxima, dar, tinand cont ca nu avem o diagrama perfect sinusoidala, formula nu da rezultate bune. de exemplu daca avem urmatoarele sample-uri: i1=20, i2=-12, i3=127, i4=58, i5=-2, i6=80, i7=-45, i8=127, atunci mai apare un maxim local intre cele doua valori de 127 vezi putin desenul din atasament. Eu zic, ca m-am bagat in niste treburi cam complicate, chear daca ma pasioneaza astea, ma cam depasesc.
Attached Files |
#9
Posted 25 May 2009 - 17:26
Perfect sinusoidala n-o sa apara diagrama, pentru ca amplitudinea semnalului e variabila. Maximele e normal sa nu apara la aceeasi perioada, frecventa lor e variabila; pe baza asta ai putea exprima o banda de frecvente a lor. Teoria semnalelor si procesarea sunetelor sunt domenii destul de dificile, dar totusi vezi cate procesoare de sunet sunt si cate posibilitati. Si cand totul se face mobil, e si mai interesant
|
#11
Posted 17 June 2009 - 11:47
Pentru cei interesati am lasat proiectul facut de mine cu ajutorul lui phlak, aplicatia functioneaza, dar cum am mentionat mai sus, nu se poate folosi in scopul acordarii instrumentelor, deoarece nu da rezultatul exact. incerc sa caut o alta metoda de calcul a frecventei, eventual cu FFT(fast fourier transform), am inteles ca o asemenea functie trebuie folosita.
Multumesc inca o data phlak. Aveti atasat fisierul acorder.rar Attached Files |
#12
Posted 26 July 2009 - 16:03
sandes87, on 17th June 2009, 12:47, said: Pentru cei interesati am lasat proiectul facut de mine cu ajutorul lui phlak, aplicatia functioneaza, dar cum am mentionat mai sus, nu se poate folosi in scopul acordarii instrumentelor, deoarece nu da rezultatul exact. incerc sa caut o alta metoda de calcul a frecventei, eventual cu FFT(fast fourier transform), am inteles ca o asemenea functie trebuie folosita. Multumesc inca o data phlak. Aveti atasat fisierul acorder.rar Cu aplicatia asta am luat nota 10 la lucrarea de licenta!! Comisia a ramas placut impresionata!! |
#13
Posted 30 July 2009 - 16:04
sandes87, on 26th July 2009, 17:03, said: Cu aplicatia asta am luat nota 10 la lucrarea de licenta!! Comisia a ramas placut impresionata!! ps: Poti sa ne spui ce metoda ai aplicat pana la urma pentru calculul frecventei? |
#14
Posted 13 September 2009 - 14:41
phlak, on 30th July 2009, 17:04, said: ps: Poti sa ne spui ce metoda ai aplicat pana la urma pentru calculul frecventei? am calculat de cate ori "amplitudinea" atinge valoare maxima in-tr-un interval de 1 secunda. bineinteles ca eu luam valori pe intervale mai mici si cu ajutorul lor calculam in final de cate ori ar fi fost intr-o secunda, aplicatia mergea pe nokia n73, dar pe multe altele care le-am probat nu mergea! faza o fost ca nu au mai stiut ce sa ma intrebe, ca nu le prea aveau cu muzica, si asa i-am pacalit au incercat sa ma inchida cu intrebari capcana din codul sursa, dar il stapaneam foarte bine si au fost nevoiti sa imi dea nota!! Dumnezeu sa le dea sanatate!! Si tie phlak la fel, ca m-ai ajutat! |
Anunturi
▶ 1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users