Skip to content

Instal·lació

Col·lectivaT edited this page Nov 28, 2018 · 11 revisions

Aquí trobareu instruccions bàsiques per instal·lar eines CMUSphinx. Tot i que ens superposem en certa manera amb el tutorial oficial de l'equip de CMUSphinx, el nostre objectiu no és duplicar el contingut sinó expandir determinats conceptes i tasques. Per obtenir la informació bàsica si us plau referiu a la seva pàgina, les publicacions pertinents (Lamere et al 2003, Huggins-Daines et al. 2006) i el seu sourceforge forum.

Requisits

Les instruccions d'aquesta pàgina estan comprovades per a Ubuntu 16.04 i Mac OS 14.

Les Eines

El projecte CMUSphinx consta de múltiples eines, que tenen diferents usos i aplicacions. Aquestes eines, tal com llistades a la seva pàgina web, són:

  • pocketsphinx - biblioteca de reconeixement lleuger escrita en C.
  • sphinxbase - biblioteca de suport requerida per pocketsphinx i sphinxtrain
  • sphinx4 - biblioteca de reconeixement ajustable i modificable escrita en Java
  • sphinxtrain - eines d'entrenament dels models acústics

En aquest wiki, parlarem sobre els passos de la instal·lació de totes aquestes, excepte el sphinx4.

L'eina necessària per a les tasques senzilles de reconeixement és el pocketsphinx. Està empaquetat i és fàcil de configurar per a diversos sistemes operatius. Per al desenvolupament i ús avançat haureu de descarregar i compilar sphinxbase. Si voleu fer el desenvolupament en Java, doncs sphinx4; i finalment per entrenar models acústics necessitareu sphinxtrain.

En la següent secció, us expliquem com configurar pocketsphinx per a usuaris ocasionals. Però per als desenvolupadors, hi ha vàries maneres de descarregar aquestes eines:

La millor manera depèn de l'eina i de la necessitat. Des del novembre de 2018, les eines habituals són les més actualitzades en github.

Instal·lació bàsica

Per començar a descodificar la parla directament des del micròfon o des d'un fitxer, el primer a descarregar és pocketsphinx.

Sistemes de Debian

Per als sistemes basats en Debian, podeu instal·lar-lo simplement utilitzant el gestor de paquets apt.

sudo apt-get install pocketsphinx

Mac OS

Podeu instal·lar pocketsphinx usant brew

brew install cmu-sphinx

Recursos addicionals

Models i diccionari

pocketsphinx no pot descodificar per si sol, necessita recursos dependents d'idioma. És a dir:

  • Model acústic
  • Model d'idioma
  • Lèxic fonètic (diccionari)

Pràcticament el model d'idioma i el lèxic són un fitxer cada un, mentre que el model acústic consta de diversos fitxers. En general, tots els recursos es distribueixen conjuntament.

Podeu descarregar els fitxers per al català aquí. A més, la pàgina de descàrregues de CMUSphinx sourceforge ja té alguns idiomes disponibles.

Cada idioma ha de tenir com a mínim aquests tres recursos. El cas del castellà és el següent:

NOTA

Per als sistemes de base de Debian, els models en anglès es poden descarregar
sudo apt-get install pocket-files-en-us

Arxius d'àudio transcrits

Per començar a provar les capacitats de reconeixement de veu, podeu descarregar fitxers de veu en un idioma determinat des de la pàgina web de Voxforge. Seguint l'exemple anterior, els fitxers de parla en castellà es poden trobar aquí i específicament aquí.

No obstant això, si vols seguir el tutorial amb els models per castella, pots descarregar-los aquí dins del qual trobareu l'estructura de les carpetes semblant als nostres models per catalan.

NOTA

Cada model acústic està entrenat per un mostreig d'àudio determinat. Els valors més habituals són 16kHz i 8kHz. Quan descodifiqueu els enregistraments de veu, assegureu-vos de que el mostreig de fitxers és coherent amb el que el model acústic s'ha entrenat.

Exemples

Ja podem comprovar la instal·lació pocketsphinx. Amb un fitxer:

pocketsphinx_continuous-hmm <acoustic_model_path> -lm <language_model_file> -dict <dictionary_file> -infile <wave_file>

O simplement pel català:

pocketsphinx_continuous -hmm ca-es/acoustic-model/ -lm ca-es/language-model.lm.bin -dict ca-es/pronunciation-dictionary.dict -infile scripts/test_wavs/test_ca-es.wav 2>/dev/null