Phone 'MA' 声学模型缺失;单词 'masoud' - pocketsphinx
Phone 'MA' is mising in the acoustic model; word 'masoud' - pocketsphinx
我叫 masoud
。
现在我想当我说 masoud
时,我的应用程序会打印控制台日志。
为此,我制作了一个 mdic.txt
文件,并将我的名字放入其中:
masoud MA S O D
我将 mdic.txt
更改为 mdic.dict
并将其放在 assets/sync
目录中。
我制作了一个 cm.txt
文件,并在里面放了一个字符串:
#JSGF V1.0;
/**
* JSGF Grammar for Hello World example
*/
grammar masoud;
public <greet> = (good morning | masoud) ( bhiksha | evandro | paul | philip | rita | will );
然后我将 cm.txt
更改为 cm.gram
.
在我的 MainActivity
private void setupRecognizer(File assetsDir) throws IOException {
// The recognizer can be configured to perform multiple searches
// of different kind and switch between them
recognizer = SpeechRecognizerSetup.defaultSetup()
.setAcousticModel(new File(assetsDir, "en-us-ptm"))
//.setDictionary(new File(assetsDir, "cmudict-en-us.dict"))
.setDictionary(new File(assetsDir, "mdic.dict"))
//.setRawLogDir(assetsDir) // To disable logging of raw audio comment out this call (takes a lot of space on the device)
.setKeywordThreshold(1e-45f) // Threshold to tune for keyphrase to balance between false alarms and misses
.setBoolean("-allphone_ci", true) // Use context-independent phonetic search, context-dependent is too slow for mobile
.getRecognizer();
recognizer.addListener(this);
/** In your application you might not need to add all those searches.
* They are added here for demonstration. You can leave just one.
*/
// Create keyword-activation search.
//recognizer.addKeyphraseSearch(KWS_SEARCH, KEYPHRASE);
recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir, "mdic.dict"));
现在我收到这条消息:
"dict.c", line 195: Line 1: Phone 'MA' is mising in the acoustic
model; word 'masoud' ignored "kws_search.c", line 171: The word
'masoud' is missing in the dictionary
我在 recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir, "mdic.dict"));
行遇到了这个错误。
masoud 的正确转录是 "M AH S UW D"。
声学模型中没有phone MA。错误说明了这一点。
我叫 masoud
。
现在我想当我说 masoud
时,我的应用程序会打印控制台日志。
为此,我制作了一个 mdic.txt
文件,并将我的名字放入其中:
masoud MA S O D
我将 mdic.txt
更改为 mdic.dict
并将其放在 assets/sync
目录中。
我制作了一个 cm.txt
文件,并在里面放了一个字符串:
#JSGF V1.0;
/**
* JSGF Grammar for Hello World example
*/
grammar masoud;
public <greet> = (good morning | masoud) ( bhiksha | evandro | paul | philip | rita | will );
然后我将 cm.txt
更改为 cm.gram
.
在我的 MainActivity
private void setupRecognizer(File assetsDir) throws IOException {
// The recognizer can be configured to perform multiple searches
// of different kind and switch between them
recognizer = SpeechRecognizerSetup.defaultSetup()
.setAcousticModel(new File(assetsDir, "en-us-ptm"))
//.setDictionary(new File(assetsDir, "cmudict-en-us.dict"))
.setDictionary(new File(assetsDir, "mdic.dict"))
//.setRawLogDir(assetsDir) // To disable logging of raw audio comment out this call (takes a lot of space on the device)
.setKeywordThreshold(1e-45f) // Threshold to tune for keyphrase to balance between false alarms and misses
.setBoolean("-allphone_ci", true) // Use context-independent phonetic search, context-dependent is too slow for mobile
.getRecognizer();
recognizer.addListener(this);
/** In your application you might not need to add all those searches.
* They are added here for demonstration. You can leave just one.
*/
// Create keyword-activation search.
//recognizer.addKeyphraseSearch(KWS_SEARCH, KEYPHRASE);
recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir, "mdic.dict"));
现在我收到这条消息:
"dict.c", line 195: Line 1: Phone 'MA' is mising in the acoustic model; word 'masoud' ignored "kws_search.c", line 171: The word 'masoud' is missing in the dictionary
我在 recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir, "mdic.dict"));
行遇到了这个错误。
masoud 的正确转录是 "M AH S UW D"。
声学模型中没有phone MA。错误说明了这一点。