Avtomatsko prilagajanje tempa spremljave solistu

Similar documents
Modelska Analiza 1. University of Ljubljana Faculty of Mathematics and Physics. 3. naloga - Numeri na minimizacija

Reševanje problemov in algoritmi

Naloge iz LA T EXa : 3. del

Particija grafa, odkrivanje skupnosti in maksimalen prerez

TOPLJENEC ASOCIIRA LE V VODNI FAZI

DOMINACIJSKO TEVILO GRAFA

Izbrana poglavja iz velikih omreºij 1. Zbornik seminarskih nalog iz velikih omreºij

Obrnitev kvantne meritve

ENERGY AND MASS SPECTROSCOPY OF IONS AND NEUTRALS IN COLD PLASMA

Nelinearna regresija. SetOptions Plot, ImageSize 6 72, Frame True, GridLinesStyle Directive Gray, Dashed, Method "GridLinesInFront" True,

Interpretacija kvantne mehanike z vzporednimi svetovi

Inteligentni agent z omejenimi viri v dinami ni ra unalni²ki igri

Attempt to prepare seasonal weather outlook for Slovenia

Izbrana poglavja iz algebrai ne teorije grafov. Zbornik seminarskih nalog iz algebrai ne teorije grafov

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

Iskanje najcenejše poti v grafih preko polkolobarjev

Cveto Trampuž PRIMERJAVA ANALIZE VEČRAZSEŽNIH TABEL Z RAZLIČNIMI MODELI REGRESIJSKE ANALIZE DIHOTOMNIH SPREMENLJIVK

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. O neeksaknotsti eksaktnega binomskega intervala zaupanja

AKSIOMATSKA KONSTRUKCIJA NARAVNIH

Problem umetnostne galerije

NIKJER-NIČELNI PRETOKI

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO.

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Verjetnostni algoritmi za testiranje praštevilskosti

Teorija naklju nih matrik

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA POLONA ŠENKINC REŠEVANJE LINEARNIH DIFERENCIALNIH ENAČB DRUGEGA REDA S POMOČJO POTENČNIH VRST DIPLOMSKO DELO

SLIKE CANTORJEVE PAHLJAµCE

Linearna regresija. Poglavje 4

Statistika 2 z računalniško analizo podatkov. Neizpolnjevanje predpostavk regresijskega modela

JEDRSKA URA JAN JURKOVIČ. Fakulteta za matematiko in fiziko Univerza v Ljubljani

Verifikacija napovedi padavin

Multipla korelacija in regresija. Multipla regresija, multipla korelacija, statistično zaključevanje o multiplem R

OA07 ANNEX 4: SCOPE OF ACCREDITATION IN CALIBRATION

USING SIMULATED SPECTRA TO TEST THE EFFICIENCY OF SPECTRAL PROCESSING SOFTWARE IN REDUCING THE NOISE IN AUGER ELECTRON SPECTRA

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

OFF-LINE NALOGA NAJKRAJŠI SKUPNI NADNIZ

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Ekstremne porazdelitve za odvisne spremenljivke

Univerza v Ljubljani Fakulteta za matematiko in fiziko. Oddelek za fiziko. Seminar - 3. letnik, I. stopnja. Kvantni računalniki. Avtor: Tomaž Čegovnik

Hadamardove matrike in misija Mariner 9

Optimizacija razporeditve preizkušanja in vzdrževanja varnostne opreme na podlagi najmanjšega tveganja

Hipohamiltonovi grafi

Izvedbe hitrega urejanja za CPE in GPE

Izmenični signali moč (17)

Eulerjevi in Hamiltonovi grafi

Simulacija premikanja gra nega kazalca z zami²ljanjem motori nih aktivnosti

Avtomatska transkripcija zvočnih posnetkov tolkal

VMESNIK ZA KRMILJENJE NAPRAV S KRETNJAMI ROKE

Dejan Petelin. Sprotno učenje modelov na podlagi Gaussovih procesov

IZPELJANKE ALGORITMA LZW

Analiza variance in linearna regresija

DELOVANJA GRUP IN BLOKI NEPRIMITIVNOSTI

Solutions. Name and surname: Instructions

Acta Chim. Slov. 2000, 47, Macroion-macroion correlations in the presence of divalent counterions. Effects of a simple electrolyte B. Hrib

OPTIƒNA KOHERENƒNA TOMOGRAFIJA

ENAČBA STANJA VODE IN VODNE PARE

Linear Dynamical Systems (Kalman filter)

Hidden Markov Models. Dr. Naomi Harte

Napovedovanje lastni stva podjetij na osnovi analize omre zij dru zbenikov

modeli regresijske analize nominalnih spremenljivk

POGLAVJE IV: Klasični in kvantni Monte-Carlo

A L A BA M A L A W R E V IE W

ASSESSMENT OF THE IMPACT-ECHO METHOD FOR MONITORING THE LONG-STANDING FROST RESISTANCE OF CERAMIC TILES

POLDIREKTNI PRODUKT GRUP

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

matematika + biologija = sistemska biologija? Prof. Dr. Kristina Gruden Prof. Dr. Aleš Belič Doc. DDr. Jure Ačimovič

OPTIMIZACIJA Z ROJEM DELCEV

1 Luna kot uniformni disk

Samo-nastavljivo vodenje z DMC-jem in proporcionalnim regulatorjem

NUMERICAL SIMULATION OF THE PROGRESSIVE DAMAGE TO FRC PANELS DUE TO SHOCK LOADING

Minimizacija učne množice pri učenju odločitvenih dreves

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SAŠO ZUPANEC MAX-PLUS ALGEBRA DIPLOMSKO DELO

Metode rangiranja spletnih strani

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo MAGISTRSKA NALOGA. Tina Lešnik

UNIVERZA V MARIBORU FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO. Oddelek za matematiko in računalništvo DIPLOMSKO DELO. Gregor Ambrož

Računalnik iz domin. Škafar, Maja Šafarič, Nina Sangawa Hmeljak Mentor: Vid Kocijan

MECHANICAL EFFICIENCY, WORK AND HEAT OUTPUT IN RUNNING UPHILL OR DOWNHILL

Introduction of Branching Degrees of Octane Isomers

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA DIPLOMSKO DELO MAJA OSTERMAN

Uporaba preglednic za obdelavo podatkov

MODEL OCENJEVANJA USPE NOSTI

Domen Perc. Implementacija in eksperimentalna analiza tehnike razvrščanja podatkov s konsenzom

Statistical NLP: Hidden Markov Models. Updated 12/15

Makroekonomija 1: 4. vaje. Igor Feketija

Bayesove verjetnostne mreže

Katastrofalno zaporedje okvar v medsebojno odvisnih omrežjih

Grafični gradnik za merjenje kvalitete klasifikatorja s pomočjo krivulj

Iterativne metode podprostorov 2010/2011 Domače naloge

Tritij kot jedrsko gorivo

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

A Higher-Order Interactive Hidden Markov Model and Its Applications Wai-Ki Ching Department of Mathematics The University of Hong Kong

Univerza na Primorskem. Fakulteta za matematiko, naravoslovje in informacijske tehnologije. Zaznavanje gibov. Zaključna naloga

SVM = Support Vector Machine = Metoda podpornih vektorjev

GEOMETRIJSKE FAZE V KVANTNI MEHANIKI

APLIKACIJA ZA DELO Z GRAFI

Machine Learning for natural language processing

Primerjava metod aproksimativnega sklepanja pri izolaciji napak - simulacijska študija

UNIVERZA V LJUBLJANI FAKULTETA ZA MATEMATIKO IN FIZIKO ODDELEK - FIZIKA. Matej Posinković KVANTNI RAČUNALNIKI SEMINAR. Mentor: prof.

Brezºi ne opti ne tehnologije za ²irokopasovne povezave

Verodostojnost in kvaliteta spletno dostopnih informacij

Univerza na Primorskem FAMNIT, MFI STATISTIKA 2 Seminarska naloga

Merjenje sil z opti no pinceto

Transcription:

Univerza v Ljubljani Fakulteta za ra unalni²tvo in informatiko Andrej Oder Avtomatsko prilagajanje tempa spremljave solistu DIPLOMSKO DELO NA INTERDISCIPLINARNEM UNIVERZITETNEM TUDIJU Ljubljana, 2013

Univerza v Ljubljani Fakulteta za ra unalni²tvo in informatiko Andrej Oder Avtomatsko prilagajanje tempa spremljave solistu DIPLOMSKO DELO NA INTERDISCIPLINARNEM UNIVERZITETNEM TUDIJU Mentor: doc. dr. Matija Marolt Ljubljana, 2013

Rezultati diplomskega dela so intelektualna lastnina avtorja in Fakultete za ra unalni²tvo in informatiko Univerze v Ljubljani. Za objavljanje ali izkori² anje rezultatov diplomskega dela je potrebno pisno soglasje avtorja, Fakultete za ra unalni²tvo in informatiko ter mentorja. Besedilo je oblikovano z urejevalnikom besedil L A TEX.

Izjava o avtorstvu diplomskega dela Spodaj podpisani Andrej Oder, z vpisno ²tevilko 63070101, sem avtor diplomskega dela z naslovom: Avtomatsko prilagajanje tempa spremljave solistu S svojim podpisom zagotavljam, da: sem diplomsko delo izdelal samostojno pod mentorstvom doc. dr. Matija Marolt, so elektronska oblika diplomskega dela, naslov (slov., angl.), povzetek (slov., angl.) ter klju ne besede (slov., angl.) identi ni s tiskano obliko diplomskega dela sogla²am z javno objavo elektronske oblike diplomskega dela v zbirki Dela FRI. V Ljubljani, dne: 19. september 2013 Podpis avtorja:

Hvala druºini in prijateljem za podporo. Hvala mentorju Matiji za konstruktivno pomo pri diplomi.

Kazalo Povzetek Abstract 1 Uvod 1 2 Opis metod 3 2.1 Markovska veriga.......................... 3 2.2 Skriti Markovski model....................... 5 3 Opis delovanja 7 3.1 Opredelitev problema........................ 7 3.2 Opaºanja.............................. 7 3.3 Struktura verige........................... 8 3.4 Verjetnostne porazdelitve...................... 10 3.5 Dekodiranje............................. 13 3.6 Spremljava.............................. 16 3.7 Nastavitev parametrov....................... 19 3.8 Opis programa........................... 20 4 Analiza in izbolj²ave 21 4.1 Analiza............................... 21 4.2 Izbolj²ave.............................. 24 4.3 Zaklju ek.............................. 26

Povzetek V diplomski nalogi je predstavljen ra unalni²ki program, s katerim lahko aktivno zvo no spremljamo pevca. V tem primeru bi ra unalnik nadomestil razli ne in²trumente, kar bi solistu omogo ilo petje brez prisotnosti in²turementalistov. Diplomska naloga ima dva cilja. Prvi je ugotoviti, kje v notnem zapisu se pevec med izvajanjem nahaja, in drugi izvesti spremljavo, ki se po notnem zapisu ujema s solistom. Do rezultatov smo pri²li s pomo jo skritega Markovksega modela, analize signala, algoritma za iskanje najbolj verjetnega stanja v verigi in mehanizmov za uspe²no zvo no spremljavo. S testiranjem programa smo dosegli oba zastavljena cilja naloge, saj je implementiran program uspe²no dolo al pozicijo pevca, prav tako pa je bila uspe²no izvedena tudi aktivna spremljava, ki se je po notnem zapisala ujemala s solistom. Klju ne besede: aktivna zvo na spremljava, skriti Markovski model, procesiranje signala

Abstract This thesis presents a computer programme which allows users to provide vocalists with active musical accompaniment. In this case, the computer would stand in for various instruments, which would allow the soloist to sing without being accompanied by instrumentalists. The thesis has two goals. The rst goal is to discover at which point in a given piece the singer is located, and the second goal is to create and play an accompanying musical score which will match the soloist's piece. Results were obtained by using a hidden Markov model, analysing the signal, an algorithm used to search for the most probable state in the chain and mechanisms for ensuring a successful musical accompaniment. By testing this programme both goals were reached, since the programme was able to successfully determine the position of the singer, as well as successfully providing an active accompaniment, the score of which matched the score of the singer. Key words: processing active musical accompaniment, hidden Markov model, signal

Poglavje 1 Uvod Glasba je urejeno in oblikovano zaporedje tonov, zvenov in ²umov. Po nekaterih denicijah se od nekega naklju nega zaporedja not lo i po svoji premi²ljenosti: note so ritmi no razporejene in urejene v melodijo, ki je podprta s harmonijami. Zato v glasbi obstaja potreba po uskladitvi vsake posamezne komponente. Pred zborom in orkestrom stoji dirigent, ki kaºe tempo skladbe, da se lahko glasbeniki uskladijo in tako glasba doseºe ºeljen u inek. Pevec in pianist se na odru sporazumevata z razli nimi gestami, ki jih nekateri niti ne opazijo, in se vsem zdijo kot del skladbe, oziroma interpretacije. Cilj naloge je nadomestiti pianista, oziroma spremljavo solista z ra unalnikom. Najlaºji na in za uskladitev ra unalnika s solistom bi bil, da bi ra unalnik predvajal spremljavo kot zvo no podlago, solist pa bi imel odgovornost, da med petjem sledi zvo ni podlagi. V nadaljevanju bo predstaljeno, kako lahko doseºemo bolj realno spremljavo, kar pomeni, da je ra unalnik tisti, ki skrbi za uskladitev pevca, in ne obratno. Predpostavimo lahko, da poznamo notni zapis spremljave in solista. Program je sestavljen iz treh delov. V prvem delu glede na podan notni zapis solista zgradimo Markovsko verigo, ki nekako najbolj intuitivno predstavi notni zapis. Prav tako notni zapis spremljave pretvorimo v ustrezno obliko, s katero lahko kasneje uspe²no sledimo pevcu. Drugi del programa se nana²a na prepoznavanje pozicije pevca v notnem zapisu. S pomo jo osnovne frekvence 1

2 POGLAVJE 1. UVOD in energije signala, ki ga zajamemo s pomo jo mikrofona, lahko izra unamo najbolj verjetno noto v notnem zapisu. V tretjem delu pa glede na najbolj verjetno noto, ki smo jo izra unali v drugem delu, predvajamo spremljavo. Podobno stukturo programa je razvil C. Raphael v [7]. Primer dobrega delovanja njegovega programa lahko najdemo na [8]. Prav tako lahko podobno strukturo z Markovskimi verigami najdemo v [6], kjer je uporabljena nekoliko druga na struktura Markovske verige, in kjer je za najbolj verjetno pot v Markovski verigi uporabljen modicarn algoritem Viterbi.

Poglavje 2 Opis metod Skriti Markovski model (HMM) je statisti ni Markovski model, pri katerem predpostavimo, da je modeliran sistem Markovska veriga s skritimi stanji. Razvil ga je L. E. Baum s sodelavci [1] in zaradi prakti nosti je model postal priljubljen v razli nih sistemih za prepoznavanje govora, prepoznavanje pisave [3], notne spremljave, itd. Za dobro razumevanje HMM-a najprej poglejmo delovanje Markovske verige, ki je osnova za ta model. 2.1 Markovska veriga Markovska veriga je stohasti en proces, pri katerem je prehajanje med kon- nim ²tevilom stanj dolo eno z verjetnostmi. Bistvena lastnost verige je, da je prehajanje iz nekega stanja v naslednjega odvisno samo od trenutnega stanja in ne od stanj iz prej²njih korakov. Predstavljajmo si sistem, ki se v vsakem asovnem koraku nahaja v enem izmed kon nih stanj iz mnoºice N razli nih stanj S 1,..., S N. Pri vsaki spremembi se stanje asovnega koraka sistema spremeni glede na ustrezne verjetnosti prehodov med stanji. ƒe ozna imo s t = 1, 2,... spremenljivko asa in trenutno stanje v asu t s q t, potem velja lastnost: P (q t = S j q t 1 = S i, q t 2 = S k,... q 0 = S l ) = P (q t = S j q t 1 = S i ), 3

4 POGLAVJE 2. OPIS METOD torej je verjetnost za prehod v stanje v naslednjem koraku odvisno samo od prej²njega stanja. Verjetnost prehoda iz stanja i v stanje j v nekem koraku ozna imo z a ij. Za te koeciente morata veljati naslednji pravili: a ij 0 ter N a ij = 1, za vse 1 i, j N. j=1 Prav tako moramo za vsako stanje denirati verjetnost za etnega stanja, oziroma verjetnosti stanja v prvem koraku imenovanega π i, ki ima enake lastnosti: π i 0 ter N π i = 1, za vse 1 i N. j=1 Verjetnosti a ij lahko zapi²emo v prehodno matriko A velikosti N N. Prav tako lahko vrednosti π i zapi²emo v vektor π velikosti N. Slika 2.1: Stanja in verjetnosti prehodov Markovskega modela vremena [4] Na sliki 2.1 imamo podan primer Markovskega modela vremena. Ozna imo stanja modela s S 1 = son no, S 2 = obla no in S 3 = deºevno. Prehodna matrika tega modela je torej: 0.8 0.15 0.05 A = 0.2 0.5 0.3 0.2 0.2 0.6

2.2. SKRITI MARKOVSKI MODEL 5 Predpostavimo, da je danes vreme son no in nas zanima, kak²na je verjetnost, da bo jutri prav tako son no in dan za tem deºevno vreme. Torej je: p(q 3 = S 3, q 2 = S 2 q 1 = S 1 ) = p(q 3 = S 3 q 2 = S 2, q 1 = S 1 )p(q 2 = S 2 q 1 = S 1 ) = p(q 3 = S 3 q 2 = S 2 )p(q 2 = S 2 q 1 = S 1 ) = 0.05 0.8 = 0.04 Drugo vpra²anje, ki bi si ga lahko zastavili je, kak²no stanje vremena je v asu t najbolj verjetno glede na verjetnost za etnega stanja? Preprosto lahko dokaºemo, da velja rekurzivna ena ba: π(t) = π(t 1)A T, kjer je vektor π(0) za etna porazdelitev in vektor π(t) verjetnost stanj v asu t. 2.2 Skriti Markovski model Glavna razlika med Markovskimi verigami in HMM je, da so stanja pri skritem Markovskem modelu skrita. Stanja pri HMM opazujemo preko druge spremenljivke, ki indicira skrito stanje. Vzemimo kot primer modikacijo Markovega modela vremena s primerom zapornika. Jetnik je zaprt v sobi brez oken in ga zanima, kak²no je vreme. Ve kak²na je verjetnost, da je vreme son no, obla no in deºevno. Prav tako pozna verjetnosti sprememb vremena. Vsak dan jetniku prinese hrano paznik, ki z neko verjetnostjo glede na vreme prinese s seboj deºnik. Edini na in, kako lahko jetnik predpostavi, kak²no vreme je zunaj, je z opazovanjem. HMM je torej dolo en z naslednjimi petimi parametri: 1. kon na mnoºica stanj S = {S 1, S 2,..., S N }, 2. prehodna matrika A = {a ij },

6 POGLAVJE 2. OPIS METOD 3. za etna porazdelitev stanj π = {π i }, 4. mnoºica moºnih opaºanj V velikosti M. V na²em primeru je mnoºica V = {V 1 = deºnik, V 2 = ni deºnika}, 5. pogojne verjetnosti B = {b j (k)} za vsak element mnoºice opaºanj: b j (k) = P (V k v asu t q t = S j ) 1 j N, 1 k M, kar predstavlja verjetnost opaºanja pri danem stanju. Sedaj lahko deniramo tri osnovne probleme povezane s HMM: 1. Kako u inkovito izra unamo P (O λ), e imamo podano zaporedje opa- ºanj O = (o 1, o 2,..., o T ) in model λ = (A, B, π)? 2. Kako izberemo parametre za λ, da bomo maksimizirali P (O λ)? 3. Kako izra unamo optimalno zaporedje stanj q = (q 1, q 2,..., q T ), e imamo podano O in model λ? Problem 1. lahko u inkovito re²imo s Forward-Backward algoritmom. S pomo jo algoritma Baum-Welch lahko u inkovito re²imo problem 2. Za re²evanje problema 3. pa lahko uporabimo Viterbi algoritem. Delovanje algoritmov je opisano v [5].

Poglavje 3 Opis delovanja 3.1 Opredelitev problema Cilj naloge je razviti program, s katerim poizku²amo nadomestiti pianista z ra unalnikom. Glavni namen programa je poenostaviti vadbo solista, saj lahko le tako doseºe visoko stopnjo kvalitete. Zaenkrat si ne predstaljamo, da bi na koncertu lahko z ra unalnikom v celoti nadomestili pianista oziroma spremljavo, zato je glavni namen programa vadba solista. Solist lahko s tak²no vadbo dobi ob utek pribliºne celote neke skladbe. Tako kot pianist tudi ra unalnik pozna note, ki jih mora zaigrati in prav tako pozna note, ki jih bo pevec zapel. Pomembno je, da ra unalnik spremlja pevca, in ne obratno. Spremljeva naj ne bi nikoli prehitevala solista, saj s tem povzro amo dodaten pritisk na solista, ker bi se moral v tem primeru osredoto iti tudi na spremljavo in ji slediti, kar bi bilo v nasprotju s prej omnjeno predpostavko. 3.2 Opaºanja S pomo jo mikrofona zajamemo zvo ni signal, ki ga obdelamo, in iz njega dobimo neka opaºanja, ki so med seboj neodvisna. Opaºanja so v na²em primeru sestavljena iz dveh parametrov. 7

8 POGLAVJE 3. OPIS DELOVANJA Prvi parameter je osnovna frekvenca tona. Za dolo anje osnovne frekvence tona je bila uporabljena knjiºnica, ki implementira Yin pitch detector, ki je podrobno opisan v [2]. Velikost okna je bila 1024 s prekrivanjem 238 vzorcev. To pomeni, da smo v vsaki sekundi izra unali okoli 180 frekvenc. V na²em primeru je bil uporabljen mikrofon z vzor enjem 44100 Hz. Drugi parameter je energija signala, s pomo jo katere lahko ugotovimo, ali je zvok prisoten ali ne. Izra unamo jo lahko po formuli: E(s(n)) = n s(i) 2, i=1 kjer je s(n) na² vzorec signala dolºine 238. ƒe je E(s(n)) τ pomeni, da na mikrofon ne pada zvok. ƒe znamo izra unati frekvenco signala, potem je pri smiselno izbranem τ E(s(n)) > τ, kar pomeni, da na mikrofon prihaja zvo no valovanje. Vseeno pa lahko zaznavamo prisotnost zvoka, eprav ne moremo izra unati frekvence signala. Tak²en primer so si niki in ²umniki. Seveda bi bilo mogo e uporabiti drug na in za dolo anje razlike med ti²ino in prisotnim zvokom, vendar je za trenutne potrebe algoritma to dovolj. 3.3 Struktura verige Notni zapis je sestavljen iz not in pavz, ki imajo predpisano dolºino in predpisano vi²ino. Ponavadi je v notnem zapisu podan tudi tempo, s pomo jo katerega lahko dolo imo trajanje posamezne note. Intuitivno lahko zapis torej preprosto pretvorimo v Markovsko verigo, kjer nam note in pavze predstavljajo stanja, povezava med sosednjima stanjema pa obstaja, e nota (pavza), ki ga opisuje stanje, sledi drugi noti (pavzi). Potrebno je dodati ²e povezavo iz vsakega stanja na isto stanje, saj je lahko pevec v asu t in asu t + 1 v istem stanju. V poglavju 3.2 smo izpostavili tri moºne primere za lo evanje opaºanj: ton ni prisoten,

3.3. STRUKTURA VERIGE 9 ton je prisoten, vendar mu ne znamo dolo iti osnovne frekvence, ton je prisoten in dolo imo mu lahko osnovno frekvenco. ƒe upo²tevamo ²e dejstvo, da lahko imamo v notnem zapisu note razli nih frekvenc, potem so stanja na²ega HMM: {rest, sustain(f 1 ),..., sustain(f I ), attack(f 1 ),..., attack(f I )}. Stanje rest predstavlja pavzo, sustain(f t ) predstavlja zadrºani del note, oziroma tista opaºanja, pri katerih lahko dolo imo frekvenco. Ta mora ustrezati frekvenci f t. Attack(f t ) se nana²a na vse za etke not s frekvenco f t, pri katerih bodisi ²e nimamo znane intonacije vokala, ali pa na tistem mestu pri akujemo konzonante brez intonacije. Stanje sustain(f t ) se od stanja attack(f t ) razlikuje le v tem, da je v stanju attack(f t ) lahko ton s frekvenco 1 prisoten ali pa ne, medtem ko je za stanje sustain(f t ) ton prisoten. Seveda pri obeh sprejmemo le ton s frekvenco f t in ne drugih. Slika 3.1: Veriga note G Na sliki 3.1 je prikazan model note G, ki se nahaja nekje v notnem zapisu. Treba je dolo iti ²e verjetnosti prehodov. V poglavju 3.2 je bila predstavljena pogostost opaºanj na sekundo. Iz notnega zapisa lahko predpostavimo trajanje posamezne note. Vzemimo za primer zgornjo sliko ter predpostavimo, da je predvideno trajanje te note ena sekunda. Torej ºelimo, da izmerimo na tej noti okoli 180 opaºanj. Predpostavimo, da so opaºanja O slu ajne spremenljivke, ki so med seboj neodvisne. Torej velja: Ex[O] = n/p, kjer je Ex[O] pri akovano ²tevilo opaºanj, n ²tevilo sustain(g) stanj za neko noto G in p verjetnost prehoda iz sustain(g) v naslednje stanje. Od pri akovanega ²tevila opaºanj je potrebno od²teti ²e opaºanji za stanji attack(g) ter tako dobimo p = 3 178.

10 POGLAVJE 3. OPIS DELOVANJA Verjetnost prehodov za stanje rest najdemo na podoben na in. Tako lahko celoten noten zapis predstavimo z Markovsko verigo. Na tem mestu je treba izpostaviti tudi razlog za ve je ²tevilo stanj sustain(i) za posamezno noto. V primeru, da si v prihodnosti ºelimo algoritem izbolj²ati tako, da se bo program z vsakim izvajanjem izbolj²eval, bomo potrebovali za neko noto ve stanj. Zgodi se lahko, da bodo parametri za vsa ta stanja nekoliko druga ni. Recimo, da se solist odlo i in neko noto izvede fortepiano eprav to ni ozna eno v notnem zapisu. Fortepiano predstavlja hitro spremembo jakosti zvoka. To pomeni, da bo vrednost energije zvoka na za etku note vi²ja kot na koncu. Iz tega razloga je lahko verjetnostna porazdelitev za prvo stanje sustain note druga na kot za zadnje stanje. To pa pripomore k bolj²emu sistemu za spremljavo. 3.4 Verjetnostne porazdelitve Za HMM je zna ilno, da stanja verige niso direktno vidna. Pri dolo anju vremena, kjer je jetnik zaprt v sobi, ta pozna verjetnosti, da paznik prinese deºnik ali ne v primeru, da je vreme son no, obla no ali deºuje. Zato moramo tudi v na²em algoritmu dolo iti verjetnostne porazdelitve za posamezna stanja. V na²em primeru sta na²i opaºanji intonacija ter energija signala. Energija signala je zvezna funkcija na intervalu ve jem od ni, zato je tudi verjetnostna porazdelitev energije zvezna za vsako moºno stanje. Vemo, da bo verjetnost stanja rest pri nizki vrednosti energije najvi²ja, zato predpostavimo verjetnostno porazdelitev: 1 µ P r (E(s)) = r+θ r e θr E(s) µr, e E(s) > θ r (3.1) 1 µ r+θ r, e 0 E(s) θ r, kjer je E(s) energija signala s, θ r in µ r pa sta povpre na vrednost ter standardna deviacija, ki ju lahko dolo imo na na in opisan v poglavju 3.7. Stanje attack smo dodali z razlogom, da se kar najhitreje premaknemo v na²i verigi naprej, pa eprav ²e ne poznamo frekvence tona. Predpostavimo,

3.4. VERJETNOSTNE PORAZDELITVE 11 da je pri na²em signalu na prvi polovici ti²ina, na drugi polovici pa je prisoten zvok. V tem primeru bo E(s) niºja, kot e bi bila v prvi etrtini ti²ina, nato isti signal ter v zadnji etrtini dodatno nek zvok. S testiranjem smo ugotovili, da je razlika podobna pri konzonantih, ki nimajo intonacije, ter vokalih. Kadar je v signalu vokal, ki mu znamo dolo iti osnovno frekvenco, je E(s) tega signala ve ja. šelimo, da je verjetnost stanja sustain pri visokih vrednostih E(s) visoka, pri srednjih vrednostih pa je najbolj verjetno stanje attack. Verjetnostno porazdelitev za stanje attack zapi²imo kot normalno porazdelitev: 1 e (E(s) µa) 2 σa 2 σ a 2π Verjetnostno porazdelitev za stanje sustain pa deniramo podobno kot za stanje rest: 1 238+θ P s (E(s)) = s µ s e E(s) θs µs, e E(s) < θ s 1 238+θ s µ s, e θ s E(s) 238 (3.2) V zadnjem primeru je uporabljena nara² ajo a eksponentna funkcija omejena s θ s. Zaradi tega in zaradi potrebe po normalizaciji verjetnostne porazdelitve je v tem primeru treba omejiti velikost E(s). Ker vemo, da je velikost okna 238, je torej maksimalna vrednost E(s) najve toliko. Tako sicer res dobimo manj²e verjetnosti, kar ni najbolje, ampak so te verjetnosti pri visokih vrednostih energije in pri ustrezni izbiri vseh parametrov ²e vedno ve je od verjetnosti, ki jih vrneta ostali dve distribuciji. Posamezne funkcije so seveda odvisne od parametrov. Bolj kot bodo parametri blizu dejanskim vrednostim, bolje bo deloval na² algoritem. Drugo opaºanje, s katerim si zagotovo moramo pomagati pri opazovanju skritih stanj, je osnovna frekvenca tona oziroma intonacija. Vsaka nota v notnem zapisu ima predpisano vi²ino, ki jo lahko izrazimo s frekvenco. Predpostavimo, da po notnem zapisu pri akujemo noto s frekvenco Hz. šelimo sestaviti verjetnostno porazdelitev, ki ima vrh pri frekvenci 440 Hz. Neupravi eno je pri akovati, da bo pevec zapel in vzdrºeval ton predpisan as s to no tak²no frekvenco. Pomembno je tudi, da se zavedamo dodatnega pojava pri pevcih,

12 POGLAVJE 3. OPIS DELOVANJA Slika 3.2: Slika prikazuje realen primer verjetnostnih porazdelitev za vsako stanje ki ga imenujemo vibrato. Do naravnega vibrata pride zaradi spro² enosti grla ter zaradi konstantnega toka zraka, ki te e skozi glasilke. Tako lahko nastanejo pogoji, pri katerih glasilka niha naprej in nazaj, ter prav tako gor in dol, kar ustvari rahle turbulence v zra nem toku, ko ta zapusti grlo. Nihanje frekvence pri vibratu je pribliºno pol tona s pet do sedem oscilacij na sekundo [9]. Pomembna pomanjklivost je tudi dejstvo, da se na² algoritem za prepoznavo osnovne frekvence tona lahko zmoti za pribliºno oktavo in namesto frekvence 440 Hz porepozna frekvenco 880 Hz. Program je namenjen pevcem, njihovo poznavanje ra unalni²tva ponavadi obsega le osnove. Nekateri imajo velike teºave pri prepisovanju not v digitalno obliko. Zaradi tega je bilo predvideno, da bi uporabnik notni zapis prepisal v ra unalnik samo enkrat in bi te note uporabljal za ve glasov. Pogosto se namre notni zapis za glasova sopran in tenor razlikujeta le v tonaliteti, vse

3.5. DEKODIRANJE 13 ostalo pa je enako. Na primer visoki C pri tenorju ima frekvenco okoli 523 Hz, visoki C pri sopranu pa ima frekvenco 1046 Hz, kar je samo dvakratna vrednost frekvence C-ja pri tenorju. Za verjetnostno porazdelitev frekvence je bila v algoritmu uporabljena vsota treh normalnih porazdelitev. Povpre ne vrednosti porazdelitve so bile dolo ene na podlagi pri akovane intonacije in sicer, e pri akujemo ton s frekvenco n, potem je: σ 1 = n/2, σ 2 = n in σ 3 = 2n. µ i dolo imo tako, da je verjetnost tona, ki je pol tona vi²e od tona s frekvenco n, enaka 0, 1. Tako dobimo za stanje sustain: I s (x) = 1 3 3 i=1 1 e (x µ i ) 2 2σ i 2. σ i 2π Ker za stanje attack velja, da intonacija ni nujno znana, pri²tejemo ²e normalno porazdelitev s parametroma σ 4 = 1 ter µ 4 = 1. Algoritem za dolo anje osnovne frekvence namre vrne vrednost 1, e te ni bilo mogo e izra unati. Tako je verjetnostna porazdelitev enaka: I a (x) = 1 4 4 i=1 1 e (x µ i ) 2 2σ i 2. σ i 2π Tako imamo za vsako moºno stanje denirano: b rest (E(s), x) = P r (E(s)) b attack (E(s), x) = P a (E(s))I a (x) b sustain (E(s), x) = P s (E(s))I s (x) (3.3) 3.5 Dekodiranje Do sedaj smo spoznali, kako notni zapis pretvoriti v HMM. Naslednji del algoritma je prepoznavanje pozicije pevca v notnem zapisu v danem trenutku. Torej imamo podano neko zaporedje O = (o 1, o 2,..., o N ) in i² emo stanje x k, ki je v asu N najbolj verjetno. tevilo stanj v HMM je konstantno, medtem ko se dolºina vektorja O spreminja. Ker bomo morali zgornjo iskanje velikokrat

14 POGLAVJE 3. OPIS DELOVANJA Slika 3.3: Slika prikazuje verjetnostno porazdelitev frekvence z osnovo 440 Hz ponoviti je pomembno, da je ²tevilo operacij majhno, in predvsem da ne ra unamo istih vrednosti ve krat. Pomagamo si lahko s pomo jo forward-backward algoritmom, ki nekaj teºav odpravi, vendar ne vseh. Za dobro spremljavo pevca nas zanima, kdaj je pevec zapel neko dolo eno noto. Predpostavimo, da je pevec za el skladbo na za etku in sledi notnemu zapisu. Torej vemo, katere note oziroma stanja smo ºe obiskali. Zanima nas, kdaj bomo zaznali naslednjo noto n, in kdaj se je zgodil za etek te note start(n). To lahko doseºemo z dvema fazama. Ozna imo z X vsa stanja, ki sledijo stanju start(n). I² emo k, za katerega velja: P (X i start(n) O 1 = o 1, O 2 = o 2,..., O k = o k ) > τ. (3.4) Levo stran neena be lahko izra unamo s pomo jo α-verjetnosti. Kadar je neenakost doseºena, lahko predpostavimo, da je za etek note n v preteklosti, kar pomeni, da se je za etek note zgodil nekje med opaºanjem 1 in k oziroma,

3.5. DEKODIRANJE 15 e imamo znan za etek prej²nje note, potem lahko iskanje omejimo na ˆk. V naslednjem koraku nas zanima: arg max P (X j = start(n) O 1 = o 1, O 2 = o 1,..., O k = O k ), ˆk k kar pomeni, da i² emo oˆk, pri katerem je verjetnost za stanje start(n) najve je. Zadnje verjetnosti izra unamo s forward-backward algoritmom. α-verjetnosti ra unamo s pomo jo naslednje rekurzivne formule: α k (x i ) = p(x i, o 1, o 2,..., o k ) α k+1 (x i+1 ) = x i α k (x i )p(x i+1 x i )p(o k+1 x k+a ). Pri k = 1 je α k (x i ) = p(x i, o 1 ) = p(x i )p(o 1 x i ). izra unamo: Tako zgornjo vrednost k min k α k (X i start(n)) = P (X i start(n) O 1 = o 1,..., O k = o k ) Ker so vse posamezne verjetnosti in α k manj²e od ni, je vrednost α k+1 (x i ) < α k (x i ) za vsak i. Zaradi teºav z aritmetiko ra unalnika zato raje uporabimo α k (x i ) = α k(x i ) N i=1 α k(x i ). Podobno lahko deniramo: β k (x i ) = p(o k+1, o k+2,..., o N 1, x i ) β k 1 (x i 1 ) = x i β k (x i )p(x k x k 1 )p(o k x i ), ki jih normaliziramo enako kot α-verjetnosti. Razlika med α in β verjetnostmi je v tem, da pri α za nemo s prvim opaºanjem in nadaljujemo ra unanje naprej. Pri β verjetnostih pa za nemo pri zadnjem opaºanju in nadaljujemo ra unanje nazaj. Odtod tudi ime forward-backward algoritem. Tako lahko izra unamo: P (X j = start(n) O) = α k (X j )β k (X j ) X j α k(x j )β k (X j ). α k -verjetnosti so odvisne od opaºanj. Ker se o 1 v asu k in asu k + 1 ni spremenilo, je α 1 vedno enaka. Torej lahko z ustrezno podatkovno strukturo

16 POGLAVJE 3. OPIS DELOVANJA zmanj²amo ²tevilo ra unskih operacij tako, da si zapomnimo α k za vsak k. Teºava se pojavi pri β-verjetnostih. tevilo opaºanj se pove uje in zato je potrebno vse verjetnosti ra unati ponovno. V programu so iz tega razloga bile uporabljene le α-verjetnosti. Izkazalo se je namre, da ra unanje β porabi veliko asa. Prehodna matrika vsebuje veliko vrednosti ni. V prihodnosti lahko implementiramo algoritem, ki v tak²nih primer zmanj²a ²tevilo mnoºenj le na elemente, ki so razli ni od ni, ter tako doseºemo u inkovito ra unanje β-verjetnosti. Te so nujno potrebne za natan no dolo anje za etkov not. tevilo operacij zmanj²amo tudi s ²tevilom primerjav, ki jih opravimo z vrednostjo τ. Predpostavljamo, da ko je solist na prvi noti, v naslednjem koraku ne bo zapel zadnje note ampak bo sledil notnemu zapisu. Iz tega razloga so bile uvedene dodatne podatkovne strukture, in sicer: vsako stanje kaºe na noto, kateri pripada, vsaka nota kaºe na prvo stanje v verigi HMM, ki pripada tej noti, vsaka nota kaºe na vsako stanje naslednje note v notnem zapisu, vsako stanje, ki pripada neki noti, kaºe na vsa naslednja stanja iste note. S tak²nimi povezavami se lahko v verigi premaknemo za poljubno ²tevilo not v notnem zapisu naprej in preverjamo le najmanj²e ²tevilo stanj, ki jih ºelimo. Prav tako lahko najprej preverimo, e je solist zapel naslednjo noto in ²ele nato preverimo, e je ostal na isti noti in se premaknemo le za kak²no stanje naprej. Ker ne ra unamo β, moramo poiskati najmanj²i k, za katerega velja neena ba 3.4, saj le tako lahko dolo imo za etek naslednje note in v pravem asu zaigramo ustrezno spremljavo. 3.6 Spremljava Skozi prej²nja poglavja smo spoznali postopek, kako dolo iti, katero noto poje v danem trenutku solist in kdaj je to noto pri el peti. Prav tako vemo, kdaj je bil za etek vseh prej²njih not ob predpostavki, da je solist vse note do tega asa

3.6. SPREMLJAVA 17 zapel. Naslednja naloga na²ega programa je, da v danem trenutku ra unalnik zaigra ustrezno spremljavo. Na² notni zapis solista ter spremljave smo podali v obliki MIDI datoteke. V teh datotekah so note podane preko dogodkov, ki mu s pomo jo utripov dolo imo, kdaj naj bo ta nota zaigrana, ali kdaj naj bo note konec. Trajanje note lahko dolo amo tudi s pomo jo variacije tempa in ostalih funkcij. Ne glede na to lahko za etek, dolºino ter konec note izrazimo v milisekundah. Pomembno je, da e se v asu t zgodi nek dogodek v MIDI datoteki solista in bi se po notnem zapisu moral zgoditi nek dogodek v MIDI zapisu spremljave, potem morata biti ta dva dogodka asovno usklajena. Slika 3.4: Model notnega zapisa solista in spremljave (idealni primer) Od solista nikakor ne moremo pri akovati, da bo skladbo izvajal v konstantnem tempu, oziroma da bo dolºina not natanko ustrezala predpisani. e ve. Od solista pri akujemo, da bo zaradi interpretacije skladbe delal variacije v tempu. Iz tega razloga je cilj, da se solistu prilagajamo glede na njegov trenutni, tempo in ne glede na tempo neke note. Na sliki 3.4 imamo podan primer, ki predstavlja notni zapis solista in spremljave. Stanja predstavljajo dogodke v notnem zapisu. Bodisi je to sprememba akorda, bodisi note, ali pavze. Dolºina povezave predstavlja trajanje tega dogodka. Prva veriga predstavlja zapis solista. Druga pa predstavlja zapis spremljave. šelimo torej, da se v na²em spremljevalnem sistemu zgodi dogodek A1 v istem asu, kot je se zgodil dogodek N1, ozirma ºelimo, da je as zamika majhen. Za laºje razumevanje si za za etek poglejmo primer, ko sta se zgodila oba dogodka A1 in N1, zanima pa nas, kdaj se mora zgoditi dogodek A2. V

18 POGLAVJE 3. OPIS DELOVANJA idelanem primeru in pri konstantnem tempu bi se ta moral zgoditi v nekem razmerju med asom trajanja med dogodkoma N2 in N3 ter med dogodkoma N2 in A3. Ker v na²em primeru nikoli ne bomo poznali trajanja med dogodkoma N2 inn3, in ker poznamo vse koli ine, je bolj primerno, da vzmamemo razmerje t, kjer je t as med dogodkoma N1 in N2, ter s as med dogodkoma s N2 in A2. Slika 3.5: Model notnega zapisa solista in spremljave (realen primer) Realno (slika 3.5) pri akujemo, da as trajanja med N1 in N2 ozna en s t ne bo konstanten in se bo od izvedbe do izvedbe razlikoval. Dogodek A2 se mora zgoditi v asu s po dogodku N2. Veljati mora enakost: s t = s t, kjer sta s in t konstanti dolo eni s pomo jo notnega zapisa. Za vsak dogodek, ki je bil v celoti izveden lahko dolo imo t in tako izra unamo le s. Ne glede na to, s kak²nim tempom solist izvaja skladbo, se spremljava prilagaja trenutnemu tempu. ƒe bo as t kraj²i, potem mora biti za enakost tudi s kraj²i. ƒe je t dalj²i, mora biti s dalj²i. Na tem mestu je potrebno re²iti dve teºavi in sicer: kako re²imo primer usklajenosti, e se morata dogodka solista in spremljave zgoditi v istem asu, koliko je vrednost t pred prvim dogodkom N1? Odgovor na drugo vpra²anje je preprost. ƒas t je lahko katerakoli vrednost razli na od ni. Pozorni moramo biti le, da tudi t v tem primeru nastavimo na enako vrednost.

3.7. NASTAVITEV PARAMETROV 19 Odgovor na prvo vpra²anje je nekoliko bolj zapleten. Vzemimo za primer dogodka N 3 in A3 zgornje slike, ki bo dodatno razloºil tudi dolo anje potrebnih koli in. Imamo dva moºna na ina, kako dolo iti parametre t, s, in t. t naj bo as trajanja od N1 in N2, s naj bo as trajanja od N2 in A3. Tako mora biti ustrezno tudi t enak asu, ki ga solist porabi iz N1 in N2. Na tak²en na in bomo izra unali vrednost s, ki predstavlja, koliko asa za dogodkom N2 se mora izvesti dogodek A3, ne glede na dogodek N3. S tak²no izbiro bo torej solist sledil spremljavi in ne obratno. To nikakor ni slabo in je lahko v dolo enih primerih tudi zelo uporabno, e je v skladbi spremljava v danem trenutku pomembnej²a kot solist. V diplomi so bile uporabljene samo koli ine, ki spremljajo solsita in ne obratno. Ko se zgodi dogodek N3 se izra una koli ina t, ki je as od N2 do N3, s je za stanje A3 enak ni, t pa je idealni as od N2 do N3. 3.7 Nastavitev parametrov Med izdelavo programa se je izkazalo, da imajo za dolo anje pozicije v notnem zapisu najve jo teºo pravilno izbrani parametri za verjetnostne distribucije. Na energijo signala namre vplivajo razli ni faktorji, kot so nastavitve mikrofona, oddaljenost mikrofona in prav tako, s kak²no dinami no stopnjo izvaja solist dolo eno skladbo. Pri akujemo lahko, da bo solist svojo dinami no stopnjo prilagajal poznavanju skladbe. Vendar v tej iteraciji programa ni predvideno, da bi se parametri med iteracijami ali tekom skladbe kakorkoli spreminjali oziroma prilagajali. V ta namen je bil implementiran dodatek za dolo anje parametrov verjetnostnih porazdelitev energije za vsako posamezno stanje - umerjanje. Ker imamo tri moºna stanja rest, attack in sustain, naredimo tri umeritve. Vsak traja pet sekund, kjer iz meritve odreºemo prvo in zadnjo sekundo ter naredimo analizo vzorca tako, da na enak na in kot v poglavju 3.2 izra unamo energijo za posamezna okna vzorca. Za stanje rest je predviden posnetek ti²ine oziroma normalnega dihanja solista. Za stanje attack je predvidena rka S,

20 POGLAVJE 3. OPIS DELOVANJA za katero vemo, da nima intonacije, za stanje sustain pa je predviden vokal a. Po analizi se preprosto izra unata standardna deviacija in povpre na vrednost podanega vzorca, ki nam predstavljata parametre za verjetnostno porazdelitev posameznega stanja. 3.8 Opis programa Program je bil razvit v programskem jeziku Java, kjer sta bili dodatno uporabljeni knjiºnici za Markovske verige ter za algoritem Yin. Notni zapis spremljave in solisti nega dela se nahajata v dveh razli nih MIDI datotekah. Najprej iz MIDI datoteke solista ustvarimo Markovsko verigo z zgoraj opisano strukturo, prehodo matriko ter verjetnostnimi porazdelitvami. Prav tako je potrebno obdelati datoteko spremljave, kjer dolo imo vrstni red ter as za etkov in koncev dogodkov. Signal mikrofona moramo najprej ustrezno pretvoriti v vrednosti tipa float. Te vrednosti nato uporabimo za analizo, kjer s pomo jo knjiºnice Yin dolo imo osnovno frekvenco tona ter izra unamo energijo signala. irino okna lahko seveda dolo amo s parametri, ki jih bo mogo e v prihodnosti vna²ati s pomo jo gra nega vmesnika. Iz frekvence in energije signala nato s pomo jo α-verjetnostmi izra unamo verjetnosti vseh stanj. ƒe je verjetnost kateregakoli stanje naslednje note ve ja od τ, potem si zapomnimo to noto, njeno trajanje ter trajanje prej²nje note. Sledi zadnji del, ki je spremljava. Ta deluje popolnoma neodvisno od detekcije in analize. Pri spremljavi predvajamo MIDI datoteko tako, da se v MIDI datoteki premikamo na ustrezne tick-e, pri tem pa ohranjamo tempo zelo majhen.

Poglavje 4 Analiza in izbolj²ave 4.1 Analiza S testiranjem programa sta bila preverjena osnovna cilja diplomske naloge. Program je s pravilnimi nastavitvami parametrov posameznih verjetnostnih distribucij zadovoljivo dolo al pozicijo pevca. Prav tako je bila izvedena spremljava pevca z vsemi vmesnimi notami. Za testni primer smo vzeli E-dur lestvico s spremljavo prikazano na Sliki 4.1. V notnem zapisu solista je pod vsako noto zapisano ime note. V notnem zapisu spremljave pa je pod vsako noto zapisana zaporedna ²tevilka note. Te oznake so uporabljene v vseh spodnjih grah. Solist je izvajal skladbo brez besedila, oziroma je uporabljal vokal a. Slika 4.1: Primer spremljave in solisti nega dela. Na Sliki 4.2 lahko vidimo, kak²na je bila energija signala pri posameznem opaºanju za podan primer notnega zapisa. Kot lahko vidimo, se najve je 21

22 POGLAVJE 4. ANALIZA IN IZBOLJ AVE spremembe energije zgodijo na za etku in na koncu, torej takrat, ko pevec za ne peti in takrat, ko preneha s petjem. Slika 4.2: Energija spremljave v odvisnosti od opaºanja. Slika 4.3 prikazuje frekvenco signala pri dolo enem opaºanju. Opazimo lahko, da so skoki med notami zvezni v smislu frekvence, in da je prisoten vibrato, ki ni ve ji od pol tona. Na Sliki 4.4 so poleg frekvence z navpi nimi rtami ozna ena tista opa- ºanja, pri katerih je bila izveden za etek note. Vidimo lahko, da spremljava sledi solistu, kljub temu da solist nima konstantnega tempa. Prav tako so bile izvedene vse vmesne note, ki so napisane v spremljavi. Teºava se pojavi pri za etkih not 6, 10 in 12. Vidimo lahko, da so bili za etki nekoliko prepozni in bi se morali zgoditi nekje v okolici opaºanj ozna enih z zelenimi navpi nimi rtami. Posledi no bi morali biti tudi noti 7 in 8 izvedeni prej, saj je as med noto G# in noto A kraj²i. Opazimo lahko tudi, da je bila nota 2 izvedena preden je solist sploh dosegel pravo vi²ino. V tistem trenutku je bila intonacija pevca neznana. Razlog za to je v energiji signala. Pri takratnem opaºanju je

4.1. ANALIZA 23 Slika 4.3: Frekvenca signala v odvisnosti od opaºanja. bila energija signala ºe dovolj velika, da je bilo stanje attack najbolj verjetno. Teºave pri testiranju so se pojavile, e je solist naredil napako. V tem primeru ni bilo ve mogo e najti pozicije solista in tako se je spremljava ustavila na zadnjem znanem mestu. Enako se zgodi, e pevec naredi vdih na nepredvidenem mestu. Velik problem predstavlja prehodna matrika Markovske verige. Zaradi velikega ²tevila stanj je ra unanje β vrednosti zamudno in je bilo zaradi tega izpu² eno. To pa vpliva na dolo itev za etka note in posledi no zmanj²a natan nost spremljave. Tukaj govorimo o tistih dogodkih spremljave, ki naj bi se izvedli med dvema dogodkoma solisti nega dela. ƒeprav so razlike majhne, vse to vpliva na izvajanje solista in posledi no se lahko tempo solista nezavedno zmanj²uje, saj se solist kljub temu ozira na spremljavo in ji nezavedno sledi. V tej iteraciji programa je bilo potrebno za poslu²anje spremljave uporabiti slu²alke, v nasprotnem primeru bi mikrofon zajemal tudi zvok, ki ga proizvaja program. Tako bi se lahko zgodilo, da program sledi sam sebi.

24 POGLAVJE 4. ANALIZA IN IZBOLJ AVE Slika 4.4: Frekvenca signala v odvisnosti od opaºanja in za etki posameznih not spremljave. 4.2 Izbolj²ave Na tem mestu najprej izpostavimo Sliko 4.5. Na sliki je prikazana frekvenca signala. Z zelenimi navpi nimi rtami so ozna eni za etki not. Za etek not je bil dolo en v prvem opaºanju, pri katerem smo za manj kot polovico stran od razdalje do sosednje note. Z vijoli no barvo pa so bili ozna eni konci teh not. Vidimo lahko, da je razlika v za etku in koncu neke note majhna, razen na za etku, kjer je razlika okoli 37 opaºanj, kar nanese okoli 0.2 sekunde. Ker ne opazujemo le frekvence neke note, pa pa tudi energijo, se s tem ni treba posebej ukvarjati. Pomembno je, da lahko v nadaljnih implementacijah upo²tevamo za etek naslednje note tudi takrat, ko se neka nota zaklju i. Lahko se zgodi, da je pevec imel na tem mestu zelo velik vibrato, ali pa je bila napaka v meritvi, ampak na tak²en na in lahko izvajamo posamezne dele skladb, kjer ne ºelimo, da ra unalnik sledi pevcu, pa pa pevec ra unalniku.

4.2. IZBOLJ AVE 25 Slika 4.5: Frekvenca signala v odvisnosti opaºanja ter za etki (zeleno) in konci (vijoli no) posameznih not. S pomo jo uporabe Markovske verige lahko doseºemo ve jo eksibilnost za dolo anje strukture neke note. ƒe vemo, da bo solist na nekem mestu naredil vdih, potem lahko noto pred vdihom sestavimo tako, da bo imela na koncu dodano stanje rest. e bolj²a re²itev je, da dodamo dodatna stanja, ki predstavljajo dodatne note. Iz vsake note/pavze se lahko premaknemo bodisi na naslednjo noto/pavzo, ali pa se premaknemo na dodatno noto. Iz te dodatne note se lahko premaknemo na katerokoli naslednjo noto. Na tak²en na in lahko doseºemo ve razli nih situacij kot so: napaka, dodajanje not/pavz, ali na primer variacija zapisa. Potrebno je izbrati smiselno ²tevilo not, v katere se lahko premaknemo iz dodatne note. Prav tako je potrebno denirati, kaj naj se zgodi s spremljavo, e se pojavimo na noti, ki je ni v notnem zapisu. Podrobnej²i opis lahko bralec najde v [6]. Prav tako je potrebno dodati ve razli nih denicij struktur posameznih not, saj notni zapis vsebuje veliko ve znakov, kot jih v tem trenutku predvideva na² program.

26 POGLAVJE 4. ANALIZA IN IZBOLJ AVE Za matriko z veliko ni lami bi bilo dobro uporabiti druga no podajanje matrike. V vsaki vrstici imamo le nekaj vrednosti razli nih od ni. Tako si lahko zapomnimo pozicije in vrednosti ter tako omejimo ra unanje le na elemente, ki so razli ni od ni. Za uspe²no vklju itev te re²itve v na² program je potrebno spremeniti celotno knjiºnico za Markovske verige ter spremeniti Forward-Backward algoritem. Pri akujemo, da bo vsaka naslednja izvedba bolj²a, oziroma bo konvergirala proti kon ni izvedbi, zato bi bilo dobro implementirati u enje Markovske verige. Tako bomo lahko bolj natan no spremljali solista in celotna izvedba skladbe bo bolj²a. Pogosto se v notnem zapisu pojavi del, kjer je v ospredju spremljava in solist nima svoje partiture. Takrat ne ºelimo, da spremljava nadaljuje v tempu, s katerim je zaklju il solist pa pa ºelimo, da spremljava nadaljuje s svojim tempom. Zato je potrebno dolo iti mesta, kjer je tempo spremljave dolo en vnaprej in je popolnoma neodvisen od solista. 4.3 Zaklju ek Program, implementiran v diplomski nalogi, je za dobro uporabo potrebno ²e dodelati, saj v trenutnem stanju program uspe²no deluje za enostavne primere. Prav tako bi bilo za dobro uporabni²ko izku²njo, potebno implementirati gra ni vmesnik. Vse to pa v tem trenutku presega obsege, zastavljene v diplomski nalogi, in je prepu² eno nadaljnemu razvoju aplikacije.

Literatura [1] L. E. Baum et al., A Maximization Technique Occurring in the Statistical Analysis of Probabilistic Functions of Markov Chains, The Annals of Mathematical Statistics, ²t. 41, str. 164, 1970. [2] Alain de Cheveigne, Hideki Kawahara, YIN, a fundamental frequency estimator for speech and music, The Journal of the Acoustical Society of America, ²t. 111, zv. 4, str. 19171930, 2002. [3] Marcus Liwicki and Horst Bunke, HMM-Based On-Line Recognition of Handwritten Whiteboard Notes, v Tenth International Workshop on Frontiers in Handwriting Recognition, 2006. [4] Andres Meng, An Introduction to Markov and Hidden Markov Models, Oktober 2003. [5] Mikael Nilsson and Marcus Ejnarsson, Speech Recognition using Hidden Markov Model: magistrsko delo, Karlskrona, 2002. [6] Nicola Orio and Francois Déchelle, Score Following Using Spectral Analysis and Hidden Markov Models, v Proc. of the International Computer Music Conference (ICMC), 2001. [7] Christopher Raphael, Automatic Segmentation of Acoustic Musical Signals Using Hidden Markov Models, IEEE Transactions on Pattern Analysis and Machine Intelligence, ²t. 21, str. 360370, 1998. 27

28 LITERATURA [8] Christopher Raphael. (2013). Examples for ICML 2010, Haifa[Online]. Dostopno na: http://www.music.informatics.indiana.edu/papers/ icml10/. [9] Johan Sundberg. (avg, 2013). Acoustic and psychoacoustic aspects of vocal vibrato[online]. Dostopno na: http://www.speech.kth.se/prod/ publications/files/qpsr/1994/1994_35_2-3_045-068.pdf