Como descobrir bpm de um mp3 com C ou python [fechado]

Pessoal, estou a trabalhar num projecto e preciso de um programa que carregue um ficheiro mp3, descubra que é bpm (batidas por minuto) e devolva-me esse valor. A linguagem preferida é C, mas python também pode funcionar. Estou mesmo preso nisto. preciso mesmo da tua ajuda. É um aplicativo IOS (leitor de música) e eu quero usar bpm da música para ajudar na criação de playlist. Não estou à procura de uma solução Xcode. Preciso de programar em C e depois inserir C na minha aplicação IOS. Preciso de Ajuda.

Author: Xk0nSid, 2014-03-09

3 answers

Não há uma maneira simples de detectar o beat só por ler o ficheiro mp3. Você terá primeiro de explorar vários algoritmos de detecção de batida e encontrar um apropriado para suíte de sua exigência. Podes conseguir ajuda com isto.

Como detectar o BPM de uma música em php

Também este artigo em particular explica muito bem sobre um algoritmo de detecção de batidas. http://www.flipcode.com/misc/BeatDetectionAlgorithms.pdf

Também terá de contactar algum framework de áudio / vídeo para descodificar o ficheiro mp3. O FFMS2 dá-lhe descodificação amostra de áudio do arquivo mp3 e também do arquivo de vídeo.

Https://code.google.com/p/ffmpegsource/

Para processar estas amostras raw, pode pegar no help Portaudio open source framework ou fazê-lo sozinho.

Http://www.portaudio.com/

Tanto a estrutura acima é fácil de usar como de configurar.

Além disso, você pode olhar para a implementação existente do beat quem encontra a audácia, que é excelente ferramenta de código aberto para analisar o áudio.

Http://audacity.sourceforge.net/

Espero que a informação acima ajude.
 5
Author: praks411, 2017-05-23 12:10:11

BPM não é uma coisa técnica que possa ser lida a partir do arquivo ou algo assim.
Você poderia tentar obter alguma informação analisando os dados de áudio raw
(ie. amplitude, frequência...) e aplicar heurísticas, mas isso é
a) não necessariamente precisa e B) complicada.

 0
Author: deviantfan, 2014-03-09 10:14:52
Se tiveres sorte, podes ler essa informação dos metadados incorporados. ID3v2 por exemplo, tem uma etiqueta TBPM que pode conter esse valor. Mas Arquivos de áudio não são necessários para conter esses dados, por isso é uma solução instável no melhor dos casos.
 -1
Author: radnoise, 2014-03-09 10:25:28