O srvOuve, é um projeto de minha autoria, que permite criar aplicação de Voz para Texto. Neste projeto, iremos utilizar várias abordagens diferentes, para criar uma aplicação para atender essa finalidade.
Neste primeiro projeto finalizado, criamos um serviço de voz para texto que precisa ser online.
O projeto srvOuve, permite utilizar diversos serviços diferentes, ouvindo tanto online como offline, unificando assim a forma de obter esses serviços em um único canal.
Permitindo criar integrações mais ageis.
No exemplo do vídeo usamos o MNote como ferramenta de integração. Onde ele recebe o texto “escutado” pelo srvOuve e repassa ao CHATGPT, permitindo assim que esse responda, e depois convertendo em texto de voz, através do srvFalar, outro projeto de minha autoria.
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:
Temos visto uma crescente de IoT desenvolvidos especificamente para reconhecer comandos de seu dono, tais dispositivos, como Alexa ou o Google Home, tem se tornado, bem popular.
Iremos neste artigo, aprender a criar nosso próprio google home.
O que é o CMU Sphinx
CMU Sphinx é uma api de reconhecimento de voz. Ela é bastante consagrada, possuindo muitos projetos atrelados a ela.
Trato a biblioteca com bastante foco para desenvolvimento IoT, no meu livro que pode ser baixado livremente.
A grande vantagem desta api, é que ela não necessita de conexão externa ou acesso a internet.
Uso do CMU Sphinx
Utilizaremos o CMU Sphinx como base do nosso projeto.
Para atender a instalação será necessário as seguintes bibliotecas:
apt install bison
apt install libasound2-dev
apt install swig
apt install python
Pré requisitos de instalação
Instalação do Sphinx pelo gerenciador de pacotes
A instalação do sphinx pelo gerenciador de pacote, fica bem mais fácil, porem pode ser necessário, atualizar manualmente a versão, pois ninguem garante que o repositório estará atualizado com a ultima versão.
apt install shinxbase*
apt install pocketsphinx*
instalação através do gerenciador de pacotes
Baixa manual
Nesta modalidade iremos baixar e instalar o sphinx manualmente em nosso linux.
Dei o primeiro passo no desenvolvimento do projeto srvOuve.
O intuito deste projeto, é fornecer uma ferramenta de reconhecimento de fala. Convertendo Fala para texto, este projeto é 100% offline, não necessitando de nenhuma API na nuvem.
O projeto srvOuve é uma integração com o Sphinx, projeto de reconhecimento de voz.
Permite através de uma porta tcp, escutar tudo o que é ouvido, em forma de texto.
O intuito deste projeto é facilitar o desenvolvimento em etapas de aprendizado de maquina.
Obtendo uma forma simples e eficiente de integrar esta feature.
O que é o CMU Sphinx
CMU Sphinx é uma api de reconhecimento de voz. Ela é bastante consagrada, possuindo muitos projetos atrelados a ela.
A grande vantagem desta api, é que ela não necessita de conexão externa ou acesso a internet.
Uso do CMU Sphinx
Utilizaremos o CMU Sphinx como base do nosso projeto.