0

我正在使用依赖语音输入的 Kinect 开发 ac# 应用程序。我有一个阿拉伯语单词列表,用户可以说这些单词来选择不同的菜单项。

过去几天我一直在寻找,但收效甚微。我发现的东西:

CMU Sphinx:http ://www.ccse.kfupm.edu.sa/~elshafei/AASR.htm 第一个问题是它是基于java的。我已经查看了 KVM 和桥接器,但我无法在这件事上走得太远。我无法将其设置为在 Java 中工作。没有关于如何使用已经准备好的文件的步骤。

我还查看了使用此链接建议的 SRGSdocument在 Microsoft Speech API 中指定单词的发音, 但这对于我的目的来说太复杂了,我什至不知道它是否是我需要的。

我还查看了Microsoft Speech Recognition Custom Training 这个人的问题很相似,但我无法以同样的方式解决我的问题。

我无法使用 Sakhr 等商业应用程序,因为我没有预算。简单地将单词添加到语法中是行不通的,因为这些单词不符合英语的正常发音规则。

基本上,我正在寻找的是某种工具,它可以将用英语编写的单词与来自麦克风的一组不同发音(如预训练)连接起来,然后可以在运行时由语音引擎引用。这可能吗?

我愿意接受任何选择。

谢谢。

4

1 回答 1

0

我认为您想要做的是为您的识别器指定一个自定义词典。正如您所说,这将允许您“将用英语写的单词与一组不同的发音联系起来”。

词典将书面单词映射到以拼音字母书写的发音。您可以使用自己的词典覆盖默认词典(如果您使用英语识别器,每个单词都有英语发音),方法是编写一个新词典作为 XML 文档,或者通过内联指定单个发音。

因此,您可以将阿拉伯语单词的发音定义为一系列音素(我认为您必须只使用英语中出现的音素,否则识别可能无法正常工作),然后将其链接到英文书面词(字形) 在词典或内联中。

这个页面解释了一切:关于词典和音标(Microsoft.Speech)

于 2013-09-24T12:26:23.037 回答