AI, joka kuuntelee musiikkia
Luminate LLC arvioi raportissaan, että vuonna 2024 julkaistiin 202 miljoonaa kappaletta. Kenelläkään ei ole aikaa kuunnella niitä kaikkia. Siksi nykyaikana käytetään algoritmejä suosittelemaan musiikkia sinulle ja miljardeille muille kuuntelijoille.
Nämä algoritmit perustuvat yleisesti siihen, että sinulle suositellaaan kappaleita, joista ihmiset, jotka kuuntelevat samoja kappaleita, kuin sinä, ovat tykänneet. Tämä ei kuitenkaan toimi aina. Mikäli kuuntelet musiikkia, jota muut ihmiset ei, tai sinulla ei ole miljardien ihmisten dataa, et voi luotettavasti rakentaa tämänkaltaisia algoritmeja.
Ainoastaan suurilla yrityksillä, lähinnä Spotifylla, on tarpeeksi kattava datakokoelma luoda tämäntasoisia algoritmejä. Monopoliaseman lisäksi tämä luo ongelmia ihmisille näiden palvelujen ulkopuolella.
Myöskin suurin osa, tai noin 141 miljoonaa vuonna 2024 julkaistuista kappaleista ei saanut yli 100 kuuntelukertaa, ja joista noin 93 miljoonaa ei saanut edes yli 10 kuuntelukertaa. Tämä luo ongelman niille, ketkä haluaisivat löytää tämänkaltaisia kappaleita, mutta eivät pysty, koska kappaleilla ei ole tarpeeksi kuuntelijoita tuottamaan relevantteja suositteluja normaalein algoritmisin metodein.
Tämän takia (ja ihan vain huvin vuoksi) olen luonut (mahdollisesti puutteelisen) vektoripohjaisiin neuraaliverkkoihin perustuvan, personaalisen, musiikkia analysoivan tekoälyn.
Toimintamalli (lyhyesti)
Prosessi käyttää Xiaomin AI-laboratorion luomaa Dasheng-mallia muuntamaan audiodatan vektoreiksi. Tämän lisäksi keräämme käyttäjältä (minä) arvosteluja kattavasta kokoelmasta musiikkia saadaksemme selville käyttäjän (edelleen vain minä) tykkäämät musikaaliset osa-alueet. Tämän jälkeen generoimme näistä nopeasti pienen verkoston, joka arvioi vektorin pohjalta annetun arvosanan.
Käyttötarkoitukset (mahdolliset)
Prosessi siis ottaa sisääntulona audiotiedostoja, ja antaa ulos arvosanan, tässä tilanteessa 0-255, mutta jonka skaalaamme järkevämmälle 0-10 -asteikolle. Tämän pohjalta voi analysoida potentiaalisesti miljoonia äänitiedostoja nopeasti ja saada selville, mikä niistä sopii parhaiten käyttäjälle (minä) kuunneltavaksi, emmekä tarvitse tähän ollenkaan ulkopuolista dataa.
Teoriassa malli pystyisi (jos skaalattuna enemmän kuin yhden käyttäjän dataan) ennustamaan, kuinka moni ihminen tykkäisi kappaleesta jo ennen sen julkaisua.
Koodi yms.
Tulossa pian.
Nykyinen (ja todennäköisesti väliaikainen) ratkaisu sisältää:
- python-tiedoston generoidakseen vektorit kaikille äänitiedostoille kansiossa
- python-tiedoston generoidakseen mallin
- python-tiedoston joka esittää html-sivuston, jossa käyttäjä voi arvostella satunnaisia kappaleita kansiosta
- python-tiedoston joka generoi kaikille kappaleille kansiossa arvosanan
- python-tiedoston joka lataa netistä soittolistan ja generoi kaikille sen kappaleille arvosanan
ja joista hyvin suuri osamäärä on laadittu LLM-työkaluja hyödyntäen.
Näistä voi saada helppokäyttöisen julkaisun pienellä hienosäädöllä ja mahdollisella dokumentaatiolla.
Ota myös huomioon, että vektorien generoiminen Xiaomin Dasheng -mallilla voi olla hidasta ilman hyvää näytönohjainta tai verrattavaa prosessointiyksikköä.