Desenvolvendo Sistemas de Linux Embarcado - Tchelinux 2009
Treinamento com SphinxTrain
1. Sphinx ⇔ Voxforge Pt-Br
Treinando um modelo acústico para o toolkit
CMU Sphinx com o corpus de fala Voxforge
2. O que precisamos para treinar?
● Arquivos de áudio
○ e suas respectivas transcrições
○ Arquivos .raw, .sph, .wav
○ <s> amanhã chove forte </s>
● Dicionário fonético
○ e um alfabeto fonético
○ mapeamento palavra ⇔ sequência de fonemas
● Modelo Linguístico
○ necessário para a avaliação do modelo
3. CMU Sphinx Toolkit
● Pocketsphinx
○ reconhecedor leve (em C)
● Sphinxbase
○ biblioteca de suporte ao Pocketsphinx
● Sphinx4
○ reconhecedor flexível e customizável (em Java)
● Sphinxtrain
○ ferramenta de treinamento de modelo acústicos
● Sphinx3
○ reconhecedor desatualizado (em C)
● CMUclmtk
○ toolkit para o treinamento do modelo linguístico
4. Pré-requisitos...
● Perl
○ ActivePerl no Windows
○ Linux
~$ sudo apt-get install perl (debian-based)
~$ sudo yum install perl (RPM repo-based)
● Python
○ ActivePython no Windows
○ Linux
~$ sudo apt-get install python (debian-based)
~$ sudo yum install python (RPM repo-based)
5. Agora vamos instalar...
● baixe os pacotes .tar.gz …
○ sphinxbase-0.8
○ pocketsphinx-0.8
○ sphinxtrain-1.0.8
● extrair os pacotes e entrar no diretório…
~$ tar -zxf <pacote-x.x>
~$ cd <pacote-x.x>/
● executar os comandos...
~$ ./autogen.sh
~$ ./configure
~$ make
~$ make install
6. Variáveis de ambiente...
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
9. Preparando os diretórios...
● baixar e executar scripts
~$ git clone https://github.
com/gabrielaraujof/voxforge2sphinxPtBr.git scripts
~$ chmod +x scripts/setupam.py
~$ ./scripts/setupam.py -s <base extraida> voxforge
● Copiar os arquivos (disponível aqui)
○ voxforge.dic (**converter para iso-8859-1)
○ voxforge.phone
○ voxforge.filler
● Converter e copiar o modelo linguístico
○ voxforge.lm.DMP (formato ARPA aqui)
10. Configurar Sphinxtrain...
● De dentro da pasta configurada, executar…
~$ sphinxtrain -t <nome do modelo> setup
● Editar parâmetros de treinamento…
○ arquivo etc/sphinx_train.cfg
$CFG_HMM_TYPE
$CFG_INITIAL_NUM_DENSITIES
$CFG_FINAL_NUM_DENSITIES
$CFG_N_TIED_STATES
● Executar o trainamento...
~$ sphinxtrain run
11. Logs do treinamento...
● Arquivo <nome da base>.html
○ links para os logs de cada fase do treinamento
○ indicações de erros
○ resultado da avaliação do modelo