User Tools

Site Tools


educare:sphinx-2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
educare:sphinx-2 [2013/07/22 12:02]
profpro [appunti su Sphinx2]
educare:sphinx-2 [2020/06/08 22:20] (current)
Line 1: Line 1:
 +====== 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
 +<code>sphinx2-demo</code>
 +questo non funziona bene
 +<code>
 +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 </code>
 +<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 (external edit)