Upload
gabriel-araujo
View
261
Download
4
Embed Size (px)
Citation preview
Sphinx ⇔ Voxforge Pt-BrTreinando um modelo acústico para o toolkit CMU Sphinx com o corpus de fala Voxforge
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
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
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)
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
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
Estrutura das pastas
❏ etc❏ nome_db.dic❏ nome_db.phone❏ nome_db.lm.DMP❏ nome_db.filler❏ nome_db_train.fileids❏ nome_db_train.transcription❏ nome_db_test.fileids❏ nome_db_test.transcription
❏ wav❏ speaker_1
❏ file_1.wav❏ speaker_2
❏ file_2.wav
Voxforge
● Repository voxforge Pt - 16kHz, 16bit● Pacotes .tgz para cada locutor
○ etc■ prompts
○ wav■ arquivos .wav
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)
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
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
Resumindo...
● Executar~$ ./scripts/setupam.py -s <base raw> <modelo>
● Copiar restante dos arquivos● Executar
~$ sphinx_train setup <modelo>
● modificar parâmetros● Executar
~$ sphinx_train run
Observações
● Locutores incompatíveis○ áudios e transcrições em inglês
● Palavras fora do dicionário○ quinta-feira○ fim-de-semana
Resultados
Modelo acústico Sphinx
Referência
● http://cmusphinx.sourceforge.net/wiki/tutorialam