Можно ли изменить высоту голоса в голосе AVSpeechSynthesizer?

Могу ли я изменить высоту голоса в AVSpeechSynthesizer или наложить на него какие-либо эффекты, чтобы он мог звучать по-другому?

2 ответа

Решение

Да, вы можете изменить высоту и скорость произнесенного предложения.

AVSpeechUtterance класс имеет два соответствующих свойства:

  • pitchMultiplier: Float (значение от 0,5 (самая низкая высота звука) до 2,0 (самая высокая высота звука)). По умолчанию высота звука равна 1,0.
  • rate: Float (значение между двумя константами: AVSpeechUtteranceMinimumSpeechRate (самая низкая скорость речи) и AVSpeechUtteranceMaximumSpeechRate (самая высокая скорость речи).

Когда вы создаете свой AVSpeechUtteranceПросто установите эти свойства соответствующим образом, прежде чем получить ваш AVSpeechSynthesizer говорить высказывание.

Примечание: вы также можете изменить голос (акцент) AVSpeechUtterance,

Надеюсь, это поможет. Дайте мне знать, если что-то, что я сказал, было неясно.

Шаг по умолчанию составляет 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];
Другие вопросы по тегам