5

我目前正在使用 Microsoft 的语音引擎进行语音识别。使用 C# 设置和使用它非常简单,并且可以用比我最初想象的更少的代码行来实现伟大的事情。

现在,关键是我真的不知道如何处理这个问题:我知道引擎需要开始聆听,然后你说一个词或一个句子,它会在字典中进行比较,看看是否能找到匹配项。如果是这样,程序会做任何你想做的事情。

我正在挠头的是,我希望引擎“检测”他的字典中的单词,在包含一个或所有这些单词的完整随机短语中。

例如,假设字典有以下单词:-“阅读”-“新闻”

我想编写一些代码来检测这些特定单词,例如:-“给我读新闻”-“你能读懂新闻吗”-“读新闻”……

我怎样才能做到这一点?

4

1 回答 1

7

此功能称为“关键字定位”。通常您无法使用语音识别引擎执行关键字定位,您需要特定的定位包。关键问题是引擎应该不断比较两个结果——找到单词和找不到单词。语音识别只寻找符合语法的单词,不考虑其他声音。发现只需要不同的算法。

有一种解决方法可以将许多可能的音节或其他声音添加到语音识别语法中,并希望引擎会找到它们而不是关键字,但与特定关键字检测器相比,这在准确性方面并不是一个很好的解决方案。

如果您与 Microsoft 的引擎没有紧密的联系,并且您需要一种通用语言,例如美国英语或法语,您可以使用开源软件工具包(如CMUSphinx )实现关键字识别,以进行语音识别。

于 2012-10-10T15:31:02.237 回答