gpt4 book ai didi

java - 逐个字母拼写

转载 作者:行者123 更新时间:2023-11-30 08:43:44 25 4
gpt4 key购买 nike

我正在构建一个 Android 应用程序,它将通过使用语音转文本 获取用户输入。

用户将输入“AA001”、“BC022”、“AD011”等代码。我已经能够打开语音识别 Activity 并从中获取用户输入(下面的 fragment ,来自 here ),但它返回单词。

我需要一种方法来设置它,以便只获取用户实际输入的字母和数字。

private void promptSpeechInput() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
getString(R.string.speech_not_supported),
Toast.LENGTH_SHORT).show();
}
}

最佳答案

Google 引擎无法做到这一点。您可以使用其他引擎来做到这一点,例如 CMUSphinx .在那里你可以指定一个语法来只识别字母和数字,语法应该是这样的:

#JSGF V1.0;
grammar alphadigits;
public <letters> = (one | two | three | four | ... | a. | b. | c. | d. ... | z.)*;

这种语法只会返回比 Google 原生 API 更准确的数字。

为了更好的识别准确性,还建议将字母组合而不是字母添加到语法中。例如,如果您想要“aa”,则将“aa”添加到语法中。字母太短,无法可靠识别。

关于java - 逐个字母拼写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34095085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com