gpt4 book ai didi

swift - AVSpeechSynthesizer 的两个语音的两个音频 channel

转载 作者:可可西里 更新时间:2023-11-01 02:08:50 26 4
gpt4 key购买 nike

使用 iOS-10.12.2、Swift-3.0.2、Xcode-8.2.1,

我正在尝试使用 AVSpeechSynthesizer 让两个声音同时说话。

其实有两个文本作为基础,两个语音应该同时用两个不同的语音(同一种语言)合成这两个文本。

对一个声音这样做很简单(见下面的代码)。

但是如何为两个声音设置两个音频 channel ?

我的愿望是否可以使用 AVSpeechSynthesizer 实现?

这是一个代码摘录,用于为一次文本和一个语音进行文本到语音的转换:

// ...
@IBOutlet weak var textView: UITextView!

let synth = AVSpeechSynthesizer()
var myUtterance = AVSpeechUtterance(string: "")
// var channelNames = [AVAudioSessionChannelDescription]()

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

@IBAction func textToSpeachButtonPressed(_ sender: Any) {

self.myUtterance = AVSpeechUtterance(string: textView.text)
self.myUtterance.rate = 0.4
self.myUtterance.volume = 1.0

self.speakWithVoiceOfPerson(person: "Anna")

}

func speakWithVoiceOfPerson(person: String) {
for voice in AVSpeechSynthesisVoice.speechVoices() {
print(voice.name)
if #available(iOS 9.0, *) {
if voice.name == person {
self.myUtterance.voice = voice
}
}
}
synth.speak(self.myUtterance)
}

最佳答案

I am trying to let two voices speak simultaneously using the AVSpeechSynthesizer.

这在 iOS 12 中肯定是不可能的,一次只处理一个语音合成

不过,你可以玩an audio session连同语音合成。

关于swift - AVSpeechSynthesizer 的两个语音的两个音频 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41654646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com