NSSpeechSynthesizer,stopSpeaking和Nuance的声音

时间:2014-08-14 12:50:42

标签: objective-c xcode macos cocoa text-to-speech

我使用Nuance TTS发现了这个奇怪的问题。 startSpeakingString:startSpeakingString:toURL:工作找不到,但stopSpeakingAtBoundary案例中的startSpeakingString:toURL:似乎失败了。

为了测试这个,我实现了委托,并在willSpeakWord...中放了一个简单的NSLog()方法来查看要说的单词。在调用stopSpeakingAtBoundary后继续调用NSLog(),这意味着TTS引擎没有响应stop命令。

这个问题似乎只出现在Nuance的声音中,例如Alice(IT)或Daniel(美国,如果我还记得)。使用紧凑型语音也会发生这种情况。

例如,使用Alex,当我调用stop方法时,单词打印过程也会立即停止

代码只是

    NSSpeechSynthesizer* synth;
    synth = [NSSpeechSynthesizer alloc] init];
    // setting voice parameters
    [synth startSpeakingString:@"a quite long message..." toURL:aURL];

在另一种方法中,将文本转换为音频...

    [synth stopSpeakingAtBoundary:NSSpeechImmediateBoundary];

你们有没有遇到过这个问题?你知道怎么修好的吗?或者你们中的任何人可以建议我一个解决方法吗?

非常感谢您的帮助......

1 个答案:

答案 0 :(得分:0)

嗯,这解决了我的问题......这个问题是由NSSpeechImmediateBoundary停止风格引发的。使用NSSpeechWordBoundary代替,Nuance和infoVox iVox语音也将正确停止发言。