Live data from Hacker News

DALL-E for Playlists

naturallanguageplaylist.com

41–50 of 99 posts

Re: DALL-E for Playlists

#41
Back in the day there was a project called Tomahawk Player that tied into a service called Echo Nest (which I believe got purchased and shut down by Spotify). For me that was the peak of music discovery. I haven't been able to replicate it yet.

Re: DALL-E for Playlists

#43

Back in the day there was a project called Tomahawk Player that tied into a service called Echo Nest (which I believe got purchased and shut down by Spotify). For me that was the peak of music discovery. I haven't been able to replicate it yet.

Grooveshark (RIP) had the best music recommendation engine I've ever used.

Re: DALL-E for Playlists

#44

OP HERE! Solved the hugging to death issue. Reached the Spotify 11k playlist limit. Deleting old playlists and the site should be working as intended now. THANK YOU whoever posted this! Currently working on: Fixing the recommendation scoring function. Right now it's giving hit or miss responses. I think the problem is with my cross encoder "reranker" is not doing its job the right way. I'll fix the passages it looks…

I’d love to know at a high level how you went about implementing this. Is it just using OpenAI’s built-in music knowledge? Did you do any of your own classification?

TLDR: Lots of musical metadata converted into paragraphs and the SentenceTransformers Retrieve & Re-Rank Pipeline.(https://www.sbert.net/index.html)

The sentence embeddings are calculated using a Bidirectional Encoder Representation Transformer (BERT) model. There's a pre-trained model for this network trained on over 1 billion sentences from the internet that is publicly available, (thanks Microsoft) . The model transforms your description into a 784-long list of numbers (a vector) that represents the contextual meaning of your sentence.

The model runs off a dataset of musical metadata for 35,000 songs. As a "chronically online music nerd", I knew where to find it. The metadata is very rich, it has a lot of useful columns like the genres, subgenres, and descriptions of tracks. The numerical data is binned into categorical values like "obscure" mapping popularity between 0 and 10, "highly danceable" mapping danceability between 80 and 100, etc. The text data is modified into a coherent sentence: "this song's main genres are _____. this song is from the 80s. this name of this song is lovefool by the cardigans. etc"

An arduous part of the project was describing each musical genre in depth, with its own paragraph such that each genre's actual contextual meaning is captured and not just "This song is a Hyperpop song" or "This song is Adult Contemporary". It was a big exercise in music history and tested my knowledge of music. I also learned a lot about musical genres like "Mongolian Throat Singing" and how it compares to "Gamelan Throat Singing".

I also put the song lyrics for each song through GPT-3 and asked it to summarize the lyrical themes. That's also embedded and used in NLPlaylist.

Each feature for each song in our metadata dataset is now a big paragraph that describes the song. The paragraph is split up into sentences, and the embedding of each sentence is found. The final embedding for each song is then calculated by taking a weighted average over all sentence embeddings from the big paragraph and genre and lyrical embeddings.

To make your playlist, all that has to be done is compare the embedding of your query all 35,000 embeddings in the dataset and return the 100 most similar queries, using the cosine similarity distance metric. Thank god we have computers.

Once the 100 most similar candidate tracks are found, they are reranked using a "cross encoder" trained on 215M question-answer pairs from various sources and domains, including StackExchange, Yahoo Answers, Google & Bing search queries to give the best matches.

Re: DALL-E for Playlists

#45

Back in the day there was a project called Tomahawk Player that tied into a service called Echo Nest (which I believe got purchased and shut down by Spotify). For me that was the peak of music discovery. I haven't been able to replicate it yet.

Grooveshark (RIP) had the best music recommendation engine I've ever used.

And also had probably best web UI for listening to music. RIP

Re: DALL-E for Playlists

#46
post #7

Neat idea for a project, and kudos for getting everything up and running! Tried it once or twice, and the results are very hit or miss. "70s african funk without synthesizers" includes some stuff that matches the prompt, like Ofo the Black Company, but also includes more misses than hits: Herbie Hancock, War, Prince, the Ohio Players, and Sly & The Family Stone are all American. Seems like it latched onto "funk" and…

I also got the sense that when trying a prompt like this that it latched on to one or two parts of it. For my prompt of "upbeat rock with violins and bagpipes" most of the songs fell in to the "upbeat rock" or "rock with violins" (a lot of classic rock power ballads that came up here). Only one or two songs with bagpipes.

I think there may be something about the popularity of songs and artists in the data because most are more popular and that may skew the results a bit because maybe my celtic rock bands don't fall in to the more popular categories.

But still, kudos. The goal of it was to be able to find new music in a different way and it definitely got me there.

Re: DALL-E for Playlists

#47
> I'm a Data Science grad student looking for a job in the music industry! Hire me!

This is the perfect project to garner that kind of industry attention, hope it works out!

Re: DALL-E for Playlists

#48
post #40

"[name redacted], Front-End Designer" idk if i'd call myself a designer with the app looking like that haha. not quite Spotify-level. but congrats on shipping, OP :)

[deleted]

Re: DALL-E for Playlists

#49
post #10

Well, it only gave me one song: "Internal Server Error". I searched for it on Spotify, but can't find it. Snark aside, great concept; looking forward to trying it when it comes back up.

[deleted]
Post reply on HN