arecord até que o nível de som caia baixo o suficiente

2

Estou tentando implementar reconhecimento de voz constante no meu Pi no momento, estou conseguindo isso com dois threads em execução, um sempre gravando (com arecord em um script bash) por X quantidade de segundos, salvando essas informações para um WAV e, em seguida, reiniciando, cada vez que este WAV é escrito o outro segmento executa o reconhecimento no arquivo WAV.

Isso está funcionando muito bem, no entanto, se por acaso a sentença do usuário é cortada e iniciada novamente no próximo loop de gravação, a sentença fica fragmentada entre dois resultados de reconhecimento.

Minha pergunta é: Existe uma maneira de garantir que arecord grava até que o nível de som caia abaixo de um certo limite, de modo que toda a sentença seja capturada na gravação e, depois que o usuário parar de falar por alguns segundos, a gravação será interrompida?

(Estou usando o Python para tudo isso btw)

Além disso, se houver uma maneira melhor de resolver esse problema, estou aberto a sugestões, sou relativamente novo no Pi, então não sou muito versado em todas as coisas maravilhosas que ele pode alcançar.

    
por Aphire 21.01.2015 / 17:04

0 respostas