我可以在AVSpeechSynthesizer中更改声音的音高,还是对输出声音产生任何影响,使声音听起来不同?
答案 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];