19
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Slučajni procesi u sustavima Ekstrakcija notnog zapisa iz audio signala Natalija Hećimović Mario Boćan Teo Petran Franjo Pozaić

Prakticni Final

Embed Size (px)

DESCRIPTION

fin

Citation preview

  • FAKULTET ELEKTROTEHNIKE I RAUNARSTVA Sluajni procesi u sustavima

    Ekstrakcija notnog zapisa iz audio signala

    Natalija Heimovi

    Mario Boan

    Teo Petran

    Franjo Pozai

  • 2

    Sadraj

    1. Uvod ................................................................................................................................................ 3

    2. Osnovno o elementima glazbe te visini tona .................................................................................. 3

    3. Metode estimacije visine tona ........................................................................................................ 5

    3.1. Metoda detekcije osnovnog perioda ...................................................................................... 5

    3.2. Autokorelacijska metoda ......................................................................................................... 6

    3.3. Adaptivni filtar ......................................................................................................................... 8

    3.4. Yin estimator ........................................................................................................................... 8

    3.5. Detekcija osnovne frekvencije signala u frekvencijskoj domeni ............................................. 8

    3.5.1. Kepstralna analiza ............................................................................................................ 9

    3.5.2. Spektar harmonijskog produkta .................................................................................... 10

    4. Problemi estimacije osnovne frekvencije ...................................................................................... 11

    5. O programu ................................................................................................................................... 12

    5.1. Generiranje MIDI datoteke ................................................................................................... 14

    5.2. Vane funkcije ....................................................................................................................... 15

    6. Rezultati ......................................................................................................................................... 18

    7. Zakljuak ........................................................................................................................................ 18

    8. Literatura ....................................................................................................................................... 19

  • 3

    1. Uvod

    Transkripcija glazbe moe se definirati kao sluanje glazbenog dijela, te zapisivanje notnog zapisa kao

    biljeke. Do sada je puno rada uloeno u automatizaciju tog procesa pomou raunala, te su razvijeni

    razliiti sustavi za tu svrhu, no jo uvijek nije razvijen nijedan sustav koji moe priblino konkurirati

    ljudskom uhu te sluhu glazbenika. Problem transkripcije moe biti relativno jednostavan ako ga

    ograniimo na jedan monofoni instrument (maksimalno jedan ton istovremeno), ali i iznimno

    kompliciran za kompleksne polifone skladbe sa vie razliitih instrumenata.

    Postoje mnoge potencijalne primjene automatske transkripcije glazbe:

    ''sustav kole sviranja'' moe biti napravljen tako da raunalo slua uenikovu izvedbu, te je

    analizira, potom usporeuje s gotovim notnim zapisom i na temelju toga daje povratnu

    informaciju.

    Ukoliko glazba postoji samo kao audio zapis, glazbenicima bi se uvelike olakala analiza sa

    sustavom automatske transkripcije. Ovo je posebno vano za identificiranje i klasificiranje

    glazbe kako bi se lake snalazili, primjerice, u glazbenoj bazi podataka.

    Prebacivanje glazbe u MIDI zapis omoguuje glazbenim producentima, DJ-ima i slino da

    lagano mogu generirati razliite verzije glazbe iz originala.

    Sm in kompozicije bi se ubrzao, jer bi se omoguilo kompozitoru da se vie koncentrira na

    glazbu, nego na pisanje.

    Automatska transkripcija glazbe ukljuuje ekstrakciju znaajki iz audio signala, te njihov simboliki

    prikaz. Ovisno o obliku simbolikog prikaza glazbe biraju se neke znaajke. Primjerice, ukoliko se eli

    generirati potpuni notni zapis, znaajke bi bile (vie o tim znaajkama u sljedeem poglavlju):

    Tonalitet, ritmika mjera, tempo, dinamika, visine tonova.

    Budui da je ekstrakcija svih znaajki potrebnih za notni zapis preambiciozan projekt, rad se fokusira

    na problem estimacije visine tonova u monofonoj gitarskoj skladbi, te generiranje MIDI zapisa iz

    skladbe.

    2. Osnovno o elementima glazbe te visini tona

    Glavni elementi glazbe su visina tona, ritam, dinamika i boja zvuka. Tonalitet je svojstvo tonalne

    glazbe koje povezuje niz tonova ili akorda neke skladbe. U glazbenoj teoriji se termin tonalitet koristi

    u puno razliitih svrha, te je teko laiki objasniti njegovo znaenje, no za potrebe rada moemo rei

    da se odreuje na temelju akorada i ljestvica koje se koriste u skladbi. Tempo je znaajka glazbe koja

  • 4

    govori o brzini izvoenja skladbe. Dinamika slui za odreivanje glasnoe ili intenziteta izvoenja

    skladbe ili dijela skladbe.

    U radu se prouava jedan od problema transkripcije glazbe, prepoznavanje visine tona. Kljuan

    koncept za prepoznavanje visine tona je glazbena ljestvica. Glazbena ljestvica je niz glazbenih tonova

    razvrstanih u oktave, koji se nazivaju prema slovnom oznaivanju. Glazbena abeceda sastoji se od: c,

    d, e f, g, a i h, te pomonih znakova povisilice () i snizilice (), kojima se oznauje promjena visine

    tona za poluton. Izmeu osnovnih tonova se nalazi jo pet dobivenih povisilicama/snizilicama, to ini

    ukupno 12 tonova rasporeenih u 10 oktava. Prema dogovoru iz 1955. godine, veina instrumenata

    je izvedena tako da frekvencija tona A4 iznosi 440 Hz. Budui da su omjeri frekvencija susjednih

    tonova konstantni, poznajui frekvenciju jednog tona, moeno dobiti sve ostale. Prema tome, sa

    poznatom frekvencijom tona moemo odrediti o kojem tonu se radi, prema formuli 2.1.

    (2.1.)

    Slika 2.1. Prikaz tonova u ovisnosti o frekvenciji

  • 5

    3. Metode estimacije visine tona

    Jedan od glavnih i najteih problema u transkripciji glazbe je estimacija visine tona kod polifonih

    skladbi. Problemi proizlaze iz injenice da ljudska percepcija visine tona jo nije u potpunosti

    istraena. Budui da je osnovna frekvencija fizika karakteristika bliska visini tona, mnogi estimatori

    pokuavaju izdvojiti osnovnu frekvenciju unutar glazbenog signala.

    Prema pristupu razlikujemo dvije vrste metoda estimacije glavne frekvencije: metode u vremenskoj

    domeni ili u frekvencijskoj domeni. Metode u vremenskoj domeni su se pokazale korisne za

    transkripciju monofonih melodija, a neke njih su: metoda estimacije osnovnog perioda,

    autokorelacijska metoda, i metoda adaptivnog filtra. Transkripcija polifonih melodija se najee

    obavlja u frekvencijskoj domeni, te se koriste dodatne tehnike za otkrivanje otkrivanje visine tona:

    metoda umnoka spektra, kepstralna analiza.

    Razvoj metoda estimacije visine tona se i dalje nastavlja i temelji se na sve sofisticiranijem koritenju

    vremenske i frekvencijske domene primjene. Razvile su se dvije glavne vrste estimatora: sustavi

    temeljeni na slunim modelima (inspirirani ljudskim sluhom), te sustavi temeljeni na statistikim

    informacijama.

    Pregled glavnih metoda estimacije se nalaze u nastavku.

    3.1. Metoda detekcije osnovnog perioda

    Ova metoda analizira signal u vremenskoj domeni te pokuava odrediti period na temelju odreenih

    znaajki u signalu. Jedna takva metoda zove se zero-crossing, koja trai mjesta gdje signal prolazi kroz

    nulu. Intervali izmeu tih toaka se mjere, zatim algoritam usporeuje uzastopne intervale da bi

    odredio osnovnu frekvenciju. Varijacija na zero crossing metodu je metoda gdje se mjere udaljenosti

    izmeu vrhova signala.

    Pokazalo se da su obje metode vrlo ograniene pri radu sa stvarnim glazbenih signalima. Problem je u

    tome to u stvarnim signalima uz glavne, postoje i ostale frekvencije zbog kojih e signal takoer

    prolaziti kroz nulu, to e unositi greku u sustav. Metode detekcije osnovnog perioda su zato jedino

    uspjene kada je ulazni signal priblian sinusoidalnom, tj. kada je broj prijelaza preko osi (nula) ili

    vrhova priblino isti kao i kod osnovne frekvencije.

    1990. godine je razvijena unaprijeena verzija metode transkripcije monofonog audio signala. Signal

    se razdvaja u komponente koristei niz filtera. Svaki od filtera ima podruje proputanja od pola

    oktave, to omoguava da izlaz svakog filtra sadri samo jedan valni oblik bez harmonika. Nakon toga

    se na izlazu svakog filtra vri zero-crossing metoda. Konano, algoritam mora utvrditi koji od izlaza

  • 6

    filtera sadri pravu osnovnu frekvenciju, a to se postie usporeujui snage na izlazu iz svakog filtera.

    Metoda uzima u obzir injenicu da harmonik vieg reda u signalu moe biti vei od osnovnog.

    3.2. Autokorelacijska metoda

    Ovom se metodom u vremenskoj domeni signal usporeuje sa svojom zakanjelom verzijom, u

    potrazi za ponavljajuim uzorkom. Postoji niz implementacija, ali obino se signali usporeuju toku-

    po-toku preko niza vremenskih kanjenja. Ova usporedba ima formu funkcije, a rezultati se mogu

    nacrtati na grafikonu. Osnovna implementacija ove funkcije dana je formulom 3.1.:

    = +

    (3.1. )

    gdje je n uzorak, i 0 < kanjenje N

    Korelacija se dogaa kad se signali podudaraju, a na grafikonu se vidi kao maksimum korelacijske

    funkcije. Osnovna frekvencija signala (engl. pitch) moe se pronai iz vremena kanjenja izmeu

    maksimum korelacijske funkcije (oznaeno crvenom bojom na slici).

    Slika 3.1. Autokorelacijska metoda

    Autokorelacija je u svojoj osnovnoj implementaciji najuinkovitija na zvukovima niske do srednje

    frekvencije pa stoga nije najprikladnija za glazbene signale, iji sadraj pokriva iroke frekvencijske

    opsege.

  • 7

    Tolonen i Karjalainen su 2000. godine osmislili polifoni algoritam za estimaciju osnovne frekvencije

    signala, temeljen na njihovoj poboljanoj izvedbi autokorelacije. Dizajnirali su sustav koji je priblino

    odgovarao slunom modelu ljudskog sluha. Taj sustav funkcionira tako da se ciljani audio zapis

    podijeli po 1 kHz u nisko i visoko frekvencijske pojaseve. Tada se na svaki pojas primjenjuje opa

    autokorelacija, a zatim se rezultati zbrajaju. Opa autokorelacija je proces transformacije audio

    signala u frekvencijsku domenu Fourierovom transfromacijom, kompresije tako dobivenih

    spektralnih veliina te na kraju konverzije tih podataka natrag u vremensku domenu inverznom

    Fourierovom transformacijom. Posljednja faza Tolonenova i Karjalainenova sustava je usmjerena na

    definiranje jasnih osnovnih frekvencija signala unutar sumirane funkcije, jer konvencionalne

    autokorelacijske funkcije prikazuju osnovne frekvencije koje odgovaraju cjelobrojnom viekratniku

    osnovnog perioda, to moe oteati identifikaciju osnovnih frekvencija kada je u audio signalu

    prisutno vie notnih zapisa. Njihovo rjeenje sastoji se od odsijecanja valnog oblika funkcije tako da

    se zadre samo pozitivne vrijednosti; tako dobiveni valni oblik se zatim proiruje u vremenu

    mnoenjem s dva, prije nego se oduzme od prvotnog valnog oblika. Rezultat je valni oblik s

    uklonjenim (ili znaajno umanjenim) harmonicima druge razine; maksimum skoro nultog vremenskog

    kanjenja je takoer uklonjen, kao i mnoge korelacijske vrijednosti niske razine. Tolonen i Karjalinen

    predlau ponavljanje ovog procesa koritenjem proirenja mnoenjem s faktorom tri ili etiri, ukoliko

    je potrebno ponititi harmonike vieg reda. Ovu novu funkciju nazvali su poboljanom sumirajuom

    autokorelacijskom funkcijskom (ESACF). Ovaj proces opisan je na slici 3.2.; gornji dijagram prikazuje

    sumiranu autokorelacijsku funkciju, a donji poboljanu autokorelacijsku funkciju sa jasno izraenim

    osnovnim frekvencijama prisutnim u ciljanom audio signalu.

    Slika 3.2. Sumirajua autokorelacijska funkcija (gore) i poboljana sumirajua autokorelacijska

    funkcija (dolje) (Tolonen i Karjalainen, 2000)

  • 8

    Unato ovim poboljanjima, Tolonenov i Karjalainenov sustav moe rijeiti samo trodijelne polifonije,

    a i to samo kad notni zapisi sadre vrlo sline jaine zvuka. Autokorelacija openito ne funkcionira

    dobro kod harmonijski kompleksnih signala.

    3.3. Adaptivni filtar

    Metode adaptivnog filtra odreuju osnovnu frekvenciju ulaznog signala na samousklaivajui nain.

    Moorer je 1974. godine razvio metodu koja minimizira ulazni signal nalazei optimalni eljasti

    filtar (engl. comb filter). Da bi minimizirao signal, taj filtar mora biti u skladu s njegovim harmonikim

    maksimumima. Osnovna frekvencija signala e biti poznata kad se pronae taj eljasti filtar.

    3.4. Yin estimator

    Ovaj estimator osnovne frekvencije je slian autokorelaciji, no implementirane su brojne

    modifikacije, kombinirane da pomognu sprijeiti pogreke. Dizajnirao ga je Cheveigne 2002. godine, a

    on tvrdi da je Yin estimator posebno uspjean u eliminaciji subharmonijskih greaka, koje su est

    rezultat pogrene interpretacije maksimuma nultog kanjenja u autkorelacijskim algoritmima.

    Dok autokorelacija maksimizira produkt valnog oblika i svoje zakanjele verzije, Yin pokuava

    minimizirati razliku.

    Kada se za procjenu algoritma koriste snimke govora, njegova stopa pogreke triput je nia od

    najboljih konkurentskih metoda. Daljnja prednost nad autokorelacijom je ta da je Yin algoritam

    pogodan za odreivanje osnovnih frekvencija glasovnih i glazbenih signala visokih osnovnih

    frekvencija. Meutim, ovaj je algoritam do sad koriten samo pri detekciji osnovne frekvencije

    monofonih signala.

    3.5. Detekcija osnovne frekvencije signala u frekvencijskoj domeni

    Ove metode imaju za cilj podjelu audio signala na njegove frekvencijske komponente.

    Transformacijom signala iz vremenske u frekvencijsku domenu otkrivaju se energije sadrane unutar

    uskih frekvencijskih pojaseva. Gdje su energije frekvencijskog pojasa visoke, treba detektirati

    predstavlja li ta frekvencija osnovnu frekvenciju, dio harmonika ili um. Na slici 3.3. je prikazan

    primjer spektra te je crvenom bojom oznaena detektirana frekvencija. Metode opisane u nastavku,

    kao to su kepstralna analiza i spektralna analiza harmonijskog produkta, pomau pri procesu

    detekcije.

  • 9

    Slika 3.3. Detekcija osnovne frekvencije u frekvencijskoj domeni

    Uobiajena metoda za transformaciju signala u frekvencijsku domenu je vremenski kratka Fourierova

    transformacija (STFT). Problem ove metode je vremensko/frekvencijski balans rezulocije, kao i

    injenica da se podaci primaju u formatu koji se ne podudara s ljudskom percepcijom osnovne

    frekvencije.

    3.5.1. Kepstralna analiza

    Kepstralna analiza je metoda koja razdvaja dio zvuka koji sadri osnovnu frekvenciju od ostatka

    spektra. Iako se uglavnom koristi u aplikacijama za obradu govora, moe biti vana i za odreivanje

    notnih zapisa izvedenih na instrumentu kao to je gitara jer e spektar sadravati i osnovnu

    frekvenciju, koja se stvara uzbudom ice, i rezonanciju, koja je filtrirani dio zvuka nastao u tijelu

    instrumenta. Kepstar se moe tehniki definirati kao spektar snage logaritma spektra snage.

    Tipina implementacija kepstralne analize poinje Fourierovom transformacijom iz vremenske u

    frekvencijsku domenu. Zatim se raunaju logaritamske vrijednosti rezultantnih veliina da se signal

    dovede u korisno podruje. Na kraju se izvodi inverzna Fourierova transformacija te se dobiva valni

    oblik koji sadri jedan maksimum na poetku i koji je povezan s rezonancijom zvuka te drugi

    maksimum dublje u valnom obliku, koji predstavlja element zvuka s osnovnom frekvencijom.

    Osnovna frekvencija se odreuje raunajui udaljenost izmeu poetka valnog oblika i mjesta drugog

    maksimuma na vremenskoj osi.

    Kepstralna analiza je u poetku bila zamiljena da radi s monofonim govornim signalima, gdje se

    pokazala vrlo djelotvornom, no 2003. godine Gerhard je otkrio da je ta djelotvornost umanjena kad

  • 10

    se primjeni na glazbene signale pa ova metoda nije nala svoju primjenu u sustavima za obradu

    polifonih signala.

    3.5.2. Spektar harmonijskog produkta

    Ova metoda koristi injenicu da spektar glazbenog tona koji se izvede na instrumentu sadrava

    maksimume na osnovnoj frekvenciji i njenim cjelobrojnim viekratnicima. Metoda spektra

    harmonijskog produkta ukljuuje primjenu Fourierove transformacije za dobivanje spektra koji

    predstavlja frekvencijske komponente unutar zadanog segmenta ulaznog audio signala. Verzije ovog

    spektra se zatim kreiraju na mjestima gdje je signal umanjen dva ili tri puta (ili jo vie). Originalna i

    umanjene verzija spektra se zatim mnoe, a kao rezultat se dobiva novi spektar u kojem je osnovna

    frekvencija note jasno vidljiva. To je zato to e se prvi maksimum u originalnom spektru (maksimum

    na osnovnoj frekvenciji) poklapati s drugim maksimumom (maksimumom drugog harmonika) dvaput

    umanjenog spektra, koji e se pak poklapati s treim maksimumom (treeg harmonika) triput

    umanjenog spektra.

    Slika 3.4. Spektar harmonijskog produkta (Middleton, 2003)

  • 11

    4. Problemi estimacije osnovne frekvencije

    Pri estimaciji osnovne frekvencije akustinih signala mogu se pojaviti mnogi problemi. Fry 1992.

    godine istie da frekvencije efekata tona koji se koriste za pojedine instrumente (npr. distorzija za

    gitaru) mogu utjecati na estimaciju konane frekvencije note. Da bi se izvela tona estimacija

    osnovne frekvencije, potrebno je ekati da se efekti tona smire, to je oito vrlo teko u situacijama

    kad se note izvode u bliskim vremenskim razmacima. Roads tvrdi da efektima tona nekih

    instrumenata treba oko 100 ms da se smire.

    Daljnji problem uoio je Klapuri 2003. godine. On je ustvrdio da kada nota nastane iz neidealnih

    realnih fizikih vibratora, kao to su ice gitare, harmonijski dijelovi nota nisu u preciznim

    cjelobrojnim omjerima. Ovaj problem utjee na mnoge detektore osnovne frekvencije koji rade u

    frekvencijskoj domeni jer je njihov rad zasnovan na teoriji da su harmonijski dijelovi nota cjelobrojni

    viekratnici osnovne frekvencije. Slijedei ovu teoriju, algoritmi potvruju ili negiraju maksimum

    spektra kao osnovnu frekvenciju gledajui pozicije u spektru koje odgovaraju viekratnicima

    potencijalne osnovne frekvencije pa ako maksimum postoji na tim lokacijama, podupiru hipotezu da

    je originalni maksimum na osnovnoj frekvenciji. Meutim, ako harmonijski dijelovi postoje, ali nisu

    viekratnici osnovne frekvencije, tono odreivanje osnovne frekvencije postaje kompliciranije. Ovaj

    problem se dodatno poveava kod polifone detekcije osnovne frekvencije, gdje algoritam ne samo da

    mora nai maksimume na aproksimativnim lokacijama, ve i odrediti jesu li ti maksimumi

    harmonijska tonska prekoraenja, osnovne frekvencije ili pak um.

    Postoje situacije u kojima je potrebno da detektori osnovne frekvencije signala rade u stvarnom

    vremenu; primjer toga je glazbena izvedba u kojoj je potrebna suradnja na relaciji ovjek-raunalo,

    gdje raunalo uje glazbenika i daje mu prikladan odgovor. U tim situacijama detektori osnovne

    frekvencije susreu se s poveanim potekoama, budui da moraju izvoditi obradu to je bre

    mogue. To ini na poetku navedeni problem efekata tona jo veim, a Roads dodatno istie da

    veina detektora osnovne frekvencije koji rade u vremenskoj domeni mora uhvatiti najmanje tri

    ciklusa stabilnog valnog oblika prije nego moe zapoeti detekciju. Za ilustraciju, najnii ton gitare E2

    ima frekvenciju 82,4 Hz pa je za hvatanje njegova tri ciklusa potrebno 36 ms. Problem kanjenja ne

    rjeava se koritenjem detektora osnovne frekvencije koji rade u frekvencijskoj domeni, jer je tijekom

    postupka Fourierove transformacije veliina vremenskog otvora uvelike ovisna o niskim

    frekvencijama prisutnim u audio signalu i rezoluciji prema kojoj bi se osnovne frekvencije trebale

    prepoznavati; taj proces unosi kanjenje.

  • 12

    5. O programu

    Program se temelji na kombinaciji dviju metoda za prepoznavanje visine tona. Jedna metoda je

    frekvencijska i koristi Fourierovu transformaciju, a druga vremenska te koristi autokorelacijsku

    funkciju. Prva ideja programa je bila i najjednostavnija, te se sastojala od rastavljanja signala na N

    dijelova ovisno o veliini vremenskog otvora. Na svaki izdvojeni dio se primjeni FFT (engl. Fast Fourier

    Transform), te se na temelju najvee spektralne komponente oita frekvencija. Testiranjem ovog

    algoritma pojavili su se neki problemi. Na slici 5.1. je prikazan spektar jednog tona odsviranog na

    gitari. Vidljivo je da u ovom sluaju najvea spektralna komponenta nije ta koju traimo. Naime, u

    ovom sluaju je harmonik jai od osnovne frekvencije, to bi dalo krivi izlaz.

    Slika 5.1. Rastavljanje signala na N dijelova ovisno o veliini vremenskog otvora

    Sljedei problem je bio preciznost Fourierove transformacije. Budui da se frekvencije susjednih nota

    pogotovo na niim frekvencijama malo razlikuju u frekvenciji, potreban je vrlo precizan spektar. Na

    tablici 1 je vidljivo da su razlike izmeu susjednih nota svega par Hz, primjerice od C1 do C#

    1/Db

    1 je

    1,95 Hz. Pozitivno je da se srednje i vie frekvencije ee pojavljuju od niih, a to su vie frekvencije,

    razlike izmeu susjednoh nota su vee. To znai da za dobar rad algoritma odstupanje spektra moe

    biti maksimalno 0,97 Hz. Za precizniji spektar je potrebno vie uzoraka, te je stoga oteano

    prepoznavanje vremenski bliskih tonova. Eksperimentalno je pokazano da su rezultati zadovoljavajui

    za 6000 uzoraka po okviru (dodatno prije transformacije se signal proiruje sa 3000 nula sa svake

    strane). Uz problem vremenski bliskih tonova se javlja i problem specifian za gitaru, te jo neke

    instrumente. Nakon to se odsvira ton, (u sluaju gitare kad se trzne ica) u relativno kratkom

    vremenskom razdoblju je nemogue oitati dobar spektar zbog prisutnosti jakog uma odnosno zbog

  • 13

    nagle promjene amplitude signala (tzv. attack). Taj problem vie dolazi do izraaja kod brzog sviranja

    (vremenski vrlo bliskih tonova).

    Tablica 5.1. Prikaz nota po frekvencijama

    Nota Frekvencija (Hz) Nota Frekvencija (Hz) C1 32.70 F#1/Gb1 46.25

    C#1/Db1 34.65 G1 49.00

    D1 36.71 G#1/Ab1 51.91

    D#1/Eb1 38.89 A1 55.00

    E1 41.20 A#1/Bb1 58.27

    F1 43.65 B1 61.74

    F#1/Gb1 46.25 C2 65.41

    Budui da je zahtijev programa i generiranje MIDI datoteke, potrebna je i informacija o vremenu kad

    se koja nota oekuje. Gornja metoda ne omoguuje dobivanje te informacije, te je trebalo prilagoditi

    algoritam. Odlueno je izbjei analiziranje cijelog signala u frekvencijskoj domeni i umjesto toga

    pratiti pojavljivanje novih nota te analizirati samo uzorke nakon pojavljivanja. To je ostvareno

    pomou sljedeeg algoritma (funkcija notetimes.m).

    Signal je podijeljen na N dijelova veliine okvira 1000. Svaki okvir je podijeljen na 2 dijela po 500

    uzoraka, te se u svakom dijelu od 500 uzoraka trai maksimum. Ako maksimumi zadovoljavaju

    odreene uvjete (drugi maksimum je vei od prvog, prvi maksimum je manji od prethodno odreene

    vrijednosti, a drugi vei), uzima se kao poetak nove note. Na slici 5.2. je ilustriran gornje opisani

    proces, te je oznaen poetak jedne note naen algoritmom. Na slici 5.3. je prikazan rad algoritma na

    testnom primjeru (sa crvenim tokama su oznaeni poetci nota naeni algoritmom).

    Slika 5.2. Maksimumi signala podijeljenog u uzorke

  • 14

    Slika 5.3. Ilustracija rada algoritma

    Nakon to su naeni svi uzorci koji predstavljaju poetke nota, od svakog se uzima sljedeih 6000

    uzoraka, te se na njih primjenjuje FFT (sa dodatkom 3000 nula sa lijeve i desne strane), te se rauna

    autokorelacijska funkcija. Na temelju spektra i autokorelacijske funkcije se raunaju dominantne

    frekvencije, te se spremaju u nizove.

    Frekvencije se pretvaraju u note u funkciji nadinotu.m. Funkcija, kao i cijeli program pretpostavlja da

    su instrumenti koriteni u snimci podeeni prema meunarodnom standardu (ton A je 440,00 Hz).

    Prema tom standardu su poznate frekvencije svih tonova, koje su zapisane u jednoj varijabli. U

    funkcija vraa ton ija je frekvencija najblia ulaznoj frekvenciji.

    5.1. Generiranje MIDI datoteke

    Program kao izlaz generira dvije MIDI datoteke (jedna za autokorelacijsku metodu, druga za

    frekvencijsku metodu) koje slue kao provjera rada programa. Kd za generiranje MIDI datoteka je

    preuzet sa internet stranice http://www.kenschutte.com/midi.

    Za generiranje jedne datoteke su potrebni podatci o tonovima, te o vremenima kad se koji ton

    pojavljuje, te kad zavrava. Podaci o tonovima su spremljeni u niz sa brojevima, s tim da ton C4

    (middle C) ima redni broj 60 (zatim Db4 = 61, D4 = 62 itd.). Podaci o vremenima pojavljivanja tonova

    se raunaju iz rednih brojeva uzoraka koje vraa funkcija notetimes.m i frekvencije otipkavanja

    signala fs prema formuli 5.1.

    !" = # %&! #! (5.1. )

    vzapis(i) = notestarts(i)/fs; % Vremenski zapis

    U programu je zadano trajanje svakog tona na 0,5 sekundi.

  • 15

    5.2. Vane funkcije

    Funkcija notetimes.m (algoritam za traenje poetaka tonova)

    function [ notetimes ] = notetimes( y )

    okvir = 1000; % veliina okvira N = max(size(y)); % duljina signala i = 1; br = 1; threshold = 0.05; % rubna vrijednost notetimes(1) = 0;

    while (((i+1) * okvir) < N) sample1 = y((i-1)*okvir+1:(i*okvir)); % ekstrakcija prvog okvira sample2 = y(i*okvir+1:((i+1)*okvir)); % ekstrakcija drugog okvira

    [max1, ind1] = max(abs(sample1)); % prvi maksimum [max2, ind2] = max(abs(sample2)); % drugi maksimum

    if ((max2 > max1) && (max1 < threshold) && (max2 > threshold)) notetimes(br) = (i)*okvir + 1 + ind2; val1(br) = max2; br = br + 1; end i = i +1; end

    t = (1:N); plot(abs(y)); % grafiki prikaz rezultata algoritma hold on plot(t(notetimes+1),val1,'r*');

    Funkcija nadinotu.m (prepoznavanje frekvencije)

    function [ nota, k ] = Untitled1( freq ) % Funkcija za prepoznavanje frekvencije % % Funkcija kao ulazni parametar prima frekvenciju, a vraa redni broj tona % i broj tona koji slui za generiranje MIDI datoteke.

    frekvencije = [ % Vrijednosti frekvencija 65.41; 69.30; 73.42; 77.78; 82.41; 87.31; 92.50; 98.00; 103.83; 110.00; 116.54; 123.47; 130.81; 138.59; 146.83; 155.56; 164.81;

  • 16

    174.61; 185.00; 196.00; 207.65; 220.00; 233.08; 246.94; 261.63; 277.18; 293.66; 311.13; 329.63; 349.23; 369.99; 392.00; 415.30; 440.00; 466.16; 493.88; 523.25; 554.37; 587.33; 622.25; 659.26; 698.46; 739.99; 783.99; 830.61; 880.00; 932.33; 987.77; 1046.50; 1108.73; 1174.66; 1244.51; 1318.51; 1396.91; 1479.98; 1567.98; 1661.22; 1760.00; 1864.66; 1975.53; 2093.00; 2217.46; 2349.32; 2489.02; 2637.02; 2793.83; 2959.96; 3135.96; 3322.44; 3520.00; 3729.31; 3951.07; 4186.01; 4434.92; 4698.64; 4978.03]; nota = 'IS';

  • 17

    mat = [1:12]; note = [mat';mat';mat';mat';mat';mat';mat'];

    N = size(note)-8; nota = 13; if (freqfrekvencije(76)) % sluaj kad je frekvencija prevelika nota = 0; k = 0; return end

    k = 0;

    % Traenje najblie frekvencije i pripadne vrijednosti za generiranje MIDI % zapisa.

    for i=1:N if (freq < frekvencije(i)) if (abs(freq-frekvencije(i-1))

  • 18

    6. Rezultati

    U svrhu testiranja programa te usporeivanja metoda napravljena su tri audio zapisa, jednostavne

    melodije odsvirane na elektrinoj gitari. Prvi primjer je najjednostavniji, odsvirana je ljestvica, te traje

    tri sekunde. Sljedea dva primjera su glavne melodije pjesme ''My Favourite Things'' Richarda

    Rodgersa, te pjesme ''Footsteps'' Waynea Shortera.

    Na prvom, najjednostavnijem testnom primjeru oba algoritma imaju savren rezultat prepoznavanja

    tonova, te algoritam za traenje poetka tona takoer savreno radi. Na drugom primjeru, od 41

    pronaenog tona frekvencijska metoda ima 6 promaaja (algoritam je promaio za pola tona ili ton),

    a autokorelacijska 2 promaaja, oba za isti ton (algoritam je registrirao tonove kao oktavu nie nego

    to jesu). Algoritam za pronalaenje poetaka je propustio nai 3 poetka. Na treem primjeru je

    najvie zakazao algoritam za pronalaenje poetaka, propustio je registrirati 6 tonova. Frekvencijska

    metoda je ponovno imala par promaaja za pol tona, dok se autokorelacijska metoda pokazala

    najbolja, te je imala jedan promaaj, za oktavu.

    7. Zakljuak

    U radu su opisane osnovne metode za estimaciju visine tona, te su dvije od tih metoda, osnovna

    frekvencijska te autokorelacijska, programski izvedene. Ukazano je na prednosti i nedostatke svakog

    algoritma, te na probleme automatske transkripcije.

    Za monofone zapise se boljom pokazala autokorelacijska metoda, budui da je davala manje greaka

    od frekvencijske. Glavni problemi frekvencijske metode lee u rezoluciji spektra, koja se moe

    poboljati iskljuivo poveanjem broja uzoraka za analizu, to znai veu mogunost pogreke kod

    bliskih tonova. S druge strane, autokorelacijska metoda je dala skoro savren rezultat sa istim brojem

    uzoraka kao i frekvencijska. Najvea mogunost napretka se vidi u optimizaciji funkcije za traenje

    poetaka tonova, te u primjeni jednog od opisanih algoritama za poboljanje implementiranih

    metoda.

    Univerzalni sustav za automatsku transkripciju glazbenog zapisa je i dalje samo elja mnogih

    glazbenika i uenika glazbe. Takoer, vrlo je dobar za primjer problem koji istrenirani mozak rjeava

    ekstremno bolje nego bilo koje raunalo. No, ve sada postoje sustavi specijalizirani za pojedine

    instrumente, koji funkcioniraju u realnom vremenu, primjerice Rolandov GR-20, sustav za instantno

    generiranje MIDI toka podataka preko gitare. Napredak se, kao i uvijek oekuje ne samo iz podruja

    raunarske znanosti, ve i iz podruja koja prouavaju ljudski mozak, te percepciju.

  • 19

    8. Literatura

    [1] DODDS, C: Toward the Automatic Transcription of Electric Guitar Signals, 2007 [2] SCHUTTE, K. U: Matlab and MIDI, s interneta, 2010. [3] ISIKHAN, C; OZCAN, G: A Survey of Melody Extraction Techniques for Music

    Information Retrieval, 2008. [4] BOERSMA, P.:Accurate short-term analysis of the fundamental frequency and the

    harmonics-to-noise ratio of a sampled sound, 1997. [5] http://hr.wikipedia.org/wiki/Glazba [6] http://en.wikipedia.org/wiki/Pitch_detection