Visuaalinen musiikkikappalehaku
Vallin, Jari (2024)
Vallin, Jari
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024100125922
https://urn.fi/URN:NBN:fi:amk-2024100125922
Tiivistelmä
MusicInfo Finland Oy kehittää musiikintekijöitä ja levy-yhtiöitä varten palvelua, jolla nämä voivat saada koneoppimismenetelmillä tutkittua, syvempää tietoa omien kappaleidensa ominaisuuksista. Opinnäyte-työssä luotiin konsepti visualisoinnista, joka näyttää käyttäjälle hänen kappaleestaan kootun tiedon perusteella toimeksiantajan kappalevalikoimasta joukon kappaleita, joiden ominaisuudet ovat lähellä käyttäjän kappaletta. Tavoitteena oli, että visualisointi olisi helposti ymmärrettävä ja toteutus luotu avoimen Python-lähdekoodin kirjastolla, joka tuottaa web-julkaisua varten valmiita html-tiedostoja. Koneoppimismenetelmillä luotu, kappaleita koskeva aineisto sisälsi kymmeniä piirteitä. Työssä kokeiltiin eri menetelmiä tiivistää piirteet kolmiulotteiseen muotoon ja sitten luoda komiulotteinen hajontakaavio visualisointikirjastolla. Samanlaisuutta tarkasteltiin euklidisena etäisyytenä ja ulottuvuuksien vähentämisen tuloksen luotettavuutta arvioitiin tutkimalla pareittaisten etäisyyksien korrelaatiokertoimia. Myös muunnosten Kruskal's stress 1-arvot laskettiin sekä tutkittiin kappaleiden etäisyysjärjestyksen säilymistä muunnoksessa. Piirteiden suuren määrän ja ehkä myös poikkeavien arvojen suuren määrän ja piirteiden arvojen ei-normaalisten jakaumien vuoksi dimensiomuunnosmenetelmien tulokset osoittautuivat epätyydyttäviksi. Lopullinen visualisointi toteutettiin kaksiulotteisena kaaviona, jossa käyttäjän kappale sijoitettiin keskelle ja 31 lähintä kappaletta sijoitettiin ympyrämuotoon, jossa samanlaisin kappale on lähinnä käyttäjän kappaletta. Visualisoinnissa samanlaisuus esitetään etäisyytenä, joka määritetään kaavioon suoraan piirteistä laskemalla, ilman dimen-siomuunnosta. Visualisointi kuvaa samanlaisuutta hyvin karkealla tasolla, sillä kymmenien ominaisuuksien tiivistäminen yhteen lukuarvoon väistämättä kadottaa osan informaatiosta. Visualisointi toteutettiin Bokeh-kirjastolla, sillä sen avulla saatiin toteutettua visualisointi, jossa lähimpien kappaleiden tarkempien tietojen esittäminen myös mobiilikäytössä oli mahdollista. MusicInfo Finland Oy is developing a service for music artists and record companies to provide in-depth information about their musical tracks. The information is created using machine learning methods. The goal was to develop a concept of visualization that shows the user a selection of tracks from the catalogue of the mandator, that are the most alike to the track of the user. The aim was to create a graph that is easy to understand, accomplished using open source-library capable of producing stand-alone html-files for web publishing, in Python environment. The data of the music tracks consisted of tens of features. Several methods were tested to reduce the dimensionality of the feature values to 3D form and create a visualiza-tion from it as a scatter plot. The similarity of the tracks was viewed as Euclidean distance, and the reliability of the dimensional reduction was scrutinized as correlation coefficients of pairwise distances. Also, Kruskal's stress-1 values were calculated and the preservation of the order of the tracks in dimensional reduction was examined. Due to the large number of features, and probably by significant number of outliers and overall non-normality in the distributions of the values, the results of dimensionality reduction were found disappointing. The final visualization was carried out as 2D scatter plot, where the track of the user is in the middle and 31 nearest tracks are in a circle shape around it. The more similar track is, the nearer it is to the track of the user. The distance is calculated directly from the data as Euclidean distance, without performing dimensional reduction first. The visualization shows similarity as a rough estimation, as the summarising of tens of features to a single number inevitably loses information. The visualization was created using Bokeh graph library, because more detailed information could be shown for the user about the nearest tracks. Also, Bokeh enables functionality that makes it possible to utilize the visualization in mobile displays.