Sphinx reconhecimento de audio gravado

13 de fevereiro de 2022 Off Por Marcelo Martins

Para este experimento iremos utilizar o seguinte texto:

https://www.nasa.gov/mp3/586447main_JFKwechoosemoonspeech.mp3

Trata-se do famoso discurso de J.F. Kenedy, sobre a necessidade de ir a lua.

A transcrição do audio, pode ser vista neste link.

JFK RICE MOON SPEECH (nasa.gov)

Preparação do Arquivo

Primeiramente precisamos converter o texto em wav.

ffmpeg -i 586447main_JFKwechoosemoonspeech.mp3 -ar 16000 -ac -1 jfk.wav

o ffmpeg, faz a conversão do texto no formato desejado para analise. O arquivo é preparado para uma taxa de amostragem de 16k.

Lendo o arquivo

pocketsphinx_continuous -infile jfk.wav > jfk.txt

Segue o que ele ouviu

i got an r n n n
not because they are easy one because they are hot
the car and gold
wilson to organize then it then asked
our energy density else
we got it at our ideas and won that we’re willing to exactly
while we are unwilling to postpone
and one nintendo wii in and then look

Podemos perceber que neste primeiro processo ele ouviu muita coisa errada, porem algumas palavras de cara deram certo. “not because they are easy”. Porem a qualidade do audio comprometeu em muito a leitura.

O parametro -infile, permite ler o arquivo origem, porem o mesmo precisa ser previamente preparado para leitura deste.

Pudemos verificar que a qualidade do audio foi importante para refletir a acuracia do audio, iremos pegar algo mais simples agora.

Segundo exemplo

Neste segundo exemplo extraímos o audio do seguinte link:

https://freesound.org/people/tim.kahn/sounds/82986/

Neste link temos uma contagem regressiva, bem pronunciada de uma voz feminina.

Iremos baixar o wav e passar um filtro conforme a sintaxe abaixo:

ffmpeg -i 82986__tim-kahn__countdown.wav -ar 16000 -ac 1 countdown.wav

Agora iremos processar o arquivo, jogando o resultado no arquivo countdown.txt

pocketsphinx_continuous -infile 82986__tim-kahn__countdown.wav > countdown.txt

Temos como conteudo, o seguinte texto:

ten
nine
eight seven
six five four three two
wind
zero

Podemos perceber que de 10 itens falados, apenas o one, não foi ouvido corretamente.

Referencias:

https://freesound.org/browse/tags/english/