CMU Sphinx
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.
GIT do Projeto
Site do Projeto
CMUSphinx Documentation – CMUSphinx Open Source Speech Recognition
Divisão por Projetos
O CMU Sphinx, possui diversos softwares ou pacotes separados.
Irei abordar alguns deles, que serão algo deste artigo.
- sphixbase – Biblioteca base
- pocketsphinx – Conjunto de fontes e dicionário para reconhecimento de vóz usado no sphinxbase.
- sphinxtrain – Ferramenta de Traino de modelos acústicos
- Modelo em portguês
Instalação do Sphinx
Pré requisitos de instalação
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.
Primeiramente iremos baixar o projeto no git
git clone https://github.com/cmusphinx/sphinxbase.git
digite agora o autogen para gerar os arquivos de configuração.
./autogen.sh
Agora, rode o /configure, conforme a linha a seguir:
./configure –enable-fixed
Em seguida compile o projeto:
make clean all
make
make install
Ao fim do processo, voce terá instalado a base.
Instalando o Pocket Sphinx
Bom fizemos a instalação do Sphinxbase, mas iremos agora, adicionar o pacote, necessário para desenvolvimento desktop.
A instalação tradicional já foi passada na instalação do sphinxbase, por isso iremos omitir.
Iremos agora orientar na compilação dos fontes.
Baixe os fontes do repositório:
git clone https://github.com/cmusphinx/pocketsphinx.git
Em seguida entre na pasta e realize os seguintes comandos:
./autogen.sh
./configure
make check
make install
make installcheck
ldconfig
Ao fim do projeto, se der certo, irá aparecer o seguinte binário.
> pocketsphinx_continuous
Ao tentar rodar, ele irá pedir parametros, vamos testar agora com parametros adicionais.
pocketsphinx_continuous -adcdev plughw:1,0 -kws_threshold 1e-20 -inmic yes
Neste modo ele irá ouvir comandos em inglês, fale um simples hello, que voce irá verificar que o mesmo funciona.
Bom, finalizamos este primeiro artigo, no próximo, iremos criar uma aplicação que ouve as pessoas. Sendo nosso hello world em C.
Espero que tenham gostado.