【问题标题】:Applying a filter on the output voice from AVSpeechSynthesizer's Voice?对来自 AVSpeechSynthesizer 的声音的输出声音应用过滤器?
【发布时间】:2017-10-25 00:28:17
【问题描述】:

有没有办法对 AVSpeechSynthesizer 的声音应用过滤器或改变它的音高?或者甚至使用另一个用于 iOS 的 TTS API,我们可以改变它们的声音?或者我们可以录制TTS语音而不播放它,然后在我们修改它的语音音高后播放它吗?

【问题讨论】:

  • 你检查过 AVSpeechUtterance 类吗?
  • 我不想改变说话的速度,我想改变输出声音的音高,让它听起来像一个小婴儿,就像我们可以用录制的声音做的一样,有没有办法在不播放的情况下录制 TTS 语音,然后在对其音高进行一些更改后播放它?这就是我的意思。

标签: ios iphone xcode text-to-speech avspeechsynthesizer


【解决方案1】:

要使用语音合成器,您必须创建一个 AVSpeechUtterance 对象。话语允许您设置许多属性,包括音高。改变音高不会影响语速。用法示例:

    let utterance = AVSpeechUtterance(string: textToSpeak.text!)
    utterance.pitchMultiplier = pitchValue
    utterance.rate = rate.value
    utterance.volume = volume.value
    utterance.voice = voice

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多