Treinamento com SphinxTrain

Preview:

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

Dúvidas e contato

E-mail: gabrielfa@dcomp.ufs.br

Recommended