CMU Sphinx

13 de fevereiro de 2022 Off Por Marcelo Martins

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

cmusphinx · GitHub

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

Baixando o projeto do repositório

digite agora o autogen para gerar os arquivos de configuração.

./autogen.sh

execução do 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.

Teste de hello

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.

Reconhecimento de voz com sphinx