1

我有一个 OS X 应用程序,它使用NSSpeechSynthesizer该类来阅读一些文本。我需要能够设置阅读速度,这是使用rate. NSSpeechSynthesizer然而,不同的声音有不同的基线阅读率和不同的范围。问题是我找不到从语音中获取此范围的方法,以便我知道语音可以接受哪些值。这很重要,因为我希望能够从范围的差异中抽象出来,让用户选择慢/正常/快之类的东西。但是对于基线为每分钟 180 个单词的语音,100 的值将被认为是慢的,对于基线为每分钟 100 个单词的语音显然不是这种情况。

有没有办法获得这些范围?我在类参考中没有发现任何有用的东西NSSpeechSynthesizer

4

2 回答 2

1

您可以在更改之前获得语音的速率,并且您可以估计可接受的范围是默认速率± 50 WPM 或其他东西。

也就是说,如果您使用它来设置滑块,我会提醒您不要将用户限制在“自然”的声音范围内。一些人,包括许多盲人,为了节省聆听时间,故意尽可能快地调高音量。

于 2011-12-07T20:34:21.363 回答
0

好吧,我知道这不是您可能一直在寻找的答案,但据我所知,Apple 尚未向公众提供一种方法来更改 NSSpeechSynthesizer 对象实例的基线速度(其中,正如你所说,有一个“速率”实例,但它不能为每个不同的声音制作恒定的速率)。为此,我知道你不会喜欢它,你必须让慢的更快,让快的慢,直到它们匹配。再次抱歉,但据我所知,Apple 没有提供更改基准费率的方法。快乐编码!

〜猴子

于 2011-12-06T12:22:16.513 回答