Como processar áudio em tempo real?
ver amplitude de áudio em tempo real vs Gráfico de tempo.
execute algumas ações baseadas em eventos como se um padrão de onda é visto similar a algum padrão de onda predefinido, em seguida, chamar uma função.
Na metade superior da imagem, você pode ver quatro distúrbios. Eu quero que sempre que esta perturbação é vista, o script deve chamar uma função, caso contrário, quando o sinal é quase reta, não fazer nada apenas continuar analisando o sinal.
Existe algum módulo Python ou biblioteca C que me permita fazer isto?
4 answers
1# um FFT avançado dar-lhe-á amplitude dentro do domínio do tempo, convertido a partir do seu domínio de frequência (os próprios dados de áudio) 2# baseado nos padrões de amplitude dentro do tempo / frequência - você pode decidir chamar thread extra ou função; por exemplo - quando você não obtém amplitude em determinada barra de frequências ou horário - faz alguma coisa, skip.
Há uma abundância de opensource bibliotecas de C para executar FFT em dados de áudio, como http://aubio.org/ ou https://github.com/zaphire/Monocle-Engine/blob/master/Core/Audio/fft.cpp há muito mais. Mas certifique-se de fazer você entender FFT e análise de som antes de prosseguir. Eu pessoalmente não usei nenhuma dessas bibliotecas C-em vez disso fiz muito com a análise de áudio iOS, mas os princípios de trabalho devem ser similares {[[2]}
As probabilidades são PythonInMusic tem o que você está procurando, mas é muito difícil dizer quando a sua tarefa alvo é "executar algumas ações baseadas em alguma coisa"
Um pacote Python que oferece um modelo de objecto de alto nível e permite o seu usuários para escrever facilmente scripts, macros e programas que usam a fala reconhecimento.
Ou pyspeech
De qualquer forma, estes dois módulos python parecem processar áudio em tempo real, podem dar-lhe algumas dicas...Speech.py é um módulo Python que oferece uma interface limpa para Reconhecimento de voz e capacidades de texto-para-voz do Windows. É muito facil para usar dentro de um programa que precisa ouvir para frases específicas ou discurso geral, ou isso precisa de falar.
Para o ponto 1 pode utilizar Dados puros .
Ponto de 2 é muito inespecífica , mas você pode tentar a sua sorte com PythonInMusic (após a resposta do Pedreiro Hemmel)