Musiikin haku sisällön perusteella (engl. music information retrieval)
on suhteellisen uusi tutkimusalue. Sen sovellukset ulottuvat sävelmien
jäljittämisestä hyräiltyjen melodioiden perusteella aina musikologisiin
analyyseihin ja jopa tekijänoikeuskysymysten selvittelyyn.
Esittelemme kehittämiämme symbolisen musiikin hakuun soveltuvia
perusmenetelmiä. Ongelmana on löytää annetun hahmon kaikki riittävän
samankaltaiset esiintymät tietokannasta. Sekä hahmo että tietokanta
ovat symbolisessa muodossa: ne koostuvat yksittäisistä nuoteista,
jotka ovat sävelkorkeuden ja syttymis- ja sammumisajankohdan
kolmikkoja.
Lähtökohta on, että nuotit tulkitaan diskreeteiksi symboleiksi, jolloin
kombinatorisia merkkijonomenetelmiä voidaan hyödyntää hahmon etsinnässä.
Perinteisesti merkkijonomenetelmiä on käytetty yksiulotteisten jonojen
yhteydessä. Musiikki voi kuitenkin olla moniäänistä eli polyfonista,
jolloin jonoesitys ei ole kovinkaan luonteva. Toisaalta suoraviivainen
kaksiulotteinen esitys sävelkorkeuden ja ajan suhteen vie paljon tilaa,
eikä tue tehokkaita hakuja. Lisäksi esitysmuodossa on otettava huomioon
tärkeät invarianssit sävellajin ja tempon suhteen. Molemmat liittyvät
yleisempään kysymykseen musiikillisesta samankaltaisuudesta tai
musiikillisista etäisyysmitoista. Pohdimme yleisen editointietäisyysmallin
puitteissa, millaisia ominaisuuksia musiikillisesti järkevällä
etäisyysmitalla tulisi olla.
Esitämme, että symbolinen musiikki on luonnollista kuvata
verkkorakenteena, jonka solmut vastaavat nuotteja ja jonka kaaret
esittävät erilaisia yhteyksiä nuottien välillä. Yksiäänisiä hakuja varten
liitämme verkkoon nuottien peräkkäisyyden määritteleviä kaaria siten, että
kukin polku verkossa voidaan tulkita melodiaksi. Johdamme
musiikkipsykologiasta sopivan heuristiikan verkon rakentamiseksi.
Kehittämämme algoritmi suorittaa yksiäänisen hahmon etsintää verkossa
sen kaaria pitkin. Algoritmi hyödyntää bittirinnakkaisuutta ja perustuu
epädeterministisen automaatin simulointiin. Polyfonisten hahmojen etsintää
varten laajennamme verkkoa liittämällä siihen toisen joukon kaaria, jotka
määrittelevät nuottien samanaikaisuuden. Samoin laajentamalla aiempaa
algoritmia saamme tehokkaan menetelmän, jolla polyfonisia hahmoja voidaan
hakea polyfonisista tietokannoista.