Voice to midi25.dec 2010
    Vyteseny z "linft" aplikacie pokusil som sa stvorit program nad ktorym som uz dlho rozmyslal. Potesi jednak chudobne deti ktore nemaju na to aby si kupili syntetizator s midi interfacom a jednak mozno potesi aj hudobnikov ktori maju po chorobe rozladene hlasivky. Jadro ostalo nezmenene z linft programu, cize vzorkujeme zvuk zo zvukovej karty a snazime sa vyratat fourierove koeficienty pre nejake tie konkretne frekvencie. Program som trochu sprehladnil a niektore kriticke casti som prepisal do C++ ktore v destruktoroch managuje uvolnovanie pamate. Vodorovna os predstavuje klavesnicu 5 oktavoveho klavira. S pomocou DFT sa aplikacia snazi zistit prezenciu konkretnych tonov. Nanestastie vyssie harmonicke zlozky dokazu situaciu velmi skomplikovat. Skutocne koeficienty su zobrazene sivymi pasikmi. Cervenymi su zobrazene odfiltrovane ktore potlacaju efekt vyssich harmonickych. Skusal som to s Casio CTK601 a tento zial neposkytuje zvuk cisteho sinusu. Velmi pekne vysledky sa dali dosiahnut s tonom 073 FLUTE. Nastavil som plochu ADSR obalku a vypol modulacie a vysledkom bol jednoduchy ton. Prve pokusy boli s internym mikrofonom v laptope... Druhe s kondenzatorovym mikrofonom... Nakoniec som zvukovy vystup syntezatora radsej prepojil so zvukovou kartou napriamo. Vysledok je velmi pekny, az mam z toho strach.
Tuto vsak zabava nekonci. Prave zacina... Nejakym kuzelnym sposobom s pomocou modifikovaneho RMS algoritmu si urcim hladinu ktoru ak prekroci vysledok DFT tak si poviem ze tento ton je na syntezatore naozaj stlaceny. Klavesy ktore su vyhodnotene ako aktualne stlacene odoslem na midi zariadenie. A toto je ten ucel. So syntezatorom ktory je prepojeny len audio kablom mozeme ovladat softwarove syntezatory cez virtualnu midi zbernicu. Funguje to napodiv dost spolahlivo pre cely 5 oktavovy rozsah, obcas to chyti nejaku tu harmonicku a nizke tony trvaju trochu dlhsie kym sa vyhodnoti ich prezencia.
Dalsie chore pouzitie je spievanie do mikrofonu a aplikacia vam vyhodnoti akusticky obraz hlasu, cize ktory ton ako tak vlastne vase hrdlo vypusta. Takze vyborne tiez na cvicenie.
Tato aplikacia bola inspirovana jednym projektom asi z nemeckej dielne o ktorom som pocul asi pred rokom. Male dieta nahralo nejaku hlasovu nahravku - islo o nejaku textovu spravu. Program vygeneroval nejaky MIDI predpis a mechanicky system stlacal klavesy realneho klavira a celkovo sa zo zvukoveho prejavu koncertneho kridla dalo rozumiet povodnej sprave ktorej autorom bolo spominane dieta. Cele to vsak bolo vykonane offline. Moj ciel bol spravit to realtime.
Vypocet prezencie tonu sa deje prostrednictvom prenasobenia signalu s X periodami harmonickej funkcie (sin/cos), s navrch aplikovanou Hann obalkou. Ak by sme miesto tejto syntetickej harmonickej funkcie pouzili skutocnu nahravku piana, predpokladam ze efekt by mohol byt porovnatelny s experimentom nemeckych umelcov.
Tymto som taktiez chcel overit myslienku kamarata Sergeja Kruga, ktory bol zvedavy, ci by sa dal lubovolny periodicky signal rozlozit do serie periodickych signalov ineho tvaru (napr. trojuholnik) na rozdiel od fourierovej transformacie ktora vsetko prevadza na sucet harmonickych funkcii.
Na vrchu je indikator zvukoveho signalu. Pre spravne fungovanie to musi vykreslovat co najviac zelenych stvorcekov. Ak je ich malo, znamena to ze zdroj zvuku je prilis "ticho". Ak to vsak dosiahne cervene hodnoty, zvukova karta je pretazena a treba zdroj zvuku utlmit.
Ponukam na stiahnutie novu verziu V2 ktora pouzije prve dostupne midi zariadenie, vo vacsine pripadov to bude windows synthesizer. Ak prvy link nebude fungovat (zdielane kniznice) tak skuste druhy ktory ma vsetky potrebne kniznice zakomponovane v sebe. Na screenshote je zobrazena situacia ked je na klaviri zahraty akord Cdur, pekne su dekodovane vsetky 3 tony a harmonicke zlozky su uspesne algoritmom potlacene (potlacenie je vidiet tam kde je velky rozdiel medzi sivym pasikom a cervenou ciarou)

    This program transforms recorded voice into midi note on/note off commands in real time. Allows you to connect cheap midi piano into Line In of your sound card and send midi events directly into your favourite midi hosting software.


Sound picked up by internal laptop microphone
    

Direct connection between sound card and synthesizer playing C major chord