5

I would like to write an app that allows users to identify songs by putting the mic next to a speaker and listen to the song for a few seconds... so exactly what Shazam does.

Is there any framework or library or service I can use out there to accomplish that in iOS?

Jeff Mercado
  • 129,526
  • 32
  • 251
  • 272
zumzum
  • 17,984
  • 26
  • 111
  • 172
  • 2
    Yes and no. The actual recognition is not done on the device, but the sound data is sent to a remote location to analyze(which is why Shazam only works with an internet connection). You can do that on iOS. I would not recommend even trying to implement an audio analysis algorithm like that on a single iOS device, nor doing it by yourself, unless you're an audio and/or math expert. – weltraumpirat Jan 27 '12 at 13:00
  • I agree, I do believe that the proper way is to rely on a web api to detect the song... just not sure what api to use. Is there one out there? – zumzum Jan 27 '12 at 14:55

2 Answers2

3

You need an API which you can query. An example uf such an API is Gracenote You could also have a look at Musicbrainz

Sbhklr
  • 2,693
  • 1
  • 17
  • 20
  • So are you saying that either of those 2 offer the ability to get what I need done on iOS? Or are those just some services you think might do it? – zumzum Jan 27 '12 at 14:56
  • Musicbrainz lets you actually download their music tag database and an open source tagger written in python [MusicBrainz Picard](http://musicbrainz.org/doc/MusicBrainz_Picard). Gracenote on the contrary is not free. Applications such as Tagalicious use it for tagging. These are not actual iOS libraries so you will have to do some work for the communication with those services. For the networking part you can use a networking framework like [AFNetworking](https://github.com/AFNetworking/AFNetworking) – Sbhklr Jan 27 '12 at 15:31
1

Yes you can have a look at the echoprint library developed by echonest here They provide a c++ library to compute the audio fingerprint which can be used under iOS. They also give the ios example!

lizzie
  • 1,506
  • 1
  • 18
  • 31