2012-01-27 14 views
5

Me gustaría escribir una aplicación que permita a los usuarios identificar las canciones poniendo el micrófono junto a un altavoz y escuchar la canción durante unos segundos ... así que exactamente lo que hace Shazam.shazam como característica en la aplicación ios?

¿Existe algún marco o biblioteca o servicio que pueda usar para lograr eso en iOS?

+2

Sí y no. El reconocimiento real no se realiza en el dispositivo, pero los datos de sonido se envían a una ubicación remota para su análisis (razón por la cual Shazam solo funciona con una conexión a Internet). Puedes hacer eso en iOS. No recomendaría ni siquiera tratar de implementar un algoritmo de análisis de audio así en un solo dispositivo iOS, ni hacerlo usted mismo, a menos que sea un experto en audio y/o matemáticas. – weltraumpirat

+0

Estoy de acuerdo, creo que la forma correcta es confiar en una API web para detectar la canción ... simplemente no estoy seguro de qué API usar. ¿Hay uno por ahí? – zumzum

Respuesta

3

Necesita una API que puede consultar. Un ejemplo uf una API es Gracenote También puede echar un vistazo a Musicbrainz

+0

Entonces, ¿estás diciendo que cualquiera de esos 2 ofrece la posibilidad de obtener lo que necesito en iOS? ¿O son solo algunos servicios que crees que podrían hacerlo? – zumzum

+0

Musicbrainz le permite descargar su base de datos de etiquetas de música y un etiquetador de código abierto escrito en python [MusicBrainz Picard] (http://musicbrainz.org/doc/MusicBrainz_Picard). Gracenote, por el contrario, no es gratis. Aplicaciones como Tagalicious lo usan para etiquetar. Estas no son bibliotecas de iOS reales, por lo que tendrás que trabajar para la comunicación con esos servicios. Para la parte de redes, puede usar un marco de red como [AFNetworking] (https://github.com/AFNetworking/AFNetworking) – Sbhklr

1

Sí se puede echar un vistazo a la biblioteca echoprint desarrollado por Echonest here Proporcionan una biblioteca de C++ para calcular la huella digital de audio que se puede utilizar bajo iOS. ¡También dan el ejemplo de ios!

Cuestiones relacionadas