Show HN: I trained an AI model on 120M+ songs from iTunes

maroofy.com

753 points by subtech a year ago

Hey HN!

I just shipped a project I’ve been working on called Maroofy: https://maroofy.com

You can search for any song, and it’ll use the song’s audio to find other similar-sounding music.

Demo: https://twitter.com/subby_tech/status/1621293770779287554

How does it work?

I’ve indexed ~120M+ songs from the iTunes catalog with a custom AI audio model that I built for understanding music.

My model analyzes raw music audio as input and produces embedding vectors as output.

I then store the embedding vectors for all songs into a vector database, and use semantic search to find similar music!

Here are some examples you can try:

Fetish (Selena Gomez feat. Gucci Mane) — https://maroofy.com/songs/1563859943 The Medallion Calls (Pirates of the Caribbean) — https://maroofy.com/songs/1440649752

Hope you like it, and would love to hear any questions/feedback/comments! :D

knaik94 a year ago

This is very interesting, but unfortunately I haven't had the greatest luck in finding new songs I would enjoy listening to. It absolutely finds similar sounding tracks, but it doesn't distinguish which part of the song made it enjoyable. There's no tempo consistency or genre consistency or even main instrument/vocal timbre consistency between recommendations. I think locking one or more of those dimensions would allow for much better recommendations. I'm not sure what aspect you're using to order the results, but having extra metadata to filter or group the results in some way would help a lot.

Take Raga's Dance by Vanessa-Mae, A R Rahman, ... Royal Philharmonic https://maroofy.com/songs/476841571 . I put in this track expecting other fusion songs to pop up, and arguably some do, but much more often it feels like a 20 second section was used to define the original song and it misses the underlying concept. Like it got, in my subjective description, the epic violin in orchestral music, but it completely ignores the fusion between the distict styles of traditional indian singing/instrumentals and western ochestral and also ignores the call response structure between the violin and carnatic players, which is the what I actually care about. Other songs have the vocals but no epic backing. It feels like it's matching multiple samples from the song instead of the whole song.

This feels very promising since it clearly is picking up the styling of the specific songs across different genres and languages. I look forward to seeing where this goes.

I also think it would be interesting if there was a way to specify two different songs to find either only the common things and/or to find what the fusion of those two tracks produces.

  • zuminator a year ago

    I agree with everyone's criticisms that it seems to identify similar tempo and melodic riff, irrespective of genre. But to me this is a feature, not a bug. I could see this or something like it opening my eyes to music I would never possibly have found on my own. I really like it!

    Spotify on the other hand seems to want to send me to the same group of artists and tracks I've listened to before, following some Collatz conjecture type algorithm that eventually converges on the same tuned playlist for that genre, no matter what the starting parameters may be.

    • Dwolb a year ago

      It’s a pretty cool idea and gets to a philosophical question really quick “what do people mean when they say they like similar music?”

      Era? Artist? Genre? Sound? Tempo?

      Personally I spend my time finding similar-era music because I like to hear how sounds evolved.

      • zuminator a year ago

        Ideally one would like an algorithm to be able to realize,"this person prefers to explore new music from the same era," vs "that person prefers to jump around to different countries," vs "the other person prefers to remix their existing playlists," and thus come up with the optimal degree of novelty for each listener. Or at least let the user set a novelty slider to customize their own experience.

    • f1refly a year ago

      > But to me this is a feature, not a bug. I could see this or something like it opening my eyes to music I would never possibly have found on my own.

      What makes it different from a big "play me a random song" button then?

      • mejutoco a year ago

        They have some similarity based on the actual music.

        > it seems to identify similar tempo and melodic riff

    • criddell a year ago

      Spotify wants you to listen to the tracks that they are paid to promote.

  • subtech a year ago

    Hey thanks for the feedback! I definitely have a lot of improvement to do on the model, it currently performs better for some styles/genres of music than others.

    But the model architecture I'm using is kinda outdated as well, gotta iterate on it more to improve it further!

    I'm also thinking of letting users upvote/downvote results, which can also help improve quality on the ranking side.

    • runnerup a year ago

      Honestly it's loads better than current Spotify/YouTube Music suggestions. Mostly they just seem to suggest popular stuff that's heavily marketed...even though I seeded all my "thumbs up" with only eclectic stuff.

      Yes, it's hard to find a song I really really like, but 1-in-10 seem to be something I'd add to my eclectic "thumbs up" playlist. And almost none of them are by any artist that I've heard of before.

      This is huge for me. Thanks.

      • chiefalchemist a year ago

        You're not alone. For me, Spotify suggestions are "things you won't hate." Most everything is palatable, but forgettable and too usually not all that interesting.

        • chiefalchemist a year ago

          I'd like to add, it's not all the platforms' fault. Too many artists aren't artists at all. The make too little effort to be unique.

      • colordrops a year ago

        I never get any heavily marketed music recommended on Spotify. Almost invariably it's something obscure. But I only ever listen to obscure music. I guess I'm saying I don't think the Algo is weighted for payola.

        • RhodesianHunter a year ago

          I honestly think they try first to make you happy, second to reduce their spend.

    • turkeygizzard a year ago

      Wanted to hop on and say this is amazing, thank you for sharing this! Also agree that it seems that it's really good at finding literally similar sounding songs, but not what I would expect a friend to recommend (this is both good and bad I guess). As someone else said, this is already way better than my spotify recs

      • subtech a year ago

        ty for ur kind words! <3

    • mustacheemperor a year ago

      I'll note my own experience, that Spotify and Apple Music both struggle to find me latin reggaeton outside a small subset of popular artists, and my first couple searches with this tool have found me so much music I've never heard before that matches exactly the 'vibe' I want to hear, and is introducing me to different-but-related sounds and artists I couldn't have found on my own.

      I agree with the other commenter - this is huge for me. Please, do whatever you need to do to monetize this so it never goes away. I would love to pay you for this.

    • thegabriele a year ago

      I don't know if someone already said this, but as an amateur music producer i would love to upload my songs and discover similarities. Thanks for this Amazing tool

    • defrost a year ago

      FWiW I had one shot and entered "Tabaran"

      Rather than get back anything "acoustically similar" it simply returned a list of other songs on the same album (several of which are far from being acoustically similar).

      No drama, you're attempting to cover a lot of ground, but I'm guessing there was no actual fingerprint there for that work and no sense of other songs that sounded similar.

      ADDENDUM: Okay, I had to select the song <doh> .. but still "something went wrong" - perhaps hugged to death or not found to process. No matter :-)

  • anagram666 a year ago

    If I am not mistaken, it this is only trained on the preview and not on the entire song.

    If you listen to a music with a real intro, it gives strange results. For example: "Goodbye Blue Sky - Pink Floyd" (https://maroofy.com/songs/1065976153)

    • danieldk a year ago

      Same for "Station by Station - David Bowie" -- lot's of tracks with ambient noise.

  • dmitriid a year ago

    Categorising music is surprisingly different.

    See this paper from https://everynoise.com/ : https://everynoise.com/EverynoiseIntro.pdf

    IIRC they try to classify music on 17 different points/features. What you see on the web is an attenpt to visualise (and provide a guide to music based on) some of them

    • vintermann a year ago

      Yes. I think many of those features are based on pre-NN feature detectors (such as BPM), and Danceability, Valence and Energy sound like primary components that have been given names.

      Echo nest was great for its time, but if they have kept up, they're not exposing their more modern learned features to users anymore.

      • dmitriid a year ago

        They were acquired by Spotify, and there's been some work done by/for Spotify since then.

        I'm not at liberty to say what, sadly, as I work for Spotify.

        I think I can say that one of the main challenges is running this analysis for users. It's prohibitively expensive (or was prohibitively expensive) to use this to keep track of and run recommendations for what users are listening for each user.

        It can be used on smaller scales, but, well, it's probably NDA :)

        • macrolime a year ago

          Can you say why Spotify's recommendations are so bad? Something like what OP has made should have been relatively simple to make for Spotify for many, many years already, yet that hasn't happen. Is the whole system just rigged to only recommended a few "sponspored" artists?

          • dmitriid a year ago

            Because, as I said above, it's a very complex problem :)

            I honestly don't know much about recommendations (and what I know I probably cannot tell). But there's definitely continuous work done on them. But it can also be hampered by extremely conflicting requirements (where "some" both means double-digit procent of users and these "some"s overlap with each other):

            - some users want more of the same, some users want a more diverse listening experience. Some of these users are the same user, but on different days

            - some users mostly prefer curated suggestions, some users want ranodm stuff. They can also be the same user :)

            - some users a heavily weigted to only a few artists, some users listen to evereything and anything. And even this can be the same user :)

            - there's probably stuff about licensing, availability, contracts etc. at play as well, because in streaming services it's always there, in very bizarre ways

            Basically every single tweak to recommendations will break them. And yeah, Spotify employees will complain about this more than anyone else, all the time :)

          • vintermann a year ago

            I doubt that "why does your product suck" is one of the things a Spotify employee is allowed to talk freely about in public!

            But I've been watching them, I will speculate. A few years ago, Spotify had two young interns, Sander Dieleman and Aäron van den Oord. We know a bit of what they worked on, because Dieleman blogged on it, and indeed it was something a lot like what OP has made here - only better, I would say. I asked him, and Dieleman was allowed to say that the thing they built was one of the inputs into the then-new Discover Weekly, which made headlines for how outrageously good it was.

            But Dieleman and v.d.Oord did not stay at Spotify. They were headhunted by DeepMind, and have had a VERY impressive track record there over the years.

            And I wonder why. Was there a conflict between the old school ML of the Echo Nest people and the new fancy neural net kids? Or was it just, as GP alludes to, that the NN methods were just too computationally expensive and they failed to justify their costs to leadership?

        • pbronez a year ago

          A distributed, local-first architecture much work well for this. I’m happy for my computer to crunch away on my behalf, generating recommendations and indexing stuff. I’m happy to recontribute that work to a common index of some kind.

          I def prefer for that common index to have a permissive license though!

  • brentis a year ago

    I had the same experience. Could see the element which it matched with, beat, pitch, etc.but missed the riff or nuance that made the source song special to me

  • dbtc a year ago

    I am enjoying Raga's Dance, which is nothing like what I was just listening to. Thank you for the recommendation ;)

  • msla a year ago

    It doesn't seem to find similar-sounding tracks at all for me.

    Examples:

    The Oblio Joes - "Captain of the Moon"

    The Bondage Fairies - "Levenus Supremus"

    ... both chosen so "Just shove a bunch of recent pop-rock at the user" won't work.

  • gradascent a year ago

    I've only tried a few songs but they've mostly been bangers! I did come across a couple examples where the recommended songs just heavily sampled the original but overall very impressed.

ojo-rojo a year ago

I've never commented on HN before, but I feel compelled. Congrats, you get my first.

I've been using your site for 10 minutes and already added song after song to my library. I'm sure you'll improve the matching algorithm over time. This is a great first step; I'm being exposed to songs I've never come across before.

Good job!

  • kjhnstartip a year ago

    Same for me, I don't comment often, but this is great! I like having instrumental music for when I'm working (with no vocals), so if the model could classify vocals vs no vocals that would make it even more useful for me.

  • subtech a year ago

    Thanks a lot, definitely have a lot of work to do with improving the model!

  • mr-pink a year ago

    good job to you for commenting. i wouldn't have checked it out otherwise

AlecSchueler a year ago

This is actually great, one of the most promising recommendation algorithms I've come across.

I love that it's working by sound. So often eg Spotify will insist I check out other bands in the same "scene" or from the same era as other artists I like, and in genres as broad as "70s rock" it can be really tiring.

One of the first tracks I tried was Natural Woman by Carole King. I love that it recommended other slow but rhythmic piano vamps with tender vocals by artists singing in other languages, some modern, some old, as well as some sung by men. It even recommended me more Carole King which is I guess shows it's picking up on something constant in her music.

What impressed me was that it recommended quite a lot of numbers in the same key! It was funny clicking through them and the tonal centre being unchanged. It was like they really were different but the same.

It definitely doesn't understand everything about tonality though! I tried some atonal music next, Naama for solo harpsichord by Iannis Xenakis, expecting to get more atonality back. Nope, first result was very firmly tonal: "Suite in E flat major" by Bach for solo harpsichord. It definitely got some essential aspects of the pieces down but completely missed the central concepts underpinning their musicality.

Very promising like I say, can't wait to try more things out!

  • agentwiggles a year ago

    I'm enjoying it a lot too, I've always been a bit frustrated by what you describe with Spotify. It's like it's keying more on genre than sound, which has both pros and cons, but ends up giving me a lot of music that is nominally in the same genre but missing the qualities I like about a certain song.

    Probably my favorite song of all time is Close to the Edge, by Yes. Spotify will happily provide me with tons of recommendations for 70s prog - much of which I love too, but some of it leaves me cold.

    Maroofy came up with "Good Day" by Leigh Ashford, a song I had never heard of. It's very interesting to compare it to CttE - it's not a very similar song in most respects, but has a similarly prominent bouncy bassline. I like the song, and I don't think I'd have found it via spotify or any of my other usual music discovery sources.

    Overall this is very cool, great project.

    • subtech a year ago

      Thank you so much! With an improved model, things should get a lot better! :D

goldemerald a year ago

Wow, these songs were impressively similar to my queries. I would love for a interpolation playlist feature, where I put in 2 different songs (from say, classic rock and EDM), and I could get 10-20 songs that slowly change from the start song to the end song.

  • jameshart a year ago

    Yes, this: can you get any interesting insights by playing with the embedding vectors? What happens if you add embeddings together? Weighted average of multiple tracks? Follow the average vector for an artist's work over time?

    • subtech a year ago

      100% This is definitely worth exploring, and I'm currently trying to figure out the appropriate front-end UI/UX to expose this functionality for users.

andrewmcwatters a year ago

Tried Erreur 404 by L'Impératrice[1], and I noticed the beat of the other recommended songs were eerily similar!! I'd argue your project is actually too good.

Where Spotify's Discover Weekly tried to connect you to music other people listen to {B, C, D, ...} because you've listened to a particular song {A} {B...->A}, your model quite literally tried to find other music {A₂} that sounds like what you're looking for {A₁} {A₂->A₁}.

Edit: OK, some of these are actually pretty dope...

[1]: https://maroofy.com/songs/1458902217

  • bobsil1 a year ago

    This approach is better for remix beat-matching than as new song recs, IMO.

  • japanman425 a year ago

    … what?

    • popinman322 a year ago

      IIUC: Spotify seems to use something similar to collaborative filtering. People rate songs based on more than similarity, which is what this model seems to provide.

    • wayeq a year ago

      {W₁} {H₂->A₁}*T?

      • japanman425 a year ago

        My thoughts exactly.

        r/iamverysmart vibes… someone who has watched one Lex whatever his name was video on the maths of neural networks…

        • amelius a year ago

          Probably just BS by GPT3.

          • andrewmcwatters a year ago

            Could you not shitpost like the parent, please?

brutus1213 a year ago

How did you get the samples for the song? iTunes allows scraping?

Your project is extremely motivational .. how long did it take you? What did you train on? I do DL for work and just play with things like cifar. This is so inspired.

  • nanidin a year ago

    Apple Music subscription is $12/month and it allows full downloads of songs.

    • helsinkiandrew a year ago

      Hmmm. I would have thought that Apple would detect and block you if you try to download their entire catalog without some kind of permission. If they're the same size as the files in my Apple Music it would take in the order of a petabyte to store (compression would obviously reduce that).

      120M songs would take approximately 1000 years to listen to in normal time and is way beyond normal usage.

    • netrus a year ago

      ... but certainly not ALL songs? I would think they notice if you download more then one minute of audio per minute over a long time.

    • piyush_soni a year ago

      But aren't they DRMed? Or does it let you download in mp3 or related formats directly (I'm not on Apple music)?

      • s3p a year ago

        You're correct, it's DRM only

      • manv1 a year ago

        Analog hole.

subtech a year ago

I just wanted to quickly THANK EVERYONE for taking the time to check this project out and give your feedback!

I honestly didn't expect this project to get this much traffic -- I really can't express my emotions via text rn lol.

I'm working on an improved AI model that should address a lot of the shortcomings of the current one, along with a lot of other features people have mentioned (playlists, deduplicating results, volume control, better search UX, etc.).

Got a lot of updates coming, time to ship! :D

  • LunarAurora a year ago

    You should add an option to donate.

  • bmlzootown a year ago

    Volume control is a must. I had my headphones on, at normal volume, and... let's just say I didn't realize just how loud it would be.

    Other than that, however, this seems neat. I've been trying to listen to new music lately, so this'll definitely come in handy.

toomanyrichies a year ago

Finding sources for input data is something I struggle with when building deep learning models. Out of curiosity, how did you go about programmatically accessing the music files for all 120M+ songs, in order to create your embedding vector? I can't imagine iTunes has an API which would let a person do that.

  • proc0 a year ago

    Also would like to know. I can't even listen to the full songs, and assuming I have to pay. I can't imagine buying 120 million songs, so it has to be some collab with iTunes.

    • exikyut a year ago

      Thinking about both processing time and the difficulty of sustaining 120M downloads' worth of programmatic access, I wouldn't be surprised if this is actually trained on the track previews.

      • yunwal a year ago

        I’m almost positive it is. If you put in a song with a bunch of different styles, sections (e.g. bohemian rhapsody) the suggestions match the preview

    • latexr a year ago

      > so it has to be some collab with iTunes.

      There’s no way today’s Apple would allow such a collaboration. They’d just keep the feature and market it as part of Apple Music.

  • lfkdev a year ago

    Probably scraped them

freetime2 a year ago

I searched for "Poinciana" by Keith Jarrett[1] (one of my all-time favorites).

The top three responses were "La Raya" by Los Islenos [2], "Days of Our Love" by Deepa Dremata [3], and "Flying Home" by Michelle Mack [4].

While I didn't hate any of them, and they all featured a piano, I wouldn't say any of them sound like Keith Jarrett, either.

[1] https://music.apple.com/us/album/poinciana/1446740946?i=1446...

[2] https://music.apple.com/us/album/la-raya-feat-ben-murphy/154...

[3] https://music.apple.com/us/album/days-of-our-love/1608767255...

[4] https://music.apple.com/us/album/flying-home/1577716851?i=15...

  • anentropic a year ago

    I had similar experience

    it doesn't seem to understand anything about the style of the music

    seems to find stuff which is sonically similar rather than musically similar, and even then I'm being generous

    no useful recommendations

raffraffraff a year ago

I'm wondering if anyone has done something similar, but instead of trying to find similarities in the raw audio, they use tags available from sources like Last.FM, Musicbrainz, Discogs etc? And the ultimate answer to that is probably "those sources kinda suck". Discogs is like a trainspotter on the spectrum, fascinated by release IDs. Musicbrainz is kinda similar (each song will have a dozen matches of wildly different quality). Last.FM tags are used-generated which make some of them amazingly useful, and others amazingly detrimental.

I have a human-powered recommendation service that uses my own tags that I've added to my mp3 library over 25 years. I add instruments (not all, just the ones that stands out, like synth, flute, distortion, violin, piano), vocals (male/female, falsetto, spoken, rap), moods (happy, sad, angry, mellow, dramatic, chillout) and genre (I don't go too deep here, because I hate getting recommendations stuck within some obscure sub-genre). And that's it. I get it to play a random highly rated track with a keyword or two, and then use the tags from the first 10 songs to generate the next. But since, for me, music is a somewhat interactive experience, every 10 songs or so, I'll think of something that I want on the list (maybe reminded of it by another one that just played).

Other things I think might be useful for recommendation is Last.FM histories. Think about it, the are hundreds of thousands of active listeners "scrobbling" their listening history. You could easily parse that and group songs together that have been played within 5 songs of each other as long as they're not by the same artist and the time between the songs is around zero (ie: listened to in order, no pauses). Similarity is higher for songs that were next to each other and score drops.

  • alastairp a year ago

    In fact, ListenBrainz (partner project to MusicBrainz) is doing some stuff similar to what you mention about listening histories. We're using the data to generate similarity based on when songs are listened to each other in "listening sessions" along with other songs.

    Follow the troi-bot user with a ListenBrainz account, and we'll generate you a daily playlist: https://listenbrainz.org/user/troi-bot

    This is still very much work-in-progress, but we're doing as much as possible out in the open to solicit feedback from people.

  • macrolime a year ago

    I've tried with Discogs and found it to work pretty well. Kinda similar to what OP did just the "embedding" vectors was created by the Genre/Styles on Discogs. I didn't have a Vector database though, so it was kinda very slow. On Discogs those tags are per album and not per track. To create a playlist of say 10 songs similar to a song, I'd find the ten closest albums, then search for them on last.fm and pick the most popular track on each to add to the playlist.

    • raffraffraff a year ago

      Per-album metadata is useless for a lot of stuff that I like. It's even useless for a lot of The Beatles stuff because they tend to have a range of styles on an album and tended to bring in weird instruments on individual tracks.

  • nxpnsv a year ago

    Discogs is great, it just doesn't concern it self with how the music sounds...

    • raffraffraff a year ago

      Which is unfortunate because it has (on a tiny number of releases) instruments and vocal tags. It's just so unreliable. AllMusic is another decent source for tags, but not instruments. It's the age-old problem with ML/AI: data quality. Garbage in, garbage out. If only we could crowd-sourcev listeners and get them to tag music from a list of available moods, instruments etc. Oh wait .. that's exactly the feature that recommendations services have been removing for the last 10 years.

      • vintermann a year ago

        User tagging isn't a panacea either, because people tag inconsistently, and people who tag a lot are probably not very representative.

        For an extreme example of that, see the boorus. Some machine learning people have become interested in those, since they are huge dataset of extensively tagged material ... or maybe it's the booru people who have become more interested in machine learning. Either way, I'm sure they're great, if you're into waifu anime, porn, or waifu anime porn. Both types, country AND western, as they said in the Blues Brothers movie. Any tag remotely subjective (such as "beautiful", God help you) is going to be extremely coloured by the tastes of an extreme fringe.

        At least, relying on fanatics to do the work for them, I assume they've got a handle on simple spam on the boorus. Commercial recommender service tagging systems don't have that luxury, and that's probably why they end up eventually removing them.

        • raffraffraff a year ago

          This is very true. I'd pay for a metadata-only / playlist service that works with Spotify/Tidal/Apple/local music.

          And don't allow free-text tags. Instead you give a list of available tags - the lowest number needed to describe most tracks. I mean, let people add their own if they want, but you should ignore those while training the model.

          I actually think that instead of trying to tag some specific mood (eg "happy") some sounds be a sliding scale between two opposites:

          happy<-------|--->sad

          Instrument tags are easier to understand. Give a list of instruments (or instrument types, because the user might not know precisely which woodwind or percussion instrument it is) with checkboxes beside each.

          Some users will be experts because they play woodwind. Let those users apply to become experts, pass a test, "identify the instrument", and if they pass, give them half price subscription as long as they moderate X tunes per week.

      • class4behavior a year ago

        rateyourmusic.com is an alternative to allmusic.com while chosic.com focuses on finding music.

        The later has generated more similar music for me so far. But I welcome every additional project improving the search for music which has been so neglected by most services.

        • raffraffraff a year ago

          I've been a paying subscriber to rateyourmusic for years because one extra feature you get is per-track ratings. Extremely useful if you're in discovery mode.

neilk a year ago

Quite impressive given you’re working with tiny snippets of songs. Kudos.

This is so interesting out of the gate that criticisms seem rather foolish. But I’ll just say what I tried.

I tried pop songs, jazz tunes, and even rather strange, unique recordings like “One Step Beyond” by Madness. And every time I got something with similar aspects.

I also like that all cultures were represented.

Would I use this to find music? Maybe? It kind of underscores that we don’t always listen just for a particular sound, but for what that artist represents to us. I may really like a band and absolutely hate a band that’s pretty much a copy of them (maybe done a few decades later) precisely because they are too much a copy.

I don’t think I could build playlists (in this current offering) because the songs are _too_ similar. Maybe if I want an exercise playlist with a particular bpm and vibe?

I think if I were looking for music for TV or advertising this would be an absolute winner. If I feel like I want a song like Daft Punk here, but I can’t afford to license it, I can use your tool to find a lot of tracks with similar vibes that I can afford or that I haven’t heard of.

huhtenberg a year ago

Search doesn't work in a recent Firefox on Windows - typing anything in the search box shows the "Loading..." dropout below it and then nothing happens. This generates no network activity and the console shows:

    Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote
    resource at https://cdn.segment.com/v1/projects/F4GFNelOpRsgUJc6iwTuiXr2t6AH5LCY/settings.
    (Reason: CORS request did not succeed). Status code: (null).

    NetworkError when attempting to fetch resource  --  _app-f73fb5ecceb5fc1e.js:1:82295
PS. It looks like your code has some hard dependency on segment.com and/or panelbear.com tracking services. These are blocked by default by uBlock. Turning uBlock off seems to resolve the issue.
  • efreak a year ago

    Stuck on my mobile device. Disabled both ublock and Firefox enhanced tracking restrictions. Tried brave, chrome, Samsung internet, and regular Firefox (usually use Mull). Nothing works.

  • SketchySeaBeast a year ago

    I've tried in both Firefox and Chrome and getting the same issue. I assume settings holds that magic that makes the network requests because right now none are being made.

    Edit: Turned off privacy badger and then it started making requests on Firefox.

  • MrGilbert a year ago

    Same goes for Vivaldi... I thought it might have received the famous "hn-hug-of-death".

    //Edit: Just read the edit regarding ublock origin. So this website definitely needs a Privacy Policy then.

  • achairapart a year ago

    Same. Get stuck on an infinite loading. Even without uBlock and similar. Too bad sounded cool. :(

  • iopq a year ago

    Turned off uBlock, still the same issue

  • addandsubtract a year ago

    Weird, I'm using Firefox with uBO and it's working fine.

  • Toutouxc a year ago

    Getting the same error on macOS, both Safari and Firefox.

bombela a year ago

Everything loads instantly. Plays almost instantly. And it really seems to find very similar style/beat/music. Interface is clean.

I am not sure if intentional, but the loading animation on the play buttons feels like it is in sync with when the music starts playing. Makes for a responsive feedback.

  • yellow_lead a year ago

    Hm, maybe it's the hug of death but I can't search for any songs as of now. (Stuck loading)

    EDIT: It's working on my desktop. Above was on mobile Firefox/Chrome.

  • subtech a year ago

    Thanks! :)

    Let's just say that setting up the backend systems involved a lot of tears & frustration lmfao

    • emehrkay a year ago

      What tech did you use to pull down all of this data and comb through it?

snow_mac a year ago

How did you get access to 120,000,000 songs from iTunes? Not just the listing, but the actual audio.

  • charcircuit a year ago

    The preview audio is free. It may just be 120,000,000 previews.

    • Izkata a year ago

      Totally explains this part of the current top comment here:

      > but much more often it feels like a 20 second section was used to define the original song and it misses the underlying concept

      • qiller a year ago

        Yeah, like the linked The Medallion Calls example catches similarities to the slow starting section of the track and totally misses the main part

    • yreg a year ago

      Even so, how do you get the 120M previews?

AndyKelley a year ago

This is so sweet. It's finding gems that when I look them up on YouTube, are 10+ years old and sub-200 views. Total sleepers, but I can discover them through this service. I love it. Great work.

winrid a year ago

How did you scrape the audio of 120M songs? That sounds expensive?

  • cactusplant7374 a year ago

    Also curious about this… It seems impossible.

    • sometimeshuman a year ago

      I wonder this too. I tried scraping iOS App reviews from Apple's server and I didn't get far before my IP was blocked.

  • gigel82 a year ago

    Probably just used the previews (makes sense, songs tend to keep their rhythm throughout).

    • winrid a year ago

      Lots of industrial metal has a drawn out start before the actual song lol

      • kristiandupont a year ago

        Previews don't start at 0:00 but at a place selected by the artist give the best quick impression possible. Of course, I don't know what they've done with the "old" catalog.

paxys a year ago

How the hell do you even get access to the entire iTunes catalog?

  • fallingmeat a year ago

    i think that would be an even more interest post.

    • hgsgm a year ago

      "Apple Music doesn't have rate-limiting. The end."

  • fragmede a year ago

    um, isn't that just the Apple Music paid subscription service, their Spotify competitor? They only advertise ("over") 100M songs though, I'm not sure where the extra 20M come from.

    https://music.apple.com/subscribe

    • paxys a year ago

      Sure, but it really can't be as simple as paying $10 for the month and looping through the entire catalog and downloading it...right? Did nothing in their system catch millions of simultaneous track requests and a petabyte+ data transfer for a single user?

      • fragmede a year ago

        Why would that be against the TOS?

jspann a year ago

That is a great idea! Measuring distance between embeddings has always been a cool concept (ex. If I have a vector that represents the word "king" and from it subtract the vector that represents "man" then add the vector that represents "woman" it will approximately equal the vector for "queen") and it's awesome to see the same concept applied to music.

Most other services try to find matches by seeing what other songs the people who like the searched song like, and finding trends amongst those. This site finds songs with similar sounds and rhythms by looking in the vector space. Awesome! Congrats on the finished site!

nightkall a year ago

Fantastic tool, thanks for making it!

As others said, it would be a nice option to export it as a playlist for Spotify/Apple/Youtube or a .txt file with "Artist - Track name" in each line. Then you can import the txt file into a playlist converter tool like www.tunemymusic.com and play it in your favorite music service. Mine is discoverquickly.com where you can listen Spotify playlists fast with mouseover, and discover related songs/artists.

An autoplay x seconds of every track, where you can choose the number of seconds, would be a nice addition too. This way you can discover music while doing other things.

  • subtech a year ago

    Playlist + some sort of auto-playing mechanic is coming!

rcarr a year ago

Possibly an unpopular opinion (which is ironic), but I think this could do with taking popularity into account. The vast majority of music out there is generic landfill at best, and just outright bad at worst. I think once you've done the first pass and got the sonically similar songs there should be some kind of filter which prioritises tracks with higher listener counts which would inject some 'wisdom of crowds' into the decision making. It would be a pretty cool feature to then be able to have this setting on a slider with obscure at one end and popular at the other.

ZeroCooly a year ago

I've found probably the most egregious example of what knaik94's comment is talking about: https://maroofy.com/songs/214977681 ("Being Alive" from Company)

All the AI model seems to understand is the opening 5 seconds piano. Listen to the actual song it just opens like that because it's from a play.

I think this will struggle with any song that has build up, it's very promising, though you need a sample of entire songs not the sample Itunes gives you.

  • subtech a year ago

    Definitely understand the current model's shortcomings that people have mentioned.

    I actually think this is largely in part due to how the current model + training process is designed.

    I have some ideas for improving things on this front, will give it a try and push an update soon! :)

lanza a year ago

Neat, but I'm convinced after giving it a try that this is absolutely not the way to do music recommendation. The recommendations were complete misses for me.

xipho a year ago

Tried with a song I knew well- Everything In Its Right Place.

Feels a little bit like fortune telling, I guess it is, in the sense that I am listening closely to what makes the songs similar, not just listening, but actively trying to find the similarities, so even a couple notes in progression, or drum-beats and I'll say oh, yes, that matches.

Finds very different music, not necessarily what I'd listen to in many cases, but kudos for getting me clicking through a decent pile before going wait, that's a nope, you're grasping AI-type-being.

tippysdemise a year ago

Well done!

A comment: for classical music, it would be necessary to see the name of the composer. Currently, it's only the performing artist that's displayed in the interface.

jrd259 a year ago

It did well on ""Eyes of the World" Grateful Dead finding some artists with similar vibe I never heard from. It did poorly in "Heart of the Sunrise" by Yes and "Nautilus" by COVET https://maroofy.com/songs/1084458728.

One thing that stuck out for me is that for some genres (not jazz, not classic) the singing really matters. Covet, for example, is instrumental music, no singer at all. I wonder if you'd get better results by separately training on the vocals and the rest. (I think I've read that vocal extraction works these days, though I confess it's a lot more work.)

paxys a year ago

Solid work, but this only reinforces my belief that music recommendations is an area that is not (yet) cracked by AI. You can find similar songs with great accuracy, sure, but even if two songs are close to each other by all calculable metrics they can still vary drastically in subjective quality.

And a quick suggestion – all my top results when searching for popular songs were songs that were either different versions of it or those that had heavily sampled the original. While the algorithm is spot on, that isn't exactly what I am looking for. Maybe have a filter to exclude results that are too close a match?

  • popinman322 a year ago

    Have you tried Gnoosic[0] yet? It's a more standard recommender system, I think. Some of the recommendations are really on point.

    [0]: https://www.gnoosic.com/

    • efreak a year ago

      Gnoosic and other existing tools are entirely useless for some things. Most music tools don't even allow entry of individual songs, which can really mess things up if your artist has changed sound styles over the years, or plays in multiple genres.

      For example, any time I hear music I like in a Disney movie and want to hear similar music, all I can get recommendations for is movie soundtracks or whatever the guest artist is known for.

      The example that covers up for me on occasion is the soundtrack to The Road To El Dorado, specifically the instrumental tracks (Cheldorado, The Brig, Wonders of the New World); Chosic.com gives me a ton of other soundtracks, mostly orchestral scores, for things like Kung Fu Panda, LOTR, Assassin's Creed, Angry Birds, POTC, etc. While it's nice to be able to tweak the algorithm on chosic to pick quiet movie scores for background music, that's not what I'm looking for. And gnoosic is entirely useless for that.

rohith2506 a year ago

Tried few recommendations and can definitely use an alternative for Spotify radio.

Seems like you are dodging the question of data access and I am not sure why. Even running an intelligent scraper to download 120M song previews sounds too complex and might take days to months as you have to rotate IPs and not bombard the server all the time. If you manage to do that, kudos. That itself is a great achievement. If not, can you let us know how did you get the data access? You might help other devs who want to try something similar

  • m3kw9 a year ago

    He’s not obligated to tell us if he knows it’s an edge he wants to keep

    • rohith2506 a year ago

      I don’t think I agree with that. If he is scraping, all he can say is yes. The details of the scraper is proprietary and that’s his edge for sure.

      If not and he found an unauthorized source of retrieving information, this reveals a serious security breach in iTunes API and it’s my valid concern as a paid customer.

      120M is a huge number and it’s not even text. It’s media

      • yunwal a year ago

        I’m pretty sure the model is trained on the 30 second previews. If you type in a song with a lot of different sections, the suggestions match the preview and not the rest of the song. Bohemian rhapsody, for example

xnx a year ago

How did you download that many songs? Wouldn't that be something on the order of 360 terabytes?

  • LunarAurora a year ago

    I guess he is working with the 30s low rez previews, I know you can download them with the Spotify API. Apple Music should be similar.

    • ComplexSystems a year ago

      Wouldn't this still be about 36 terabytes of data?

      • winrid a year ago

        Meh, you can store that on a single d3en.2xlarge for $780.

      • charcircuit a year ago

        You would only need to store the embeddings and not the file audio itself.

        • KomoD a year ago

          Could you elaborate?

  • youssefabdelm a year ago

    Also curious about this... where did you get the dataset?

thom a year ago

Nice snappy UI. I found a couple of times on iOS that after I'd clicked through to Apple Music, if I returned, the app had somehow stopped being able to play again but this is very well done. I think I would give a boost to song names over bands/albums in the search as I think a fuzzy song match is probably more likely what a user wants than an exact album/band match on something they've not heard of. I'd definitely use a playlist feature that just queues up the top 20 matches in Apple Music, but I don't know what the API looks like. Anyway, only feeding back because it's great.

I can certainly see what the model is getting at each time, and I've not hated any of its suggestions so far, but I've also not stumbled over any new favourites yet. I don't know what kind of features the model is able to learn, I think it might miss one of the things I like most in music, which is not just dynamics, but something that builds tension over time and then blows up. If there are no longer range features like that I'd certainly experiment with them.

I've had a lot of success with Apple's own suggestions (which are admittedly extremely hit or miss), and I've probably grown my collection 1000% in my 30s and 40s after letting music drift away from me in my 20s. There's nothing better than the feeling of a new suggestion and you click through, and there's no artist profile because they're unknown, and they've got like 300 Twitter followers but you love them like a 15 year old. At least once on here I clicked through and found that I was listening to the only song ever recorded by someone, which seemed quite special.

madelyn a year ago

This is FANTASTIC! There's a ton of naysayers here, but I'm going through songs and having a great time with this.

It seems most forms of EDM work great with this setup! One funny thing is for heavily remixed tracks, all the remixes pop up as suggestions. :)

  • subtech a year ago

    Thanks! <3

    The current model does tend to do well with EDM, but got a new model in the works that should hopefully address a lot of the shortcomings of the current one!

registeredcorn a year ago

The search feature is great from what I can tell!

I tried an obscure(?) Japanese rock band "9 Ball" and they were extremely high on the search results. I can't even find the album by using Apple Music.

Searching for 9 Ball in Maroofy shows them in spots 2-6, easily: https://maroofy.com/songs/185487468

When I try to search for the same band in Apple Music, I get this jumbled mess of results: https://music.apple.com/us/search?term=9%20ball

Even searching for a specific song of the band, the correct artist is 5th on the list: https://music.apple.com/us/search?term=9%20ball%2024%20hours and doesn't even link to any of their songs: https://music.apple.com/us/artist/9-ball/28599994

I literally cannot use Apple Music search to get to the page to buy Sound Seeds by 9 Ball, without going through Maroofy first. I had thought Apple removed that album years ago due to some kind of licensing issue. Strangley enough, even though there is an option to "Buy for $7.99" clicking on the button in Apple Music doesn't seem to initate any kind of prompt. Maybe this is old data, but the previews are still available? Who knows. Either way, the search for that information was excellent.

jodacola a year ago

Something I’ve dreamed about but haven’t found: a tool/service/etc. that can take my tastes from an era, say my eclectic early 2000s mix of jazz, electronic, and tango, and find me a similar set of music I might be interested in from the 2020s or the 1990s. I would love to explore my own taste in music in different eras. Interesting work. Reminded me of my little dream.

mmahemoff a year ago

Exciting to see AI used this way. My main feedback is I'd look at incorporating other factors to rank results, not purely how similar it sounds. Audiophiles might prefer a pure similarity ranking, but that could be offered as a non-default setting if anything.

e.g. I'm sometimes seeing several essentially identical tracks at the top of recommendations (also mentioned in a comment by rayshan). You probably want to penalise tracks like that so they're pushed well down the list, i.e. penalise matches by metadata similarity (artist, title, etc).

OTOH I think it should boost results from more popular songs/artists, so the top result is less likely to be an obscure result that happens to sound similar. Some might argue it's a good thing to discover/highlight obscure artists, but for most users, it's more practical to recommend results that are already "proven" to be appealing. More obscure results could still be blended in if highlighting them is seen as a goal of the project.

  • knaik94 a year ago

    I think popularity based ranking should absolutely be optional and a toggle. I think it's reasonable to have default rank be popularity, but in my opinion, the value of a model like this is finding obscure tracks. I also would definitely like seeing an exposed toggle, and maybe automatically toggle it off when someone presses refresh?

    • mmahemoff a year ago

      Sure, a toggle is one option. The main point is to introduce popularity as a factor and ultimately the best UI and defaults are best decided through A-B testing.

      I'd also add that it's usually a good idea to incorporate this setting into the URL, regardless of the UI, so that a specific order can be bookmarked and shared.

  • emodendroket a year ago

    If the point was to surface popular recommendations why would I go to a different Web site instead of just using what Apple Music already gives me? It has to do something different to be interesting.

    • mmahemoff a year ago

      Not everyone is using Apple Music (or its competition).

      Even for those who are using a music platform, this project still has its unique algorithm that’s likely to surface distinct results. Partly because the developer can do their own innovation and partly because the platforms influence the algorithm in ways that aren’t necessarily aligned with users’ interests. e.g. promoting artists they have favorable relationships with.

      The developer can also offer features that Apple et al aren’t offering, perhaps because it would complicate their app too much or isn’t high priority, but makes sense for a specialized tool like this. e.g. fine grained settings to filter and sort results.

      • emodendroket a year ago

        No, but the tool already features heavy integration with Apple Music, so I assumed that was the target demographic.

poutrathor a year ago

https://maroofy.com/songs/724345280 That's just the same song always 6 times in a row. you probably already know, one would prefer to have removed versions of the same song by the same artist at the very least.

neurogence a year ago

Bro, don't listen to the critics. It is amazing as it is! Don't fix it if it's not broken. This is much better than my spotify recs. Much much better!

vivegi a year ago

This is a very music recommendation engine. The best feature I guess would be the serendipitous finding of unknown artists we might not hear otherwise. Great job!

robbiemitchell a year ago

This is a project I've always dreamed of building! Already pretty excited about some of the recommendations I'm getting in some niche genres.

Feature request: allow me to auth Spotify and click a button next to each track to add a track to a "Maroofy Recs" playlist

  • subtech a year ago

    Noted! A lot of people have asked for a playlist support, definitely shipping that soon!

JasonFruit a year ago

I'm sure this has a lot of value, and it's cool to see. I immediately am interested! One thing came up in the first search that's frequently overlooked in music, though: unless the prompt is Christmas music, the response should probably not be Christmas music.

jointpdf a year ago

Holy cow does this thing have wildly obscure taste in tunes. I plugged in “Work It” — Marie Davidson, and it returned “Beautiful Weather” — Blemow. This is an 8-minute opus of a techno jam from the album Dutch Cow #13—the 10th and final Holy Cow album released in 2018, a true annus mirabilis from Blemow.

IMO my idea for making something like this really cool is to give the user more explainability (why are these two songs similar? according to which factors?), and then more control over search results (brainstorming here, but stuff like an obscurity slider, importance of beat similarity slider, etc.). You can try to extract explainable factors from your embeddings with something like NMF.

(PS—I like the esoteric results. This is cool, good job.)

BugsJustFindMe a year ago

Feedback: "sounds like" for music is more than just rhythm and tone. The search results are all useless for me because two songs with similar sheet music often have wildly different lyrical styles and subjects.

  • bredren a year ago

    It’s interesting from a musicology POV.

    I was looking at Islands in the Stream by Dolly Parton and Kenny Rogers and it had some Latin neighbors that make some sense to me from the synths in IitS.

  • pbhjpbhj a year ago

    What would you say was the best music similarity search or recommendation engine you've used?

kriro a year ago

Nice and very responsive, well done. I searched for "Imeprial March" (the John Williams Wiener Philharmoniker version) and this was one of the highest ranked results: Inauguración del Ferrocarril (by Nathan Stornetta). I kind of chuckle thinking about what a happy empire this would be with that theme song. And of course it also answers my initial research question...which national anthem is highest ranked for Imperial March. The answer is Taiwan...make of this what you will. Star Spangled Banner is the second one a bit down the results list.

giancarlostoro a year ago

Interesting, I tried a few songs and artist combinations:

I picked a Three 6 Mafia song I used to listen to in my younger years, the particular song I chose has everything in the soundtrack from high hats, to trumpets, several rappers with varying styles of exerting their voices, and a lot of the resultant songs have either high hats or similar sounding trumpets, or similar sounding drums, and in other cases, something about how the artists rap reminds me slightly of Three 6 Mafia's own style. I don't recognize any of the artists suggested, which is a good thing, it basically did what it was supposed to.

Next I picked a song by Bullet For My Valentine, not all the songs are quite nu-metal but that's because the song I chose isn't typical nu-metal (or whatever genre they were...) unlike some other metal bands they dont spend the whole song screaming, they actually do normal singing, so it picked up what to me sound like old school metal bands like Dio, Iron Maiden and so on... So it picks up on how some parts of the song are, which can get you mixed results, so if you want to find a similar artist down to the musical style, pick the most "metal" song you can find by them. This isn't an issue for me since I like some of those artists too, but I would rather get more bands that are more like Bullet For My Valentine, though it seemingly did catch one or two I had not heard of before.

Also tried another metal band Killswitch Engage with the song "My Curse" and it recommended another Killswitch Engage song titled "For You" which honestly, is weirdly close in style and I never noticed that before. Again this one's another metal band, I just wanted to see how it would do.

Lastly, I tried a Spanish reggaeton song, and I was not disappointed. You really did a hell of a job on this.

My only wish is that Apple would hire you / buy out your efforts because I wish this was part of Apple Music, their "suggested music" is awful, and the genre discovery type of thing doesn't always yield artists I remotely care for, I feel more inclined to listen to some of the suggested songs but it sucks you can only give samples and link to the song directly, if you could generate playlists from the results it would be good, this isn't a you issue, its moreso an Apple limitation.

mikeponders a year ago

Good work! I'm trying this out. It seems it tries somehow to match keys tempos and percussion characteristics.

Some suggestions:

- Have a relevant/irrelevant button, so users can tag useful music and suggestions that were irrelevant. Save that data and use it to make your model better, either in realtime or incrementally.

- Allow some other options for sorting tracks also. Have the most relevant but also the most popular (as in charting) on top. Or maybe sort by the user rankings (how relevant they think a track is).

gpjanik a year ago

The similarities between songs are quite literal (e.g. songs are similar in some technical sense), but their mood, cultural meaning, etc., is completely different. I got some pretty festive pop as recommendations for similar songs to Enjoy the Silence from Depeche Mode - but the chord progressions and amount of syllables in choirs were similar. No idea how this works and whether that's by chance or on purpose.

omnibrain a year ago

It's a great idea and I like it a lot. Especially the execution. It loads nearly instantly and has everything I want there.

But of course I tried it with 2 very difficult songs I never could find anything like it: Desert Rose by Sting and Zoolook by Jarre. For Desert Rose it found some similarish things (but of course failed to capture the essence, what makes Desert Rose so unique) but for Zoolook it completely fell apart.

pbronez a year ago

There might be an interesting open source / self hosting angle to this. Some folks have a large library of music stored locally. Platforms like Roon can give you recommendations on top of this, but are expensive and include a lot of other features.

You could provide discovery services to these users in exchange for model updates and feedback. Couple thoughts on this:

- there are modern techniques to update an ML model at many edge locations, then combine the learnings without violating user privacy. One common application is type-ahead models.

- People who have large local music collections tend to care about music, and would take the time to provide high quality labels for you.

- computers used as media servers often have unused compute cycles because music playback is not that intense and most folks don’t have music on 24/7. You could harness these to reduce training costs for your model

- These libraries would give you access to the long tail of the music catalog, including many things that aren’t on iTunes or other streaming services

- This would also put you in a position to run an open music catalog. Your embedding index would be a key differentiator from existing options.

johnx123-up a year ago

Interesting. Some feedback

1. Please add match score

2. Group and fold duplicates

3. Add the year with the sort feature - to identify rip offs

  • subtech a year ago

    Noted! got a lot of updates shipping soon.

jasebell a year ago

Nice work. Are you going to write a blog post on the process. Would love to read it.

amatecha a year ago

Super sick, thanks for sharing this. I found some really interesting songs and artists to check out later. It's very time-consuming to listen through all the "matches" as many of them are not close to what made the "source" track appealing to me, but that's difficult to quantify for each song. Still, tons of stuff bookmarked and added to my Bandcamp wishlist :)

SnowflakeOnIce a year ago

What vector database do you use? Did you run into any scalability challenges there?

  • subtech a year ago

    100% ran into a ton of scalability challenges lol. Maybe I should write a blog post about it sometime.

    But for now, ended up using plain old FAISS.

mustacheemperor a year ago

This is incredible! I've gotten really into some niche genres this year and in trying to discover more of it I have been really frustrated by Spotify's limited radio mixes - it seems like I've been "black holed" into the same 100 or so songs with rare exceptions, for any of the albums I autoplay from in a given genre. This really might be the best music discovery tool I've ever used, it reminds me of how magic Pandora felt the first time I used it.

My only request is to please let me multiselect some or all of the songs the algorithm finds and automatically create a playlist from them on Apple Music. The very first search I tried, for a song that Spotify always creates the same limited mix from, brought up a ton of music I want to check out.

Edit: on that note, it would also be neat to request a combined playlist that mixes together multiple searches. This might help provide feedback for the AI as well about what artists/songs people consider 'similar' to each other.

DrNosferatu a year ago

- How about an aggregate function and year/decade result filters?

Say, to figure out what are The Pixies ('measured') musical references (y)

Ensorceled a year ago

Interesting, I put in a bunch of my favourite songs and found nothing I liked. The songs seem to be over matching on drum beat and tempo so there is a similarity to the song I suggested and the matches but it's often superficial.

For instance I picked a song with a very strong snare drum line. All the suggestions also had a strong snare drum line but wildly different melodies, genre's, tone, etc.

larryfreeman a year ago

Possible bug: I keep getting an error when I try to find similar songs to any song by Neutral Milk Hotel. (For example: O Comely, King of Carrot Flowers Part I) https://maroofy.com/songs/5611590

Love your application! Great job. Found some very surprising similarities to many songs that I tested.

jpeter a year ago

Wow great project. I tried it with a song and I kind of get what I expected. The results are more unique compared to other song search sites

  • subtech a year ago

    Hey thanks for your feedback! :D

countmora a year ago

I've spun up Hitchin' a Ride by Green Day and I think the results are quite interesting. Despite them being completely different from one another, they somehow manage to catch the vibe of certain sections of the song.

Here's the link: https://maroofy.com/songs/1159778217

Really cool project.

mguin a year ago

It's actually great. I got a ton of good recommendations. The key is to actually use it to search songs of similar beat or tone.

  • subtech a year ago

    Personally, from using it a lot during development, I found that I kinda developed a sense for which types of songs it'll do really well on, and which types of songs it will sometimes struggle with.

    But a lot of this should go away with a better, improved model!

Knucklebones a year ago

This is amazing. I actually really like that it gives you songs across completely different genres and moods (while keeping the beat). One piece of feedback - it'd be nice if the search box didn't clear if you click out of it to e.g. look at another tab while it loads.

If you ever write a blog post about the process of making this, I'd love to read it.

gattis a year ago

It's quite good. Tried a couple house/electro/ebm tracks and it gave a good mix of stuff you'd expect and novel stuff you wouldn't. It finds a lot of songs that sample a given song, for obvious reasons. Glad someone gave this a go without any collaborative filtering or user ratings, just digging through waveforms alone.

toomanyrichies a year ago

I'm teaching myself deep learning at the moment, and learning about embedding vectors was the first "holy shit!" moment I had.

To me, it's fascinating that not only can you:

-represent things like words as vectors,

-map them in a multi-dimensional space, and

-use that space to find the "closest" neighbors (i.e. the most similar words)…

…but you can actually perform "mathematical" operations on them.

The canonical example is that, if you represent "king", "queen", "man", and "woman" as vectors in your embedding space, then you can ask your model "What is king - man + woman?" and (provided it's trained appropriately) it will return "queen".

I look forward to the day when we can ask something like "What is 'Bohemian Rhapsody' - 'Queen' + 'Velvet Underground'?". Which, if OP's model were to be trained on whole songs instead of previews, would probably be a reality!

rayshan a year ago

Interesting idea. I think it needs some finetuning to find songs that are similar but not covers. For well-covered songs like Bohemian Rhapsody, this is more like a cover-finder.

Also this song, Shangri-La Is Calling, is bugging out: https://maroofy.com/songs/1632142336

Semaphor a year ago

I think I either found some kind of bug or Apple Music is really weird.

The similar songs for Anaal Nathrakh - Endarkenment [0] have Annal Nathrakh with エンダーケンメント at the top. So a misspelling of the band, and apparently (according to google translate) a Japanese transliteration of the song title (Endākenmento, enderkenment). The song itself is literally the same one, others listed are their other songs, or more Japanese transliterations of their songs. The weird versions can be played, but the linked page does not exist on Apple Music [1]

[0]: https://maroofy.com/songs/1522388463

[1]: https://music.apple.com/album/%E3%82%A8%E3%83%B3%E3%83%80%E3...

  • subtech a year ago

    Ya Apple Music can have some interesting duplicates in their catalog lol :/

sthatipamala a year ago

Can you do some deduping? A lot of the matches are just the same song appearing on multiple albums or single vs. album version.

  • subtech a year ago

    Yup sorry about this bug! Need to do some additional post-processing to prevent dupes in the catalog from showing up in the results.

vintermann a year ago

I entered "Spiro - The Vapourer", a brilliant dance music inspired instrumental folk piece with intense, layered melodies.

It recommended "Buzz Cazon - Sentimental Attitude".

I have trouble putting into words how bad that recommendation was. Seriously, just compare those two pieces, do they have ANYTHING in common besides maybe vaguely the tempo?

  • cousin_it a year ago

    Wait, you really don't hear the similarity? To me the two pieces sound uncanny close. The tempo sure, but also the rhythm guitar does almost the same thing, and the higher pitched instruments in both have similar timbre and do similar things. You could probably mix the two pieces together and it'd sound alright.

    This happened to me before, I'd point out that for example Reckoning Song and Counting Stars are the same song, but people would swear they have nothing in common. Or Sail vs Believer, why was the second one even made. Is it that people focus mostly on the manner/vibe of a song, and don't notice what it actually sounds like?

    • vintermann a year ago

      I think maybe you can argue that from the 30 second excerpt from the middle of the song (which I guess the model is trained on). The Vapourer briefly drops into the "Arches" theme there, an original tune from one of Spiro's earlier albums which is one of the overlapping tunes in the piece. But I still don't think the similarity is great!

  • vintermann a year ago

    OK, but I'll concede it does SOMETHING pretty wild. Just not necessarily something good for recommendations.

    Because I tried another song: "Sam Sweeney - The King of Prussia's March", and the second recommendation was "Polsk Nr. 48" by Rasmus Storm.

    The wild thing? Well, first of all, Rasmus Storm isn't strictly speaking the artist. He was the composer. He was a 17th century Danish fiddler, who - rarely for his time and social standing - knew music notation, and wrote down his tunes in a book.

    The crazy thing is that in that same book, "Murchy nr. 14" is the tune better known in England as "The King of Prussia's March"!

    The odds of that happening by chance has to be absolutely tiny. "Obscure" doesn't even begin to describe it when it comes to Rasmus Storm's notebook.

youssefabdelm a year ago

If you could somehow filter the beginner bedroom producers the results might be even more compelling...but great job so far!

1Y3 a year ago

Super interesting to read the varying opinions on here. Seems it differs a lot for music styles and personal preferences. I tried a few songs from my favorites and while the similarities were cool to see, it didn't correlate to actually liking the song for me that well. Then again I couldn't say what makes me like a song. My best guess currently is a correlation the voice of the singer(s) for songs with lyrics but not the text in itself.

Still really excited to see updates on this, especially recommendations based on a playlist, since the big 2 (Apple Music, Spotify) haven't figured out recommendation for a all-over-the-place music taste yet.

majikandy a year ago

Wow. The songs it suggests have such a similar tempo and vibe that when I try it with songs I don’t know I can’t really remember which is which.

I wonder if this app has more potential for the record companies and songwriters in terms of finding copyright infringement than it does for the consumer finding new music they like?

LunarAurora a year ago

"similar-sounding music" is indeed a good way to put it. 120 millions ! This is awesome! Reminds me of https://cyanite.ai/ (Search by audio). I will have to give it more time, but so far, I like your results better. Well done!

ultracakebakery a year ago

This site works great for EDM. For example, just lookup some random future house song and it will pump out tons of similar tracks. This is a great tool for people that want to keep music consistent in their content, but don't want it to get boring. I will be using this for as long as possible!

317070 a year ago

Lot me try this with Lotuk by Arsenal. Every other service will only recommend other songs from Belgium, disregarding any other form of similarity (to my dispair).

Currently, the website seems down though?

EDIT: the results are ... not what I expected. They are similar in some sense, but I wouldn't consider them "musically" similar. It's like each of the recommendations has something similar, whether the drums, the baseline or the voice. But none of them feel similar in the whole.

It's as if similarity is measured with an L2-norm in a high-dimensional embedding space, instead of cosine similarity? Did you experiment with different scoring metrics in semantic search? I would recommend cosine similarity, if this is an embedding space trained with neural networks, whether with a contrastive loss or with a gaussian prior.

rcme a year ago

The results do sound very similar, which is interesting from a philosophical point of view: after searching all my favorite songs, I liked not one similar sounding result. What makes one enjoy art vs. not? There's clearly more to it than how something "sounds."

fblp a year ago

A good chance OP is going to hear from Apple legal, Apple recruiting, or both =) But cool project!

LoveMortuus a year ago

I think what you've done is very cool! But I haven't had much luck with it, I think it's because of the emotions that I've anchored into the songs that I like, which is very noticeably missing in the songs that are suggested.

This would also explain why people love and cherish songs that would objectively speaking be considered bad.

The feelings that people feel when they listen to the song, the environment that surrounds us and the situations that we're in.

But it is an interesting discovery tool!

mattfrommars a year ago

What part of AI is this? Is it something related to how Shazam worked, as per their White paper. The idea is to create a visual image of the song, it's representation and run a model to identify things similar to it.

Is this AI or machine learning?

twalichiewicz a year ago

Nice work on this! As people have commented already, seems to provide more "very similar sounding sounds" versus recommendations.

I tried Glass Animals - Heat Waves, and after clicking through the recommended songs it's eerie how similar they sound to each other. As I would let the preview play and start the next song I sometimes thought my click didn't register because of just how similar one song would be to the last (https://maroofy.com/songs/1508562516 for those who want to see for themselves).

hndamien a year ago

This is great! It works quite well. I would love to see something like this with the ability to use license the music for a Youtube video so that you could get good music for a video, and exposure and money to lesser known artists.

stephc_int13 a year ago

I tried it with a few tracks I really like, but no luck with the results.

They had some similarities in the tonal range, but not in style or quality and were sometimes completely different musical genre.

I can see some value in this kind of recommendation system, but this is a lot of work and it should probably be flexible enough to learn from the user, not with a single track but a complete collection.

I also think that automatic playlist management is rarely well done.

In practice I am often disappointed by simple shuffle algorithms, the critical part, again, is that we all have different taste a good software should be able to somewhat match those.

dbcurtis a year ago

Didn’t do much for me. But I am an atypical listener — most of my playlists are different recordings of the same jazz standard by different artists or just same artist different era.

Probe 1: Birdland. First hit was the canonical Weather Report recording. 2nd or third was a popular Man Tran version. Then I saw a Maynard Ferguson track — ok that was a discovery as I haven’t listened to Maynard much for a few years. Didn’t like his version much, but still your software gets full points for discovery.

Probe 2: Minor Swing. First hit was obscure, and it linked off to a bunch of totally unrelated stuff. Django nowhere to be found.

tastysandwich a year ago

Personally for me the best way of finding new music is friends whose opinions I trust. I find going by similarity will pull up a lot of derivative artists that suck (eg Last.Fm/Pandora). I want something good, and if it's radically different, even better!

One awesome use-case I can see for this though is finding alternatives to copyrighted songs. Let's say you make a sports video, and you have this fantastic song in your head, but you can't secure permission. It would be cool if this could find something similar to that song. Same style, tempo, etc. Even better if it's royalty free.

  • foysauce a year ago

    I believe a very similar use case was the original primary function of Richard's compression algorithm in the show Silicon Valley. Which of course was entirely underutilizing the technology but that was the joke.

rlt a year ago

This looks great.

Does anything similar exist that lists possible genres for a given track?

I’m a big fan of things like Ishkur’s Guide to Electronic Music and everynoise.com. It would be cool to be able to list out the genre(s) and show similar tracks.

physPop a year ago

Seems like your server is down or overloaded

emodendroket a year ago

Other people have called out limitations and I don't disagree, but I'll say that I do find the different approach, based entirely on sounding similar, interesting. Recommendation engines in music streaming services often tell me about related things I already know I like. That's not necessarily unwelcome (if I'm listening to one song that appears in Footloose, sure, it's not a bad surmise that I might like to hear another), but this tool surfaces a bunch of stuff I would have never thought to look for or found normally.

kilianinbox a year ago

Good work! I tried some house tunes. I guess the results were similar but expected something more direct.. a suggestion; since some listens only includes the intro - it would be a good idea to match the first 5-10 seconds in harmonics; probably in the span of 90-180 hz. But I guess that would take a whole lot of new work.. So, anyways - if there's a way to jump in a bit into the song I think it might be beneficial. But after trying a bit more I realized simply that the quality of good productions was more of an issue. Great work anyways!

can_center_divs a year ago

Hi! The website looks awesome! I have a problem with searching though. I can see the recommended songs below the search bar, but as I type to search something, it is just loading infinitely. I checked the network tab in DevTools and there is no requests made when typing or after typing and pressing enter.

I used Chrome. Cheers!

Edit: also, clicking away from the text input field shouldn't clear the value, in my opinion. The element which displays the results can still be hidden though. It would also be nice to control the volume of the played song.

ZeroCooly a year ago

There is nothing like "Crimson and Clover"? https://maroofy.com/songs/59412471

  • JKCalhoun a year ago

    Yeah, typed in Ultravox's Just For a Moment. After the 4th or 5th suggested rap song I clicked I just gave up.

    It's true though, there is nothing else quite like Crimson and Clover. I'm pretty sure when I was 5 years old and first heard that song it caused me to trip. Strawberry Fields Forever is like that too, you get high just listening to it. ;-)

hypefi a year ago

You are into something here I am telling you, while spotify does provide recommendations of what you would like to hear, it does not provide similar sounding songs, as a musician I love it.

  • subtech a year ago

    Haha, thanks! :)

    Will definitely work to improve the current model!

bogwog a year ago

I wonder why it doesn't find Weird Al songs. If you search for Michael Jackson's "Bad", I'd expect to see Weird Al's "Fat", but neither one appears in the other's results. Instead, the actual results are interesting, because you can hear some similarities if you listen closely. But they're not what I'd consider "similar"

Still, this is a really cool project and I'm sure there's a lot of potential for building stuff with it.

muzani a year ago

It seems to be finding snippets of songs similar to snippets. I tried on Metallica - Unforgiven III, which starts off with a slow piano composition, and then enters a riff and cuts out.

It ends up recommending piano songs, many Korean ones.

There's some interesting ones like Ghost - Cirice, where it finds other songs with similar riffs. I like Ghost's music in general, just not the Satanic themes, so this is a great tool for finding similar music.

I'm somewhat amused that it doesn't match Under Pressure with Ice Ice Baby.

  • yayr a year ago

    good point, probably a final version should have a pipeline like 1. cluster song segments into styles and 2. search for each cluster or only the main cluster.

    What would be a good NN architecture for the first step?

    • muzani a year ago

      It seems like a data problem, not architecture. Usually these preview snippets capture the essence of the song. It works on say, Unforgiven II but not Unforgiven III.

      We'll likely see a lot of first generation products tackle these low hanging fruit like "I dumped data into AI/ML and here's the output". But the next generation will likely be people who can handle data better - interpret it, clean out bad samples, and so on.

mightytravels a year ago

Really great tool. I found a lot of similar songs for less well known songs of mine where Spotify and Youtube Music both have stopped delivering any relevant recommendations!

raffraffraff a year ago

Lots of duplicate tracks! Is that costing you more to train? Like, if I type a song I find the same recording on the original album, single, greatest hits and a compilation album.

  • subtech a year ago

    Working on some fixes for the duplicate track issue! Sorry about that!

raffraffraff a year ago

Seems to work well on some stuff, not on others. I get that AI is able to correlate things that we can't really detect because we don't experience music as a raw waveform. But the emotion and sentiment in the vocals regardless of music genre is something that can link sings together in a playlist, and I don't see how this could do the same unless it's also considering mood tags (if you can get access to decent quality tags) and lyrics.

arjvik a year ago

Can you share more details about the "custom AI audio model" used to generate the embeddings?

Curious what sort of metrics are taken into account, and if any supervision is provided.

azubinski a year ago

I laughed a lot.

https://maroofy.com/songs/1485025897

The one of "similar-sounding" is:

"Смели Граничари Димитър Коларов & Стоянка Колева"

or

"The Brave Border Guards"

It's a very Soviet song from such a different world that if you send "Man Man" to it in a time machine, the group will immediately end up in the Gulag.

So, it's all about the "similarity" definition. But it's fun of course.

jeffhuys a year ago

Tried LSDREAM - Oblivion, and I get meditation music. Completely different and makes it hard to believe it "analyzes raw music audio as input"...

yayr a year ago

it is not the typical "song radio" approach that would provide more a popularity / artist similarity based playlist but a real "similar song" google like search. I think that is valuable to discover new music, especially to find unknown artists. But if someone were to embed it into streaming clients that would need to be a different feature too, probably more search related.

NateEag a year ago

I tried a few of my favorites and the results were... predictable, I guess.

It kind of matches genre, but has no grasp of musicianship or why I might like a track.

And this is a fundamental problem. See Avery Pennarun's brilliant explanation of tracking users, data analysis, and recommendation systems to understand why:

https://apenwarr.ca/log/?m=201902

hooande a year ago

Seems like the recommendations are somewhat hit or miss so far. I would suggest finding a way to say why it recommended a particular song. I know that this is already common, but maybe you could come up with a new spin on it.

Also, other comments have suggested that this was trained on 120MM of the audio previews instead of the full songs. That might explain why the recommendations seem a little off for some people.

  • vogt a year ago

    I'm totally going out on a limb and guessing here - I'm more on the UI/UX side of things so I know nothing low-level about what goes into a building recommendation engine, algorithm, or whatever. But I do know music pretty well, and this feels like it's matching too closely to the technical aspects of the music and not the overall theme/je-ne-sais-quoi that makes a song something you feel.

    I tried two of my all-time favorite songs:

    The Gaslight Anthem - Handwritten

    Thrice - The Artist in the Ambulance

    On the first, I would say it was a total swing and miss - the recommendations had similar elements to Handwritten like strummed power chords, but the vibe was completely off. With Thrice, same thing. The first match was a remaster of the song itself by the band, so of course despite being a "different" track it was the closest possible match. The rest of the recommendations had a similar tempo and more heavy metal riffs (as are common in Thrice's songs), but none of them were songs I would voluntarily listen to.

    This is a cool idea and I hope OP if you read this you take the criticsm as it's intended - I'm not trashing the implementation or anything. This just feels like it truly is a robot that can't feel the emotion of a song making me recommendations.

    • subtech a year ago

      Honestly, thanks for taking the time to give such detailed feedback!

      The current model I have isn't as good as I want it to be, and I'm working on a newer one with a different training process as well. This should address some of the shortcomings people have mentioned.

      I was really nervous of shipping my v1 with the current model, but thought I might as well share what I have so far with the world, in case someone finds it useful lol.

      • vogt a year ago

        Hey, no problem! Best of luck going forward. FWIW I almost never try out Show HNs and recommendations on here, the idea really piqued me. I am always looking to find the next new song or artist I love. So that should be a good signal for you. I look forward to revisiting in the future!

say_it_as_it_is a year ago

I think you may have inadvertently just closed a loophole with iTunes and will be the one and only non-Apple employee to train an AI model on 120Million songs in the iTunes library. Further, Spotify employees/management will notice the success of this work and ensure it doesn't happen there. Please consider open sourcing your datasets.

llagerlof a year ago

Beautiful. Definetely could replace spotify "recommended" for me.

Please, add some filters:

- By language

- By year (between, above, below)

- By fame (so the user can filter out famous musics or unknown ones)

Thank you!

  • subtech a year ago

    Yup, working on it!

pointlessone a year ago

This is great! Found a few good songs I've never heard before.

Now, it would be awesome is it could generate playlists I could play directly in Apple Music.

  • subtech a year ago

    Playlists coming very soon!

superasn a year ago

Nice idea. Not sure how good the recommendations are just yet, but I really wish there was a Spotify button on there.

Also if it's not a trade secret can you expand "My model analyzes raw music audio as input and produces embedding vectors as output." What kind of analysis are you doing? What is the criteria for picking recommendations? I always find this area of music analysis intersting.

pluxx a year ago

Fascinating stuff! DJing mainly electronic music, I tend to base a lot of my match-making on beat and rhythm. From playing with this AI model a little, I feel there is more priority placed on timbre than transient information? Really looking forward to seeing where this goes!

smcleod a year ago

Interesting idea, I get pretty average recommendations though.

The first track I searched for was "Hazmat Modine - Bahamut" (https://maroofy.com/songs/253108933), it seems to recommend things with some similar instruments (e.g. brass and sax) but not really similar taste or style.

shusaku a year ago

Great work, this is very fun! Alas, I tried “Werewolves of London” and it didn’t spit out “Sweet Home Alabama”, so it still has room to grow

tunesmith a year ago

I tried one of my own songs... I suppose it picked up that my stuff is a bit jazz-influenced, but it otherwise doesn't seem very similar. It tickles me that it thinks I'm similar to both Johnny Mathis and Willie Nelson, though. :)

https://maroofy.com/songs/899061474

hackernewds a year ago

It produces similar sounding music. but that's not really what one is looking for when discovering music. Example is when I put a Bollywood song, it produces for me similar sounding Latin music which isn't going to fall into a good queue.

how Spotify does this is matching songs that have been human added to the same playlists - hence matching tastes.

philipphutterer a year ago

The idea is just great. Keep in mind what people expect from this type of website (and clear up any misconceptions), as this may lead to unnecessary churn. I would like to see some degree of customizability, e.g. weighting of features or something like that. (Nitpick: wrap the play svgs in a button tag like the "similar" button)

hasbot a year ago

If I'm listening to a song, I don't want the next song to sound similar, and the next, and the next. For example, my playlist just played "I touch myself", "Whiskey in the Jar," and now "Somebody that I used to know." All of which sound entirely different. But, maybe I'm an outlier. Have fun!

kennyloginz a year ago

I’m not able to paste into the song field, a little frustrating. Otherwise, this has caused me to sign up for Apple Music.

  • subtech a year ago

    Will 100% improve the UI!

sesm a year ago

I’ve tried ‘Allan Holdsworth Sand’ and ‘Allan Holdsworth Non-brewed Condiment’ and results were completely unrelated, I would even say random. Then I’ve tried ‘Allan Holdsworth Sixteen Men of Tain’ and at least it found some jazz tracks. I guess a track needs to have a simple static rhythm to not throw off the algorithm.

m3kw9 a year ago

How do you train “vibes” other than with human input, which cannot possibly scale to classify so many combinations

tony69 a year ago

I’ve already discovered some cool bands with this. Much better than the big platform’s music recommendations. Love it!

ecmascript a year ago

Seems cool and I understand you're getting hugged to death by HN right now but I could not use it because the search was too slow and as soon as I change focus to another window for example, it removes whatever I wrote in the search bar so unfortunately completely useless due to this bug.

  • subtech a year ago

    my bad, that can be annoying. will ship an update for this!

neurogence a year ago

Bro, don't listen to the critics! It is amazing as it is. Much better than my spotify recommendatinos.

throwaway892238 a year ago

Searched for both "portishead" and "wandering star" and it just showed me songs or artists with those words in them, even if the music wasn't even remotely close ("lucero - wandering star" is very very different than "portishead - wandering star")

homeless_engi a year ago

Really cool! From my understanding, it looks like this is doing something like word embeddings and searching for nearby points in the embedding space.

Crazy idea: what if you used a dimensionality reduction like t-SNE instead of learning a vector representation? Would you expect similar results?

  • subtech a year ago

    Thanks! Yup, this is basically custom music embeddings + nearest-neighbor vector search.

    I personally found that vector representations performed significantly better than other approaches.

    And the results will actually be a lot better once I ship a better model (the current one can definitely be improved upon).

franky47 a year ago

Interesting that you linked Hans Zimmer, as he's known for "reusing" material across OSTs. A particular example that comes to mind (and where the AI did not find a match) is The Battle (5:52) from the Gladiator OST vs the Pirates of the Carribean OST.

TuringNYC a year ago

Dear @subtech I was curious if you tried other approaches, such as the same thing with lyrics instead of audio?

Also, you note "I’ve indexed ~120M+ songs from the iTunes catalog" -- could you share some of the libraries/tools you used and which you did or didnt like?

orange8 a year ago

The homepage is an empty page with just one search box in the middle. It does not work in firefox.

  • subtech a year ago

    Hmm I actually use Firefox myself, but tbh, it can be a bit flaky atm due to the sudden surge in traffic. Should become more reliable soon!

    • macrolime a year ago

      It works great, but I couldn't get it to work on Safari on iOS, have to click the "Listen on Apple Music" button to get any sound at all.

    • orange8 a year ago

      It may be a firefox specific bug, as when I switched to chrome it worked well consistently. Maybe a network error due to origin policies?

phendrenad2 a year ago

Very cool, the results look great. Looking forward to throwing random songs in here going forward.

adamsmith143 a year ago

It's almost too good in that it finds a lot of song remixes which I don't necessarily want. So it's clearly targeting the right things in songs but I don't necessarily want to have a remixes. Might think of a way to adjust for that?

pbhjpbhj a year ago

They'll either be sued into the ground or bought out for a multi-million figure by the Summer!

Good luck!

haha69 a year ago

I have been wanting to do similar things. But, shied away because I wasn't in the mood to find out if this sort of thing was legal or not. Can someone here who knows this space better talk about the legal aspect of doing something like this?

  • input_sh a year ago

    You're just interacting with the API, you're not gonna have any legal issues. I have some experience with Spotify's API (not MusicKit), so I'm gonna try guessing how it works based on that.

    There's an API endpoint called audio_features[0] that tells you things about the song (tempo, danceability, acousticness, major/minor key...), so while you can't get full versions of every song, you can approximate how they sound like based on Spotify's audio analysis of them.

    So, build a database of audio_features while respecting API limits, find the most similar ones based on about a dozen variables, and you're good to go.

    [0] https://developer.spotify.com/documentation/web-api/referenc...

  • pbhjpbhj a year ago

    I doubt T&Cs have included "no training embeddings with our data" yet; so they're probably clear there (and it might be Fair Use in USA??).

    On the main question, I think we'll be waiting for Getty v whoever (Dall-E?) lawsuit to see what courts think.

    A useful indicator might be have any major corporation's released AIs trained on public data - because they will be the prime targets for people looking to sue and walk away with lots of money. You can get plugins for Photoshop to do AI imagery, but I don't think Adobe sell any?

silisili a year ago

I love the idea, but the results were far off the mark. Perhaps they should be weighted according to some vectors, including language.

I chose 'Let it be me' by the Everly Brothers. 8 or so of the top 10 were foreign songs, and sounded much older even.

  • subtech a year ago

    Thanks for your feedback!! Yup, model can definitely be improved (and perhaps I should also add a language filter)! Noted! :)

jb3689 a year ago

Fun, but unfortunately it is pretty off for me compared to Spotify and Apple Music. I wouldn't listen to any of the recs personally. I do appreciate how out there the recommendations are though! They're just amateurish for my tastes.

cydmax a year ago

I've just tried `Simon and Garfunkel - Mrs. Robinson` as the search input and the results are really compelling and interesting! Keep on the good work. I might use it to find new tracks for my daily playlist and dj sets!

losteric a year ago

How did you get the 120MM songs?

gticala a year ago

I found the recommended songs to be bang on similar to the ones I queried. Great job!

moremetadata a year ago

https://maroofy.com/songs/500162235

Your AI is processing the tempo and beat of the music, its not looking at the lyrics and what the lyrics mean, its not processing any accompanying music videos and its not really factoring in emotion, the mood and events of the day in the locale it comes from.

Another factor, is its not taking into account the limitation instruments had on music before the introduction of the synthesizer and the tech we have available today in order to make music.

There are other websites which also make suggestions and doesn't factor in the above points, so your website is not alone in not really grasping the mood of the song. I'm sure its a limitation of the AI models available to people like yourself today, along with time constraints and other factors including access to data. Just how far do you read into things?

When you see an AI suggest the likes of the Sex Pistol's God Save the Queen with this song, you are then looking at an AI which is intelligent. Quantify the mood of the music, the mood of the country or region during that period of time. Thats a very hard thing to do, and masters of that would be the BBC, simply because as national broadcasters, an extension of the British Military aka MI7, arguably global broadcasters with their world service, you'll realise there are songs which just wont be played when certain events are happening on the ground in regions which would be featured in the news and thus considered inciteful. Its very subtle how manipulation at a national or global level takes place, but it takes place.

However it is also a very difficult song to quantify, as this youtube reaction video sums up nicely. https://youtu.be/5vK1FZO1ybE?t=296

If you know anything about the band, they span many genres, and yet they also their own genre. Truly Prodigious.

  • layer8 a year ago

    > Your AI is processing the tempo and beat of the music,

    I don’t know about that, I tried a number of songs with 3/4 and 6/8 measure, and none of the suggestions were, so it doesn’t seem to pick up on that.

chx a year ago

Thank you. This is really great. Of course not everything is a hit but it did find some beautiful tunes for me.

One little problem: if you press play and wander off after it stopped playing it can be rather hard to find what you played.

  • subtech a year ago

    Thanks a lot for your feedback! You're right, I should probably add a better song player UI element.

    Also, as I improve the model & add user accounts, recommendations should hopefully get much better and more personalized!

Quarrelsome a year ago

genuinely stoked it found a track that sounds like Cicatraz ESP by Mars Volta in Addiction by Tripp Berlin (which is new to me, so thanks for that!) but as others have said in other cases it fails to understand the pull of a given song but you can always understand why it recommended a given track.

One outcome I found interesting is that I gave it Ante Bijou Up but it didn't find any of the original versions of Ante Up based off of it and its first recommendation was some hideous pop song.

However, based off the success of the Cicatraz ESP recommendation I am a massive fan of your work! <3

skc a year ago

Wonderful idea and well designed interface.

Unfortunately failed quite spectacularly for the song I selected. I chose "Why Hide" by Mark Ronson and it somehow managed to pick the exact music I tend to dislike.

yborg a year ago

Laughably bad for "Here's Where The Story Ends" by The Sundays, I can't even begin to see how some of these recommendations relate. Did discover that Finnish rockabilly is a thing, though.

rvz a year ago

Looks like a cool project. As long as it is free and not being monetized, then it might keep Apple from unleashing their lawyers.

Apple might as well buy your project for iTunes since they are extremely behind in anything AI.

KomoD a year ago

I'm not sure I really understand, how did you train it on 120,000,000 songs from Itunes? How do you have access to all those songs, piracy?

cirrus3 a year ago

I searched for "Hot Chip" and all the recommendations were other Hot Chip songs... is that normal? I was expecting different artists, and honestly not expecting any songs by the same artist.

  • nereus a year ago

    Pop in a specific Hot Chip song and it'll work better I reckon

emperorcj a year ago

Needs an auto playlist generator! :) I would FUCKING KILL for that

bfung a year ago

Good idea - can use work on data cleaning though; got a lot of duplicate listings for some songs searched.

It’s like feeding Apple Music through Shazam - wonder why Shazam doesn’t do what you’ve done here

  • subtech a year ago

    100% agree with data cleaning. Got ship some updates for this!

jacky2wong a year ago

Just tried it - I Walk Up by Luke Christopher and Memories is not too bad! Admittedly - encountered quite a few problems as part of this though - with a few random pop songs in the list.

lawrencechen a year ago

Wow, I love this! Can you make clicking play change the url so that songs are added to our browser history? Perhaps make "refreshed" pages idempotent via a hash in the url?

  • subtech a year ago

    Thanks! Gonna add user accounts with play/like history!!

RayVR a year ago

I think it’s an interesting idea and look forward to future work, but I don’t think the current results are much better than random.

I don’t really understand the features your model has learned but I’d start by trying to understand those features.

Music is highly structured and reasonably well organized already. Understanding if your model learned any features that map to metrics used by humans is an important question. If the answer is “no” then I’d wonder if it’s actually achieving anything beyond random number generation.

—-edit—- I went back and tried modern pop. Which I believe it has learned better, although all of the music there sounds so similar maybe that is just a result of the small sample I tried.

mxkopy a year ago

O.o you beat me to it I was thinking of building something similar

I don't think I could've done the UI as clean, though, very nice!

I hope the mainstream platforms start implementing stuff like this soon

  • subtech a year ago

    Thanks! :D

    I personally think I need to improve the UI a lot, but maybe that's because I've spent way too many hours staring at it lmao.

dcl a year ago

Would love to know more about how you produced the embeddings!

ranting-moth a year ago

Brilliant. Would be nice also to see what's playing. When I've scrolled and clicked a lot of songs and realize I like it, I have no idea what I clicked!

alexmolas a year ago

How did you extract the embeddings from the songs? Did you use a pre-trained model? Or have you trained you own model (using autoencoders or something similar)?

  • subtech a year ago

    I had to train my own model :)

hui-zheng a year ago

I tried it, I think the vibe match looks great, but the match lacks the culture context. It would be great to use song's meta data and lyrics to to improve that

pollux01 a year ago

this is great! can you turn this into a playlist or something?

like, i'll select couple of the songs and then it gets converted into a spotify playlist.

I need spotify btw, not apple music.

infradig a year ago

I tried "norwegian wood" and got a lot of acoustic guitar with strong down/up strokes but nothing musically similar. Beatles they weren't.

CamperBob2 a year ago

Pretty cool. I think I broke it with Enya's Pax Deorum, though... can't get it to work at all now ("Hmm, something went wrong.")

  • subtech a year ago

    Sorry! The service is sometimes bugging out due to the recent surge in traffic, which is causing some songs to consistently fail.

    Things should become much more reliable and better soon!

    Also, sometimes there's a delay between when a song is available in the text search bar, and when it has been indexed with my AI model (which can also cause this error).

    This will also be fixed!

shtopointo a year ago

Small tip: You should let it autoplay. Some recs are better than others and if I let it play in the background a good song will catch my attention.

  • subtech a year ago

    Autoplay coming!

joshu a year ago

Can you aggregate across artists? Given all the song-song relationships of a given artist, what other artist shows up frequently?

indigodaddy a year ago

I guess my taste is outside the loop. Two songs off the top of my head I guess are not in it’s database:

Beautiful Strangers (Kevin Morby) Elephant Woman (Blonde Redhead)

youssefabdelm a year ago

What model/architecture did you use? Also curious about the process with that. Did you use an off the shelf model (like Jukebox) to embed the tracks?

FpUser a year ago

I tried "learning to fly" by Pink Floyd. The results did not sound similar at all to me. Maybe I have non conventional idea on what is similar.

hsuduebc2 a year ago

It works surprisingly well. Good job. It confuses bluegrass and latino music but they share tempo and instruments so I get it. Impressive.

EzraM a year ago

This works great! I like the way it finds resonances between genres and am one of the folks that see that as a feature :-) Very well done!

aryamaan a year ago

It's fast.

But not sure if the song I input and the songs I get back are similar. Going to try them out further.

What things are they supposed to be similar at? beats? melody?

Madmallard a year ago

Dream Theater Space Dye Vest

-> returns christmas music

yeah I think your model missed the mark lol

It needs to go off the bulk of the song, not the first 20 second preview of the song...

dangwhy a year ago

I tried some songs but recommendations were tracks that sampled that song and songs with same name.

I am not sure if thats quite what i am looking for.

  • pandemicsoul a year ago

    Yes, came here to say something similar. I searched for a song that was playing on at the moment, and what I got back were six other versions of the same song, at the top of the list, from the same artist from different albums.

    Covers of this song would be great! But probably worthwhile to exclude anything with the same name by the same artist.

QuinnyPig a year ago

Awesome! You should name the model “Stealy Dan.”

peepee1982 a year ago

Fun. I entered one of my own songs and the fifth result was "Love will tear us apart" by performed live by New Order.

Tepix a year ago

It seems to be broken as of 08:44 UTC.

When i enter something in the search box i see "Loading..." and nothing happens.

I tried both Firefox and Safari.

bloodyplonker22 a year ago

I clicked one of the "recommended" songs on the front page, Du Hast - Rammstein. I got this:

Rhythm Is Gonna Get You Gloria Estefan

practice9 a year ago

Could you please also add a "Compare" tab? So we can select two or more songs and see how similar they are?

Uptrenda a year ago

I have no idea what metric the AI is using for 'similarity' but this just sounds like random results to me. None of the vocals, style, genre, and so on are in any way similar. When you look at recommendation engines on Spotify and YouTube music they do a much better job at this than this engine. I think maybe if you had access to data that users enjoy you could cross reference them to find patterns and use that to order your results.

paulkon a year ago

Is this similar to how Shazam operates? I suppose there's more filtering and denoising going on with mic input.

  • subtech a year ago

    Hmm, not quite. Shazam's approach is more optimized for exact matches. Mine tries to be more optimized for similar matches (if that makes sense lol).

    So my approach is intentionally a bit fuzzier than something like Shazam, since apart from exact matches, you also ideally want a continuous representation for music similarity (so you can find songs that are 80-90% similar, for example).

    That is hard to do for approaches optimized at exact matches (which usually use something like audio fingerprinting, etc.)

vacuumcl a year ago

I like the idea, but putting in some songs by Aphex Twin I didn't find the matches to be similar at all.

s390qdio a year ago

Reminds of last.fm and their scrobbler.

majikandy a year ago

If would be amazing if it kept playing when you press “search similar” on the one you are playing.

  • subtech a year ago

    Working on a better music player UI that should also fix this!

chrgy a year ago

Interesting job, How big are the vectors and did you use GPUs to trained? What models did you use?

duttaoindril a year ago

Hey, I'd love to help you with this project. Feel free to reach out @duttaoindril

gticala a year ago

I find the list of similar songs to be bang on for a couple of songs I queried for. Great job!

kennyloginz a year ago

This is great! So handy for the dj! Please keep up the good work, very appreciated!

IYasha a year ago

Umm... is it just me or there's no "Search" button? Linux, Firefocks 50.1.

  • subtech a year ago

    I definitely have to improve the UI, but for now, as you type in a song in the search bar, it should load some auto-complete suggestions that you can choose from.

mikerg87 a year ago

Very cool. Need a get a playlist from this. Seems like Spotify for us Apple Music peasants

noam_compsci a year ago

Awesome! Curious how you got access to all the songs?! Did you legit pay for them all?

shog_hn a year ago

It doesn’t appear to work in Firefox. Looks like CORS is blocking a call to segment.

  • iopq a year ago

    Same issue in Firefox

politelemon a year ago

The search seems to be down? I'm not getting any results back in the dropdown.

  • subtech a year ago

    Oof, honestly didn't expect the surge in traffic lol. It should work, as auto-scaling kicks in, etc. Sorry about that!

    • politelemon a year ago

      Ah just realized it doesn't work in Firefox. I think the autoscaling has kicked in, just results aren't appearing in Firefox.

pineapple_guy a year ago

This is cool. I’m curious how you managed to access all the music data from apple?

intelVISA a year ago

Really cool, quite surprising that this hasn't been done (well) before afaik.

  • motoxpro a year ago

    This is the Spotify Radio feature. i.e. find a song and start a radio from that song/album/artist

sitkack a year ago

Please remove the trackers so I can use search w/o using incognito mode.

dankle a year ago

Very cool, well done ! Are model code & weights open source?

zombiwoof a year ago

interesting but it seems to just sound sonically similar songs.

bradhilton a year ago

Very cool, just tried it out and seems to work. Great job

tanelpoder a year ago

Curious, did you just get the album/song lists from iTunes and get the corresponding raw music audio from other sources or does iTunes really allow one user account to download the raw audio of 120M songs?

polskibus a year ago

How much does it cost to access this dataset at Apple?

swyx a year ago

very cool OP!

could you make an "auto playlist mode" that blends one song into another seamlessly?

usecase - party where we just want to set and forget one "vibe"

  • subtech a year ago

    haha that would be fun

smortaz a year ago

nice! is this in reference to composer javad maroofy?!

  • subtech a year ago

    haha didn't expect many people to guess this!

kujta1 a year ago

Which package/tool you used for semantic search?

  • subtech a year ago

    FAISS for nearest neighbor vector search.

    • kacperlukawski a year ago

      Have you considered using a proper vector database, so you can scale it up and run in a cluster? I mean something like Qdrant.

RagnarD a year ago

Isn't Apple going to give you a hard time now? Years ago, Apple might have offered to hire you. Given what a jerk is Tim Cook, I imagine he'll have the lawyers send a cease and desist.

kloch a year ago

This works really well!

Could you add links to play songs on Spotify?

scotty79 a year ago

I see duplicates on recommendations list.

nuker a year ago

Loading … Beef it up before posting on HN?

  • sitkack a year ago

    It chokes if you have any adblocker or anti-tracking.

    • no_butterscotch a year ago

      It chokes on everything: Brave or Chrome, incognito with Brave Shield disabled or uBlock disabled also don't work, same with Safari, ...

      I'm glad it includes the examples at the bottom so I can see what it does though.

      • sitkack a year ago

        I was only able to get search to work on Chrome in incognito on a mac.

        It basically overfits on the similarity, which is kinda neat in a way. It could be extremely useful in scoring video, you want something "like" this song, it gives you lots of things to choose from. Or if I wanted to make a set list on a theme.

    • sitkack a year ago

      And search only works in Chrome.

  • subtech a year ago

    sorry mate, 100% didn't expect this much HN traffic.

goodgoblin a year ago

Just wanted to say nice job!

alokym a year ago

Oh no AI replacing DJs.. :D good work, will use that next time I search for similar tracks, thanks!!

qikInNdOutReply a year ago

Can it do endless mashups?

  • subtech a year ago

    I think I can technically use the underlying model to do it, but never really tried it. Interesting...

noja a year ago

Playlist button please!

  • subtech a year ago

    So many people have asked me the same thing lol. Shipping soon!

joshu a year ago

this is pretty awesome.

  • subtech a year ago

    <3

    • joshu a year ago

      Given song to song relationships, can you aggregate to artist to artist relationships? For all songs by a given artist, get all the relationships, and what artists are highly represented?

kugutsumen a year ago

I wish it worked the results are horrible!!!

jerrygoyal a year ago

search is not working for me

jaimex2 a year ago

Pandora?

  • Izkata a year ago

    Yeah, I don't know if they changed it but this sounds similar to how Pandora used to do music recommendations: Models based on various aspects of the song, then find best fits to those aspects. It would even tell you why a given song was suggested.

chrisgd a year ago

I find it disheartening that the comments are loaded with people saying how bad it is. The interface is awesome, the ability to have search results pop up and offer suggestions is impressive. I thought the results for a Lana Del Ray song and a song by Carlos Santana were both interesting and suggested new things.

We should do a better job of supporting creators here.

  • SparkyMcUnicorn a year ago

    I've been wanting a music suggestion service in this category for years. I haven't been able to try it out yet (hugged?), but I don't really care how bad or good it is as long it gets better and sparks more people to do stuff like this.

  • pvg a year ago

    a better job of supporting creators here

    You can do that by commenting on the things you liked about the project! But without the meta because that just begets more meta and ends up detracting from the thing being showhn.

    • chrisgd a year ago

      I did the latter and think the former is necessary. It is like when Dropbox was on here and everyone shit on it. You can offer criticism without being a jerk.

      • pvg a year ago

        the former is necessary.

        It's not because it does the opposite of what you want. Write good comments, downvote or flag the bad ones, email the mods about egregious stuff. Inveighing against the snapshot state of the thread almost always ends up wrong (it's pretty much already wrong about this thread) and generates noise of its own which works directly against your intended goal - people showcasing their work and getting feedback about it.

        • chrisgd a year ago

          Thanks for sharing your opinion

  • fzliu a year ago

    Agreed 100%. Folks often forget that a great model is only a tiny part of the equation - strong execution and a solid demo are also critical.

    Google/DeepMind might have an RL-based chatbot equal to or even better than ChatGPT, but OpenAI has achieved the most due to its ability to ship.

  • subtech a year ago

    Thanks! Definitely welcome all the feedback here.

    Gonna ship a better, improved model soon!

  • retrac98 a year ago

    Nothing plays for me.

daguava a year ago

Bad lyrics ruin songs for me, so I tend to listen to music in a way where I completely disregard the lyrics if they're bad, which causes me to like songs where the lyrics are hard to understand/hear or in a different language.

This seems to absolutely NAIL my case of listening, I'm loving this. Thank you!

piyush_soni a year ago

Great initiative, but if it's sampling only the few seconds previews from the songs, then I doubt it will be useful. Also, a language filter is essential for both training the model and listing the results. I searched for a few Hindi language songs that I know of, and it listed only English, Chinese and Spanish songs as related ones - which is good to explore other music, but at times I'd just want to be in my native language zone and any other language would exercise my brain more than it'd relax it.

  • subtech a year ago

    100% agree with a language filter, working on one (along with a better, improved model!)

dingosity a year ago

Don't tell me, let me guess. All songs sound like English-language American pop songs.

(Sorry... I'm being a jerk here. This is a cool thing that you built. I only wish iTunes had a greater variety of music.)