Table of Contents
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