{"id":5288,"date":"2019-10-22T17:50:47","date_gmt":"2019-10-22T14:50:47","guid":{"rendered":"http:\/\/spektrum.fi\/spektraklet\/?p=5288"},"modified":"2022-01-04T16:00:49","modified_gmt":"2022-01-04T13:00:49","slug":"genererade-spotify-lattexter","status":"publish","type":"post","link":"http:\/\/spektrum.fi\/spektraklet\/genererade-spotify-lattexter\/","title":{"rendered":"Genererade Spotify l\u00e5ttexter"},"content":{"rendered":"\n<p>Ett kursprojekt under den senaste perioden har g\u00e5tt ut p\u00e5 att analysera data fr\u00e5n Spotify-topplistor. Det huvudsakliga m\u00e5let vi satte upp var att g\u00f6ra prognoser p\u00e5 vad som g\u00f6r l\u00e5tar framg\u00e5ngsrika. Vi laddade ner tusentals l\u00e5tars data som beskriver allt fr\u00e5n hur h\u00f6gljudda de \u00e4r till hur mycket prat de inneh\u00e5ller.&nbsp;<br><\/p>\n\n\n\n<p>Men ett litet sidoprojekt visade sig vara mycket mer kul, \u00e5tminstone \u00e4r slutresultatet lite komiskt. Jag tog n\u00e4mligen alla mina l\u00e5ttitlar och laddade ner deras texter via Genius API. Sedan filtrerade jag bort alla tyska och spanska l\u00e5tar (hejd\u00e5 Despacito), samt andra spr\u00e5k, s\u00e5 endast engelska fanns kvar. En hel del av \u00e5terstoden var aningen vulg\u00e4ra rapl\u00e5tar, det kommer att m\u00e4rkas kan jag s\u00e4ga.&nbsp;<br><\/p>\n\n\n\n<p>Min id\u00e9 var att tr\u00e4na n\u00e5gon form av maskininl\u00e4rning\/djupinl\u00e4rning p\u00e5 texterna f\u00f6r att kunna generera egna l\u00e5ttexter. Jag testade mig fram med n\u00e5gra Python paket f\u00f6r det \u00e4ndam\u00e5let. Det visade sig kr\u00e4vas ganska mycket smart konfiguration och f\u00f6rhandskunskap f\u00f6r att g\u00f6ra det fr\u00e5n scratch. Man kan anv\u00e4nda sig av n\u00e5got som kallas Long short-term memory recurrent neural network (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Long_short-term_memory\">LSTM RNN<\/a>), jag t\u00e4nker inte ens f\u00f6rs\u00f6ka \u00f6vers\u00e4tta det.&nbsp;<br><\/p>\n\n\n\n<p>En av mina tidigaste tester s\u00e5g i varje fall ut ungef\u00e4r s\u00e5h\u00e4r:<br><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>Yeah could someone got go higher<\/em><br><em>even gone like got bad<\/em><br><em>bitch like<\/em><br><em>got bitch<\/em><br><em>like got bitch<\/em><br><em>got bitch got bitch...<\/em><br><\/pre>\n\n\n\n<p>Inte s\u00e4rskilt bra, men en b\u00f6rjan. Ett mycket mer nyb\u00f6rjarv\u00e4nligt s\u00e4tt som jag v\u00e4nde mig till sedan var att anv\u00e4nda textgenrnn. N\u00e4tverkets parametrar \u00e4r i det paketet f\u00e4rdigt optimerade f\u00f6r texter av olika typer. Summa summarum gav det helt superbra resultat och jag best\u00e4mde mig f\u00f6r att ladda upp det p\u00e5 webben.&nbsp;<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2022\/01\/website.png\"><img decoding=\"async\" loading=\"lazy\" width=\"711\" height=\"492\" src=\"https:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2022\/01\/website.png\" alt=\"\" class=\"wp-image-5926\" srcset=\"http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2022\/01\/website.png 711w, http:\/\/spektrum.fi\/spektraklet\/wp-content\/uploads\/2022\/01\/website-300x208.png 300w\" sizes=\"(max-width: 711px) 100vw, 711px\" \/><\/a><\/figure>\n\n\n\n<p>M\u00e4sterverken tar ungef\u00e4r 15 sekunder att generera p\u00e5 <a rel=\"noreferrer noopener\" href=\"https:\/\/lyrics-gen.herokuapp.com\" target=\"_blank\">lyrics-ge<\/a><a href=\"https:\/\/lyrics-gen.herokuapp.com\" target=\"_blank\" rel=\"noreferrer noopener\">n<\/a><a rel=\"noreferrer noopener\" href=\"https:\/\/lyrics-gen.herokuapp.com\" target=\"_blank\">.herokuapp.com<\/a> Rekommenderar varmt att pr\u00f6va. Kan h\u00e4nda ocks\u00e5 att det tar n\u00e5gra sekunder f\u00f6r sidan att vakna ifall den har somnat, gratis hosting \u00af\\_(\u30c4)_\/\u00af<br><\/p>\n\n\n\n<p>Om n\u00e5gon \u00e4r intresserad s\u00e5 finns den minimalistiska Flask-koden h\u00e4r: <a href=\"https:\/\/github.com\/hd4niel\/Lyrics-generation-webpage\">github.com\/hd4niel\/Lyrics-generation-webpage<\/a><br><\/p>\n\n\n\n<p class=\"has-text-align-right\">&lt;Daniel\/&gt;<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ett kursprojekt under den senaste perioden har g\u00e5tt ut p\u00e5 att analysera data fr\u00e5n Spotify-topplistor. Det huvudsakliga m\u00e5let vi satte upp var att g\u00f6ra prognoser p\u00e5 vad som g\u00f6r l\u00e5tar framg\u00e5ngsrika. Vi laddade ner tusentals l\u00e5tars data som beskriver allt fr\u00e5n hur h\u00f6gljudda de \u00e4r till hur mycket prat de inneh\u00e5ller.&nbsp; Men ett litet sidoprojekt &hellip; <a href=\"http:\/\/spektrum.fi\/spektraklet\/genererade-spotify-lattexter\/\" class=\"more-link\">Forts\u00e4tt l\u00e4sa <span class=\"screen-reader-text\">Genererade Spotify l\u00e5ttexter<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":25,"featured_media":5926,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[142,42],"tags":[76,164],"_links":{"self":[{"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/5288"}],"collection":[{"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/comments?post=5288"}],"version-history":[{"count":9,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/5288\/revisions"}],"predecessor-version":[{"id":5927,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/posts\/5288\/revisions\/5927"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/media\/5926"}],"wp:attachment":[{"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/media?parent=5288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/categories?post=5288"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/spektrum.fi\/spektraklet\/wp-json\/wp\/v2\/tags?post=5288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}