2

我一直在尝试为我的应用程序使用的 NSSpeechSynthesizer 派生语音引擎设置自定义发音。但是,我一直遇到问题。

我正在使用 NSSpeechSynthesizer 类参考中指定的键创建一个新字典以添加到我的语音引擎中,但是文档非常混乱并且缺少一些重要信息。相关部分标题为“语音词典属性键”,链接如下:https ://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSSpeechSynthesizer_Class/Reference/Reference.html

我对此有点困惑,因为 NSSpeechDictionaryPronunciations 键似乎包含与 NSSpeechDictionaryEntryPhonemes 和 NSSpeechDictionaryEntrySpelling 相同的信息。也没有关于是否所有键都是必需的,或者它们是否是可选的,每个键的有效数据是什么,或者如何从已经初始化的语音引擎中获取现有值的信息。我也找不到有关何时可以添加新语音词典的任何详细信息。

根据我从本文档收集的信息,我假设语音字典是每个键都是可选的,并附加到引擎已经使用的任何数据,新添加的字典优先于现有数据是冲突。我定义了一个仅包含 NSSpeechDictionaryPronunciations 键的字典,其值是包含键 NSSpeechDictionaryEntrySpelling 和 NSSpeechDictionaryEntryPhonemes 的 NSDictionary 对象数组,如文档中所述。当我调用 -addSpeechDictionary: 时,语音引擎已经初始化。

但是,这会引发错误。抛出的实际错误代码取决于我选择的声音,但它总是抛出错误,并且定义的发音无效。

我只能假设我做错了什么,但是由于我无法在任何地方找到有关如何使用此功能的任何信息(除了非常模糊的文档),我有点卡住了。有没有人对此功能有任何经验并且可以为我指明正确的方向?或者甚至向我指出一本书的方向或更详细地涵盖这一点的东西?谷歌一直没有帮助...

4

0 回答 0