是否可以在AVSpeechSynthesizer的声音中改变声音的音高?

时间:2016-01-30 12:52:03

标签: ios iphone xcode avspeechsynthesizer

我可以在AVSpeechSynthesizer中更改声音的音高,还是对输出声音产生任何影响,使声音听起来不同?

2 个答案:

答案 0 :(得分:0)

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

AVSpeechUtterance类有两个相关属性:

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

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

注意:您还可以更改AVSpeechUtterance语音(重音)。

我希望这会有所帮助。如果我说的话不清楚,请告诉我。

答案 1 :(得分: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];