gpt4 book ai didi

iOS 10 : SFSpeechRecognizer and Twilio TVILocalAudioTrack

转载 作者:行者123 更新时间:2023-11-28 06:20:43 30 4
gpt4 key购买 nike

我正在使用 Swift 开发一个尝试转录对话的 iOS 应用程序。我成功地能够使用 AVAudioEngine() 和 SFSpeechRecognizer() 转录对话。

    // MARK: Speech Helper Methods
func recordAndRecognizeSpeech() {
guard let node = audioEngine.inputNode else { return }
let recordingFormat = node.outputFormat(forBus: 0)
node.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { buffer, _ in
self.request.append(buffer)
}

audioEngine.prepare()
do {
try audioEngine.start()
} catch {
return print(error)
}

guard let myRecognizer = SFSpeechRecognizer() else {
return
}
if !myRecognizer.isAvailable {
return
}

recognitionTask = speechRecognizer?.recognitionTask(with: request, resultHandler: { result, error in
if let result = result {
let bestString = result.bestTranscription.formattedString
} else if let error = error {
print(error)
}
})
}

现在我想尝试将它带到视频聊天中。所以我按照 Twilio quickstart 找到了 here on github并根据需要设置所有内容(我使用的是 CallKit 版本,这并不重要)。但是,我在 Twilio 视频通话期间可用的音轨不是 AVAudioEngine 音轨,而是 TVILocalAudioTrack。这是 Twilio SDK 的特定类型。

TVILocalAudioTrack is here, 的文档但我不知道如何将其插入 SFSpeechRecognizer。

可能的替代方案

当有人在 Twilio 房间时启动 AVAudioEngine()(根据 Twilio 的 SDK,我认为我做不到)——如果有人对此有建议,那就太好了。

也许 Swift 对这个项目来说不够好?我知道!

最佳答案

目前 Twilio v1.0 beta 14 无法做到这一点。它需要访问音频缓冲区,而这无法通过 Twilio 的 API 访问。

参见 this Github issue了解更多详情。

关于iOS 10 : SFSpeechRecognizer and Twilio TVILocalAudioTrack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43595482/

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