系统语音识别、MS语音平台和Kinect

Posted

技术标签:

【中文标题】系统语音识别、MS语音平台和Kinect【英文标题】:System Speech Recognition, MS Speech Platform and Kinect 【发布时间】:2013-11-21 21:43:06 【问题描述】:

我最近开始从事一个需要葡萄牙语语音识别 (SR) 的项目。最初,计划是使用 Kinect 的 SR,但后来我们发现 Kinect 的语言包 (LP) 不包括葡萄牙语 (PT)。

所以我转向支持更多语言的 MS 语音平台,包括 PT,但由于我还没有完全弄清楚我无法让 MS 示例正常工作并且没有太多信息或教程的原因它在网络上。

我对语言包及其在 SAPI 中的作用感到非常困惑:从我从另一个线程中读到的内容来看,Microsoft.Speech.Recognition 使用 SAPI 的服务器版本(它有自己的语言包,Microsoft Speech Platform - Server Runtime Languages),而 System.Speech.Recognition 使用 SAPI 的桌面版本,它有哪些 LP?我知道我的 Windows 已经在美国使用了,因为我已经试用了一个 SR 应用程序,并且通过使用 where to get extra LPs 工作得很好? 甚至可以将 SAPI 的 LP 与 Kinect 一起使用吗?如果是,它的局限性是什么?

问候, 努诺

【问题讨论】:

【参考方案1】:

您不能将 Desktop SR 引擎 (System.Speech.Recognition) 与 Kinect 一起使用。桌面 SR 引擎附带 Windows 语言包(适用于 Windows Vista、7、8 和 8.1)。

Kinect 使用服务器 SR 引擎 (Microsoft.Speech.Recognition);您应该可以使用葡萄牙语引擎,但我自己没有尝试过。

【讨论】:

【参考方案2】:

SAPI 和 Microsoft 语音平台是不同的东西。 SAPI 是一个接口,可供语音引擎开发人员使用。 MS Speech Platform 是一个独立的语音引擎,不兼容 SAPI。 SAPI 的 LP 与 MS Speech Platfrom 不兼容,MS Speech Platform 的 LP 与 SAPI 不兼容。但是平台有它自己的SDK。 您可以在一个项目中将 Kinect SDK 用于非语言用途,并将 MS Speech SDK 用于语音识别,无需 SAPI。 MS Speech Platform 还具有良好的文本转语音功能。

【讨论】:

这是(略)不正确的。 SAPI一个可以支持多个SR引擎实现的接口。 Microsoft 提供两组 SR 引擎,一组用于桌面(托管实现绑定到System.Speech),另一组用于服务器(托管实现绑定到Microsoft.Speech)。 两组引擎都通过 SAPI 与应用程序通信。

以上是关于系统语音识别、MS语音平台和Kinect的主要内容,如果未能解决你的问题,请参考以下文章

c# Kinect 语音和手势识别不能一起工作

Kinect 语音识别和骨骼跟踪不能一起工作

在语音识别中使用 Kinect Skeleton ID

树莓派怎么调用科大讯飞的语音库实现语音识别

树莓派系列二(语音识别)

树莓派系列二(语音识别)