Personalmente, considero que Python es una de las mejores opciones que existen e hice algo de trabajo en el área de identificación de audio. Le invitamos a comprobar, por ejemplo, mi software para la identificación automática de aves a partir de grabaciones de audio ruidosas: Ornithokrites . El programa es utilizado por el Departamento de Conservación de Nueva Zelanda y están contentos con él. En base a este ejemplo, me gustaría señalar varias ventajas de usar Python:
- Enorme comunidad de rápido desarrollo que ofrece toneladas de bibliotecas. SciPy proporciona una gran cantidad de métodos para el procesamiento de señales (concedido, no tantos y maduros como Matlab). Tenga en cuenta que SciPy, aunque es uno de los más importantes, es solo uno de los cientos que pueden ayudarlo en sus esfuerzos. Encontré a Aubio mejor para el análisis musical. Para el reconocimiento de voz y música, seguramente disfrutará de una gran cantidad de funciones de audio que Yaafe puede extraer.
- ¡Es gratis! Una vez fuera de la academia, descubres rápidamente que Matlab es bastante caro. E incluso si puede permitírselo, entonces los usuarios de su perspectiva no estarán contentos con esta dependencia. Por ejemplo, el mencionado Departamento de Conservación no aceptaría software privativo.
- La identificación a menudo requiere aprendizaje automático y Python tiene un gran conjunto de herramientas para ello: sklearn. Es una biblioteca de vanguardia, y fácil de usar. Eche un vistazo a las competiciones de Kaggle (aprendizaje automático) y compruebe cuántos programadores principales usan Python y sklearn.
- Puede administrar "big data". Si desea ejecutar análisis contra grandes bases de datos en red de grabaciones, Python tiene un conjunto de herramientas bien establecido. No creo que Matlab / Octave interactúe fácilmente con, por ejemplo, Hadoop, aunque por favor corríjame si me equivoco. R hace mejor esta área.
- Hablando de la interfaz, puede interactuar fácilmente su programa con un sitio web. Esta es la forma en que administro Ornithokrites (reconocimiento de aves): el programa se ejecuta en el servicio de computación en la nube de Amazon Web Services. Excelente si desea proporcionar su software a otras personas que no necesariamente quieren pasar por el procedimiento de instalación de todas las bibliotecas requeridas.
Mi segunda opción sería R. Aunque no es tan rico en funciones como Python, tiene una gran cantidad de bibliotecas útiles (consulte, por ejemplo, seewave para sus aplicaciones). La instalación de ambos en Windows y Linux es pan comido, lo cual es importante si desea que otros usen su programa. Sin embargo, según mi experiencia, la informática de alto rendimiento en R es más difícil, algo importante a tener en cuenta si necesita hacer MUCHO procesamiento e identificación.
Ejemplos de clasificación de música en Python:
Book Building Machine Learning Systems con Python tiene un capítulo sobre clasificación musical
Otras herramientas (la lista no está completa): Python in Music