我需要使用语音输入来插入文本。我说话时如何检测关键字?
我可以使用 Android 语音输入执行此操作还是需要外部库?有任何想法吗 ?
谢谢
我需要使用语音输入来插入文本。我说话时如何检测关键字?
我可以使用 Android 语音输入执行此操作还是需要外部库?有任何想法吗 ?
谢谢
绝对地。
有关检测“魔术词”的一些代码,请参见this
只需使用 ACTION_RECOGNIZE_SPEECH 启动一个 Intent,然后检查您的关键字的结果。检查关键字可能很复杂,但这段代码应该可以帮助您入门。
关键字检测任务不同于语音识别任务。当第二个尝试理解正在说出的文本并检查所有可能的单词组合时,关键字发现通常检查两个假设 - 单词在这里或垃圾在这里。检查关键字存在的方式更有效,但它需要自定义算法。您可以使用开源语音识别工具包(如 CMUSphinx)来实现一个。
http://cmusphinx.sourceforge.net
哪个也可以在Android上运行,您可以检查
看看如何整合它。
我为此任务使用了 Snowboy 库
网站:https
://snowboy.kitt.ai
Github:https ://github.com/kitt-ai/snowboy
它是一个 C 库,但可以使用 JNI 将其包含在 Android 代码中。唯一的缺点是,如果您想使用与库附带的关键字不同的关键字,则必须使用音频样本对其进行训练。