Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 11.2.2015, 23:14   #21
Sun Tzu
Starosedelac
 
Član od: 10.8.2007.
Lokacija: Temples of Syrinx
Poruke: 2.193
Zahvalnice: 417
Zahvaljeno 1.006 puta na 568 poruka
Određen forumom Re: Audio programming

Možda pomogne ovako nešto? http://www.flipcode.com/misc/BeatDet...Algorithms.pdf
Sun Tzu je offline   Odgovor sa citatom ove poruke
Stara 14.2.2015, 19:59   #22
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: Audio programming

Izvlačenje visine tonova je oblast u kojoj je bilo dosta istraživanja (i sad ga ima, naravno), ali i dalje nemamo softver koji može da tačno transkribuje muziku u opštem slučaju. Ukoliko imamo nego dalje znanje o zvuku, recimo, imamo u posedu konkretan instrument i možemo da izvršimo neke analize njegovih karakteristika (ili imamo semplove), tu možda može nešto da se smisli. Recimo, posebno je teško izvući tonove iz glasa zbog specifičnog načina na koji radi naš govorni aparat---ovde govorimo o zvuku koji se akumulira vibarcijom prvo pluća, pa zatim grla tj. glasnih žica, pa na kraju vibracijama koje se čuju zbog prolaska dela vazduha kroz nos, a dela kroz usta, na šta utiče recimo položaj jezika, usana i sl. Algoritmi koji rade nad semplovima a ne nad frekvencijama su možda bolji izbor za ovo, a kada se to kaže uglavnom se misli na algoritme koji rade autokorelaciju. Generalna ideja je da nađeš neku periodu T tako da kada se zvuk pomeri za T ulevo, određena nota se izgubi, što znači da si našao periodičnost tog tona. Ovi algoritmi su realno korisni samo nad monofonskim zvucima, ali ako imaš neki miks iz kog možeš da izvučeš koliko-toliko izolovane instrumente, možeš da ih ograničeno upotrebiš i u tom slučaju. Primeri ovakvih algoritama su YIN i MPM. Postoje i klasični poput average magnitude difference function (AMDF) i cepstralna detekcija visine (CPS), ali videćeš da ovaj MPM rad citira njih i pokušava da unapredi detekciju nad njima, tako da kada bih ja radio tako nešto fokusirao bih se na MPM, ukoliko bih morao da biram nad ovim time-domain autokorelativnim metodama.

Jedan fundamentalan problem sa korišćenjem čiste Furijeove transformacije za ovako nešto je u tome da signal može da ima frekvenciju koju FFT ne bi mogao da ti pokaže. Evo banalnog primera: sin(4x)+sin(6x)+sin(8x)+sin(10x). Ako pogledaš grafik funkcije, vidiš da je perioda π, odnosno fundamentalna frekvencija je sin(2x). FFT ovog signala, međutim, uopšte ne bi pokazao da ona postoji---najniža ne-nulta sinusoida bi bila sin(4x). Na osnovu ovoga jasno možeš da vidiš da sa pravim, kompleksnim zvucima problem može biti još gori, a ako se radi o finalnom stereo miksu kome je dinamički raspon već skršen nenormalnim kompresijama i limitingom koji se danas u produkciji koristi, ili je bit depth mali, ili je prisutna audio kompresija (MP3/AAC/OGG/you name it) koja uvlači neke frekvencije koje ni ne postoje u originalu (ili sa niskim bitrateovima probleme tipa pre-echo), to može znatno da ti pokvari precizan pitch detection. Kao što rekoh, ovo je konkretno u vokalima i govoru gde je problem veći, a za pojedinačne instrumente je stanje možda malo podnošljivije.

Kada možeš da dobro detektuješ visine tonova note nisu problem, mada i tu postoje stvari na koje možeš da se sapleteš. Višeglasni instrumenti poput klavira, gitara i sl. će ti, cenim, praviti problem, pa samim tim nije toliko lako detektovati akorde u opštem slučaju. Doduše, ako možeš softveru da daš neke prethodne informacije ("akordi su molski", npr, ili "svi akordi su od tri tona") i ako znaš konačan skup akorda kojima će oni pripadati (a u većini muzike uglavnom znaš), onda možda to može da uspe. Ovo nisam nimalo radio, pa samo nagađam. Kod jednoglasnih instrumenata (bas gitara, trombon, vokal je malo teži za to, kao što rekoh) ćeš možda imati nekog uspeha u autotranskripciji samih nota, ali svejedno bilo kakav izlaz bi morao da pogleda neki muzičar i ispravi greške ako postoje.

Što se tempa tiče, postoje algoritmi koji to rade sa različitom kompleksnošću i uspehom, ali je problem generalno mnogo lakši nego detekcija tonova. Ako zvuk menja tempo u nekom trenutku, i to bi morao da uzmeš u obzir, i ukoliko nema perkusivnih ritmičkih zvukova (bubnjevi, udaraljke, sl.) možeš da omaneš. Evo jednog algoritma koji lokalizuje skokove u energiji zvuka i to koristi da detektuje tempo. Beatroot algoritam je poprilično dobar, na primer, i baziran je na onset detectionu i inter-onset-intervalima koji ti daju aproksimativnu periodu pesme. Ako znaš da je BPM ceo broj, mislim da ćeš generalno imati dobre rezultate sa njima, ali YMMV.

Kao što rekoh, ako je u pitanju miks raznih instrumenata, jako je teško (da ne kažem nemoguće) mnogo zaključiti o tonovima i karakteristici zvuka. Ako možeš da ekstraktuješ samo stereo centar, gde se obično nalaze bas, vokal i kick drum bubnja, mogao bi nekim bandpass filterima da ih koliko-toliko izdvojiš i dobiješ neku sliku o tome šta oni rade. Za ekstrakciju centra možeš da koristiš trivijalni algoritam L-R, a možeš i da se baviš nečim egzotičnijim za stereo separaciju u opštem slučaju, npr. Azimuth Discrimination and Resynthesis (ADress).

U svakom slučaju, nadam se da sam ti dao neke osnovne pokazivače na koju stranu da nastaviš istraživanje. I u jednoj sekundi neke muzike, pa čak i jednog instrumenta, ima toliko mnogo informacija da je isuviše ambiciozno pokušati transkripciju svih njih, ali evo, probao sam da dam neke smernice na koju stranu bi išao sa svakim od tih parametara koje si naveo. Nisam ništa od ovog radio, samo istraživao, tako da molim te proveri moje tvrdnje i pročitaj malo o tome i informiši se, pošto ne govorim iz ličnog iskustva rada sa ovim algoritmima i pristupima. Od softvera koji radi ovakve stvari, postoje npr. MELODIA, Performous (igra), gorepomenuti Beatroot, i tako dalje. Softver za muzičku produkciju takođe ima neke pitch correction/detection, tempo estimation i sl. funkcije koje bi možda mogao da pogledaš. Znam da Adobe Audition ima takve stvari, za ostalo ne mogu da tvrdim. Takođe, velike kompanije koje se bave time (Waves npr) imaju plaginove koji rade takve stvari, tako da možda možeš da potražiš i nešto o njima.

Srećno.
Geomaster je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku Geomaster na korisnoj poruci:
enaB (15.2.2015), Teva (15.2.2015)
Stara 16.2.2015, 17:01   #23
Lucic Nemanja
Starosedelac
 
Član od: 2.12.2005.
Lokacija: Beograd
Poruke: 1.241
Zahvalnice: 65
Zahvaljeno 76 puta na 49 poruka
Slanje poruke preko Skypea korisniku Lucic Nemanja
Određen forumom Re: Audio programming

Možda ovako nešto može da pomogne.
https://www.coursera.org/course/audio
Lucic Nemanja je offline   Odgovor sa citatom ove poruke
Stara 17.2.2015, 8:05   #24
DonCorleone91
Starosedelac
 
Član od: 5.7.2008.
Lokacija: Munze Konza
Poruke: 2.105
Zahvalnice: 225
Zahvaljeno 658 puta na 339 poruka
Slanje poruke preko MSN-a korisniku DonCorleone91
Određen forumom Re: Audio programming

Mrzi me sve temeljno da citam u ovom momentu al prelistah onako s'nogu!
Elem!
U programiranje se ne razumem tehnicki, samo funkcionalno (kako sta funkcionise, ali i ne zasto funkcionise i na koji tacno nacin ) ali posto se bavim s' kzvu reko da uletim.
Prvo pa musko, bio je pre neki mali free program koji je prepoznavao tempo pesme, ti ubacis pesmicu, on ti izbaci brojku, poprilicno je ok radio, al cim imas promene ritmicke odma zabode. Mozes da pogledas razne dj softvere koji imaju relativno dobre algoritme za prepoznavanje tempa pesama, al opet, muzika koja se koristi za djing ima definisan i izrazeniji ritam. Takodje u Kjubejzu osam (mislim cak i od verzije sest) postoji algoritam za prepoznavanje tempa i vrste takta, koji relativno dobro radi, bas sam ga isprobavao pre neki dan na pesmama koje imaju nepravilne ritmove koji se ubrzavaju i usporavaju, zna da zabode, ali nekad zna i poprilicno lepo da resi situaciju. Taj algoritam verovatno i funckionise na, vec pomenutojo, Furijevoj analizi i prepoznavanju tranzijenata ("akcentovani" su zvuci kika i snera (najcesce u savremenoj modernoj muzici)).
Sto se prepoznavanja visine tonova tice, imas vise programa koji imaju algoritam za to. Pre svega imas integrisan VariAudo u C8 (i ranijim verzijama) koji poprilicno lepo radi za solisticke monofone instrumente. Takodje imas i kompaniju Celemony koja proizvodi cuveni Melodyne koji ima mogucnost prepoznavanja i ritmova i melodije, ali samo jednog isntrumenta, ili udaracke sekcije (za udaraljke je jednostavnija situacija) i onda to sto je prepoznao mozes da eksportujes kao midi fajl. Takodje zanimljiva stvar kod melodajna je i njegova DNA (Direct Note Access) funkcija gde Furijevom analizom razlaze niz harmonika i prepoznaje osnovne frekvencije tonova i u mogucnosti je da ispravlja pojedinacne visine tonova unutar sazvucja. Nekad radi bolje, nekad losije ali u svakom slucaju napredak nisam dugo pratio da li su izbacili nesto novo.
Takodje evo ga i link ka jos jednom http://www.zynaptiq.com/pitchmap/ koji se bavi analizom frekvencijskog opsega signala pa bacite pogled.
Takodje koga interesuje moze da baci pogled i na kompanije Cedar i Izotope. Izotope je malo pristupacnija jer ima narodska verzija njihovog softvera RX4 koja se opet bavi frekvencijskom analizom i spektralnim prikazom signala. Mada ove dve kompanije se bave vise restauracijom nego muzikom, ali u svakom slucaju zanimljivo je pogledati napredak u tom polju.
DonCorleone91 je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku DonCorleone91 na korisnoj poruci:
Geomaster (23.3.2015)
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Creative SB Audigy Value/SE/LE/24bit --> Creative X-Fi Xtreme Audio Doomche Zvuk na računaru 83 19.11.2014 17:59
Precizni Audio Extractor... ozzytheking Audio softver 4 9.6.2012 11:21
Problem sa zvukom. radulence84 Kvarovi 0 5.10.2011 10:36
Realtek HD Audio drivers Predrag Stankovic Audio softver 3 3.1.2011 20:42
Da li je neko koristio VIA VT1708S Audio Codec? McNAIR Zvuk na računaru 0 1.9.2009 15:40


Sva vremena su po Griniču +2 h. Sada je 15:19.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com