我可以在 AVSpeechSynthesizer 中更改语音的音高,或者对它的输出语音添加任何效果,使其听起来不同吗?
user5695306
问问题
1504 次
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 回答