文本转语音 iOS 应用程序中的不同声音

问题描述 投票:0回答:2

我有一个文本转语音应用程序,一切都很好,但我一直在寻找声音。

在“设置/辅助功能/旁白/语音/语音”中,有一个语音列表。我想选择其中之一,例如“Susan(增强)”。我该怎么做呢?

我是文本转语音和 AVSpeechSynthesizer 的新手,所以我希望获得一些如何选择该语音的建议?

当我在“常规/设置”中尝试它时,听起来不错,但是当我选择时,我想到的是我的应用程序中的声音,听起来很不同。我尝试过的所有声音都会发生这种情况。

这是我用来朗读文本的代码:

    for voice in AVSpeechSynthesisVoice.speechVoices()
    {
        print("\(voice.name)")
        if voice.name == "Susan (Enhanced)" {
            self.voiceToUse = voice
        }
    }

    let textToSpeak = self.tvTextToSpeak.text
    if (!textToSpeak!.isEmpty)
    {
        let speechSynthesizer = AVSpeechSynthesizer()
        let speechUtterance: AVSpeechUtterance = AVSpeechUtterance(string: textToSpeak!)
        speechUtterance.voice = self.voiceToUse
        speechSynthesizer.speak(speechUtterance)
    }

因此,如果我在 iOS 设置中使用与示例相同的文本,那么在我的应用程序中听起来会有所不同,为什么?

  1. 这是我需要做的事情吗?
  2. 那些声音很特别吗?
  3. 跟说话有关系吗,我没设定过。

感谢您的澄清。

swift avspeechsynthesizer avspeechutterance
2个回答
0
投票

许多声音,尤其是“增强”的声音,需要先下载到设备上。在您的设备上,转到“设置”->“辅助功能”->“语音内容”->“语音”,并确保下载您要使用的语音。

下载后我就可以使用“Samantha(增强版)”了。


0
投票

设置

speechUtterance.prefersAssistiveTechnologySettings = true
以使用 iPhone 中选定的语音内容。并且您不需要指定在这种情况下使用什么语音。

一个布尔值,指定辅助技术设置是否优先于该话语的属性值。

© www.soinside.com 2019 - 2024. All rights reserved.