Pergunta

Eu estou tentando escrever um aplicativo de análise de áudio, e eu preciso para identificar máximos locais em uma matriz 2D que representa um espectrograma. Eu já tenho uma biblioteca de código aberto que pode gerar o espectrograma usando Transformada Rápida de Fourier, mas eu queria saber se alguém sabia de qualquer boas bibliotecas para me ajudar com realmente encontrar os máximos? Eu não sou completamente certo o que procurar no Google por - o melhor que eu podia pensar era "biblioteca numérica", mas que não tem-me muito longe

.

De preferência em C, mas estou aberto a outras sugestões.

Foi útil?

Solução

Peak achado é um problema bastante geral. Ela já foi discutido, uma vez no modo de detecção de pico de sinal medido.

As respostas fornecidas incluem várias heurísticas viáveis.

É claro, eu prefiro minha própria resposta Se você precisar de rigor, mas ROOT é escrito em C ++, e é quase certamente muito pesado para a sua aplicação, então você vai precisar para retirar apenas o código que você quer ...

Outras dicas

A Biblioteca GNU Scientific apresenta um multidimensional minimização quadro , que pode ser feito para trabalhar para a maximização com bastante facilidade. Ele foi projetado para retornar apenas um único mínimo, em vez de um monte de mínimos diferente, no entanto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top