11

My question boils down to: "Technically, how does the Genius feature work?" so that I may use it in instances where it fails to fine enough matches for a specific song.

Part of this question is — what is stored in your library or meta-data on iTunes or on your iPhone that allows the songs to combine into auto-playlists? In other words, what is it delivering when it says "Delivering your Genius results..."

More than just academically interesting, I'm wondering if there is anything I can do to adjust the metadata of those songs that get the Genius error messages so that they work. I have had a few lately that are popular songs and should have been able to find results easily but didn't.

1
  • 1
    I don't yet have a good feel for reverse engineering the genius storage database and wondered potentially the same thing here. As best I can tell, not only does the main genius database need to "know about" the target song, but you need between 30 and 50 high potential matches before your library can suggest genius matches. It's as often a failing of the accompanying library as it is the song chosen to seed the genius playlist IMO.
    – bmike
    Commented Mar 9, 2012 at 14:28

3 Answers 3

4

The way I understand it, Genius not only uses your mp3's metatags to organize Genius information, but also gets a lot of information from what people put in their playlists. This makes sense, as the point of Genius is to automatically put together a list of song that go together, without having to do it manually.

I read an article about this once, where a guy had Genius create a playlist for him, and he couldn't figure out for the life of him what the songs had in common. They were from all different years, genres, etc., even including spoken word. Finally, he realized that the tracks all had one thing in common -- they were Canadian. Of course, this isn't the most intelligent behaviour as tracks that are Canadian are not necessarily those you would like to listen to in succession. But of course, it would not be uncommon for people to create a "Canadian" playlist for other reasons than listening to it as a collection, and that's why Genius thought they might go together. The Genius feature slowly loses its charm as the track progresses from Celine Dion to a CBC Radio archive to (heaven forbid) Justin Bieber.

3

The Genius features checks your ID3 tags so if your metadata is all in order, standard and relatively accurate, you should get decent results. There is no for sure as Apple has not released how "it" works exactly but there is no "Shazam" type of computer analysis of track's structure.

Now on a side note, Genius analyzes what other users had also bought (for the song that Genius is checking), what they're also listening to, and displays your Genius playlists and recommendations accordingly.

Bottom Line: Keep your ID3 tags in line and Genius should be able to locate your song as long as it's not something obscure.

2

Apple's official description of the feature is tragicomically terse, iTunes itself gives zero detailed feedback on genius matching, but there are some round about ways to poke at the engines and see if changes to the better can be made.

  • iTunes Match will give you a feel for which songs do not instantly match as a side effect of turning the feature on. You initially will have a bulk summary of how many songs matched and which ones were not matched. It's a good bet Apple uses the same type of matching here (perhaps better than genius) - but it's a good start.
  • The genius data is not easily readable, so you can't easily make lists of songs that genius doesn't recognize and also songs it does know, but just can't find enough matches now in your library to make a mix.

I have never seen the design documents for the genius feature, nor someone posting code that dumps the database where apple stores and syncs the genius data to your iTunes and iOS devices, so an authoritative answer might have to wait until code ends up in a museum, but three general aspects of iTunes matching have helped me pick at how things function:

  1. Many things go into matching songs - metadata, length, and most likely some fingerprinting of the file as well as an analysis of portions of the sound is likely processed to ensure a match is made of your seed song.
  2. These identifying characteristics are uploaded and once the iTunes servers have processed these results, a database is prepared and downloaded to your device (computer iTunes or iOS device) so it can react locally to subsequent match requests.
  3. Often a specific song will find matches in one library, but fail to find enough matches when it sits in a different iTunes library. The fact that the error message is the same, doesn't help figure out why a match failed.

I have had some success looking for a song in the iTunes store (when that song is even sold there) and look at the recommended tracks. In practice this lets me judge if the song is known well enough to match in a large library or if iTunes just hasn't pegged that song yet (especially for songs that are not for sale through the Apple storefront as a digital download.)

Since each music library can be wildly different in terms of metadata matching Apple's database and content, it's quite hard to generalize if things are getting better or worse over time. My coverage for genius sure seems to be improving steadily, but that's of little use to someone where genius fails on most songs they care about. It absolutely fails me on new tracks from independent artists and non-mainstream releases that are less than 10 months old.

For now, the process of improving metadata is a trial and error process for me. I hope someone can reverse engineer the database if Apple doesn't decide to add more details or expose more of the matching process, but I'm also not expecting either any time soon.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .