gpt4 book ai didi

objective-c - NSSpeechSynthesizer、stopSpeaking 和 Nuance 语音

转载 作者:行者123 更新时间:2023-12-03 17:21:30 27 4
gpt4 key购买 nike

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

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

此问题似乎仅在使用 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];

大家有遇到过这个问题吗?你知道如何修复它吗?或者你们中的任何人都可以建议我一个解决方法吗?

非常感谢您的帮助...

最佳答案

嗯,这解决了我的问题...该问题是由 NSSpeechImmediateBoundary 停止样式触发的。使用 NSSpeechWordBoundary 代替,Nuance 和 infoVox iVox 语音也将正确停止说话。

关于objective-c - NSSpeechSynthesizer、stopSpeaking 和 Nuance 语音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25308489/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com