2

我可以在 AVSpeechSynthesizer 中更改语音的音高,或者对它的输出语音添加任何效果,使其听起来不同吗?

4

2 回答 2

2

是的,您可以更改口语句子的音高语速

该类AVSpeechUtterance有两个相关的属性:

  • pitchMultiplier: Float(值在0.5(最低音高)到2.0(最高音高)之间)。默认音高为1.0
  • rate: Float(两个常数之间的值:(AVSpeechUtteranceMinimumSpeechRate最慢的语速)和AVSpeechUtteranceMaximumSpeechRate(最高语速)。

当您创建您的时,只需在让您说出话语AVSpeechUtterance之前适当地设置这些属性。AVSpeechSynthesizer

注意:您还可以更改 的声音(重音)AVSpeechUtterance

我希望这有帮助。如果我说的有什么不清楚的地方,请告诉我。

于 2016-01-31T19:26:57.637 回答
0

默认间距为 0.5。

AVSpeechUtteranceMinimumSpeechRate 为 0.0

AVSpeechUtteranceMaximumSpeechRate 为 1.0(最高语速)。

AVSpeechSynthesizer *synthesizer= [[AVSpeechSynthesizer alloc]init];
synthesizer.delegate=self; 
AVSpeechUtterance *utterances =
[AVSpeechUtterance speechUtteranceWithString:text];utterances.voice
= [AVSpeechSynthesisVoice voiceWithLanguage:@"de-DE"];//change voice utterances.rate=0.5;//default rate
[synthesizer
speakUtterance:utterances];
于 2016-12-29T12:19:47.537 回答