User Tools

Site Tools


educare:sphinx-2

Appunti su Sphinx2

Descrizione

Sphinx2 non è un programma immediatamente utilizzabile, ma un insieme di funzioni che permettono di realizzare sistemi di riconoscimento vocale. Ogni programma che utilizza le librerie Sphinx2 all'avvio deve ottenere alcune informazioni:

  • un Dizionario delle parole (file.dic): ad ogni parola corrisponde una sequenza di fonemi.
  • un Modello Acustico (MA) (es: tipo semicontinuo) generato dal trainer per ogni lingua, contiene le statistiche dei fonemi di ogni lingua ed è costituito da alcuni(?) dei seguenti tipi di file: .vec .var .ccode .d2code .p3code .xcode .chmm
    • il trainer genera un MA in formato Sphinx3 che deve essere convertito per Sphinx2
  • un Modello di Lingua (ML) (file.lm): combina (di solito) tre fonemi alla volta (trigrammi) a formare le stesse parole del Dizionario.

Il vocabolario delle parole riconoscibili è dato dall'intersezione del Dizionario e del Modello di Lingua. Ogni pronuncia (parola o frase) può durare solo 60 sec.

Sphinx2 può essere usato in 2 modalità:

  • batch-mode
  • live-mode

Ognuna delle quali può decodificare con due tecniche

  • time-aling (disponibile solo in batch mode)
  • allphone (disponibile solo per file audio?)

Il comando (live-mode)

questo comando funziona ma riconosce solo il 10% delle parole

sphinx2-demo

questo non funziona bene

sphinx2-continuous \
 -dictfn model/lm/turtle/turtle.dic \
 -lmfn model/lm/turtle/turtle.lm \
 -cbdir model/hmm/6k \
 -hmmdir model/hmm/6k \
 -hmmdirlist model/hmm/6k \
 -ndictfn model/hmm/6k/noisedict \
 -phnfn model/hmm/6k/phone \
 -mapfn model/hmm/6k/map 
 -live \
 -agcemax TRUE \
 -normmean FALSE \
 -topsenfrm 4 \
 -topsenthresh -80000  \
 -fwdflat FALSE \
 -bestpath FALSE \
 -top 1 \
 -fillpen 1e-10 \
 -nwpen 0.01 \
 -silpen 0.005 \
 -inspen 0.65 \
 -langwt 6.5 \
 -ugwt 0.7 \
 -rescorelw 9.5 \
 -kbdumpdir  /usr/share/sphinx2/model/lm/turtle \
 -oovdictfn  /usr/share/sphinx2/model/lm/turtle/turtle.handdict \
 -oovugprob  -4.5 \
 -8bsen TRUE \
 -sendumpfn  /usr/share/sphinx2/model/hmm/6k/sendump 

<html> <!–areadint: model/hmm/6k/+BREATH+.ccode: can't open: No such file or directory FATAL_ERROR: “hmm_tied_r.c”, line 1390: Failed to read model/hmm/6k/+BREATH+.ccode

l'errore scompare aggiungendo questi parametri–></html>

Le API

Ci sono 3 tipi di API, ogni tipo possiede un diverso livello di astrazione:

  • per l'accesso diretto all'hardware (raw audio access)
  • per l'ascolto continuo filtrato dai silenzi (continuous listening/silence filtering)
  • il programma decoder (the core decoder itself)
    • fbs_init() specifica i modelli e gli argomenti necessari all'inizializzazione del decoder
    • fbs_end() chiude l'aplicazione e ripulisce
educare/sphinx-2.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1