私の名前はmasoud
です。今、私が言いたいのはmasoud
、私のアプリがコンソールログを出力することです。
これを行うために、mdic.txt
ファイルを作成し、その中に自分の名前を入れました:
マスード MA SOD
に変更mdic.txt
しmdic.dict
て、assets/sync
direcotry に置きました。
ファイルを作成し、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"、195 行目: 1 行目: 音響モデルに音名 'MA' がありません。単語 'masoud' は無視されました "kws_search.c"、171 行目: 単語 'masoud' が辞書にありません
行でこのエラーが発生しましrecognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir, "mdic.dict"));
た。