2016-01-15 3 views
0

Je suis en train d'utiliser une phrase clé avec pocketsphinx, mais il continue de jeter l'erreur,Run pocketsphinx_continuous avec une phrase clé

ERROR: "kws_search.c", line 171: The word 'hey' is missing in the dictionary 

Même si elle est de 100% dans le dictionnaire. C'est une grande partie du dictionnaire et il reconnaît ce mot bien quand je laisse la phrase-clé. Est-ce que je l'utilise mal? Il n'y a pas de tutoriel que je pourrais trouver. Tout utilise python ou android.

pocketsphinx_continuous -hmm /usr/local/share/pocketsphinx/model/en-us/en-us -dict 9063.dic -lm 9063.lm -vad_threshold 3.0 -kws keyphrase.file -infile /dev/stdin 

et keyphrase.file est

hey /1.0/ 

Répondre

2

La ligne de commande correcte est:

pocketsphinx_continuous -vad_threshold 3.0 -kws keyphrase.file -infile /dev/stdin 

vous n'avez pas besoin -lm et -dict qui configure le mode de recherche de modèle de langage. Vous avez besoin du mode de recherche par mot-clé. Lorsque vous utilisez -dict, vous remplacez dictionnaire par défaut avec le dictionnaire avec des mots en majuscules. Les mots sont sensibles à la casse.

Le didacticiel est here.

+0

J'utilise -lm et -dict car j'ai un ensemble de commandes très spécifique et ça fonctionne bien quand on se rétrécit. L'utilisation de la phrase clé dans toutes les capsules a fonctionné. Bien que j'ai une sorte de question stupide, que font réellement les mots-clés? Je ne vois pas de différence et ma capacité à déchiffrer le code C est mauvaise. –

+0

La différence entre lm et les mots-clés est que ces derniers utilisent le seuil pour écouter en continu et signaler les correspondances. Les premiers essayent toujours de détecter quelque chose du lm. –

+0

Ah, ça a beaucoup de sens alors. Je vous remercie. –