我正在考虑在android上做语音识别。该程序需要有连续的语音识别。这个库只需要10个单词左右。我考虑过使用Googles api,但我认为它不会起作用。(我不能让任何东西覆盖屏幕)。我一直在寻找其他方法,但似乎没有什么能行得通。有没有可能使用java的语音识别库,或者有没有其他方法呢?
总而言之
需要连续的语音input10单词最大可以训练如果需要节目概览-显示屏,等待语音输入或触摸输入,更新屏幕重复不能覆盖屏幕上正在显示的内容
任何帮助都将不胜感激。
提前感谢
发布于 2010-10-05 01:52:20
我认为你必须直接从手机的麦克风中捕获音频,并将其流式传输到你自己的识别服务。Google recognition API旨在启动自己的识别对话框,并向您返回结果。如果您希望在没有UI的情况下连续识别,则必须自己构建该功能。
发布于 2014-05-09 00:29:59
CMUSphinx最近在安卓平台上实现了持续监听。您可以在wiki page上找到演示
您可以配置一个或多个关键字来收听,默认的关键字是“哦,强大的计算机”。您还可以配置检测阈值。目前支持的语言是美国英语和少数其他语言(法语、西班牙语、俄语等)。您可以针对您的语言训练自己的模型。
监听很简单,你创建一个识别器,然后添加关键字识别搜索:
recognizer = defaultSetup()
.setAcousticModel(new File(modelsDir, "hmm/en-us-semi"))
.setDictionary(new File(modelsDir, "lm/cmu07a.dic"))
.setKeywordThreshold(1e-5f)
.getRecognizer();
recognizer.addListener(this);
recognizer.addKeywordSearch(KWS_SEARCH_NAME, KEYPHRASE);
switchSearch(KWS_SEARCH_NAME);
并定义监听程序:
@Override
public void onPartialResult(Hypothesis hypothesis) {
String text = hypothesis.getHypstr();
if (text.equals(KEYPHRASE))
// do something
}
您可以在文件系统上指定命令文件路径,而不是单个关键短语:
recognizer.addKeywordSearch(KWS_SEARCH, new File(assetsDir,
"commands.lst").toString());
哪个命令文件commands.lst
每行包含一个命令:
oh might computer
ok google
hello dude
要将此文件放到文件系统中,您可以将其放入assets中,并在应用程序启动时运行syncAssets。
发布于 2016-09-26 13:49:41
这里有另一种方法(如果你计划使用Phonegap/Cordova)。
https://stackoverflow.com/a/39695412/3603128
1)它不断地监听。
2)不在屏幕上显示(占用)。
https://stackoverflow.com/questions/3148603
复制相似问题