Pessoalmente, acho o Python uma das melhores opções existentes e fiz alguns trabalhos na área de identificação de áudio. Você é convidado a verificar, por exemplo, o meu software para identificação automática de aves a partir de gravações de áudio ruidosas: Ornithokrites . O programa é usado pelo Departamento de Conservação da Nova Zelândia e eles estão felizes com isso. Com base neste exemplo, gostaria de destacar várias vantagens do uso do Python:
- Comunidade enorme e em rápido desenvolvimento, fornecendo toneladas de bibliotecas. O SciPy fornece uma infinidade de métodos para processamento de sinal (concedido, não muitos e com maturidade como o Matlab). Lembre-se de que o SciPy, embora seja um dos mais importantes, é apenas uma das centenas que pode ajudá-lo em seus empreendimentos. Eu achei o Aubio melhor para análise musical. Para reconhecimento de fala e música, você desfrutará de um grande número de recursos de áudio que o Yaafe pode extrair.
- É grátis! Uma vez fora da academia, você descobre rapidamente que o Matlab é bastante caro. E mesmo que você possa pagar, seus usuários em perspectiva não ficarão felizes com essa dependência. Por exemplo, o mencionado Departamento de Conservação não aceitaria software proprietário.
- A identificação geralmente requer aprendizado de máquina e o Python possui um ótimo kit de ferramentas: sklearn. É uma biblioteca de última geração - e fácil de usar. Ter um olhar para competições Kaggle (aprendizagem de máquina) e verificar como muitos programadores top está usando Python e sklearn.
- Você pode gerenciar "big data". Se você deseja executar análises em grandes bancos de dados de gravações em rede, o Python já estabeleceu um conjunto de ferramentas bem estabelecido. Não acho que o Matlab / Octave faça interface facilmente com, por exemplo, o Hadoop, embora, por favor, me corrija se eu estiver errado. R faz melhor nesta área.
- Por falar em interface, você pode facilmente interagir com seu programa com um site. É assim que eu gerencio Ornithokrites (reconhecimento de pássaros): o programa é executado no serviço de computação em nuvem da Amazon Web Services. Ótimo se você deseja fornecer seu software para outras pessoas que não desejam necessariamente passar pelo procedimento de instalação de todas as bibliotecas necessárias.
Minha segunda opção seria R. Embora não seja tão rico em recursos como o Python, ele possui um grande número de bibliotecas úteis (verifique, por exemplo, seewave para seus aplicativos). A instalação daqueles no Windows e no Linux é fácil, o que é importante se você desejar que outras pessoas usem seu programa. No entanto, para minha experiência, a computação de alto desempenho em R é mais difícil - uma coisa importante a ser observada se você precisar fazer MUITO processamento e identificação.
Exemplos de classificação musical em Python:
Sistemas de aprendizado de máquina de construção de livros com Python tem um capítulo sobre classificação musical
Outras ferramentas (lista de forma alguma completa): Python no Music