Swift - 如何将保存的音频文件对话转换为文本?
Swift - How can I convert Saved Audio file conversations to Text?
我从事语音识别方面的工作。我用 IOS 框架解决了文本转语音和语音转文本的问题。但现在我想将保存的音频文件对话转换为文本。我该如何解决这个问题?谢谢大家的回复。
我做过同样适合我的事情。
我的项目包中有音频文件。所以我写了下面的代码来将音频转换为文本。
let audioURL = Bundle.main.url(forResource: "Song", withExtension: "mov")
let recognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))
let request = SFSpeechURLRecognitionRequest(url: audioURL!)
request.shouldReportPartialResults = true
if (recognizer?.isAvailable)! {
recognizer?.recognitionTask(with: request) { result, error in
guard error == nil else { print("Error: \(error!)"); return }
guard let result = result else { print("No result!"); return }
print(result.bestTranscription.formattedString)
}
} else {
print("Device doesn't support speech recognition")
}
首先从存储音频文件的位置获取音频 url。
然后使用您想要的语言环境创建 SFSpeechRecognizer
的实例。
创建用于请求 recognitionTask
.
的 SFSpeechURLRecognitionRequest
实例
recognitionTask
会给你结果和错误。其中结果包含 bestTranscription.formattedString
。 formmatedString
是你的音频文件的测试结果。
如果设置request.shouldReportPartialResults = true
,这将给出音频中每一行说话的部分结果。
希望对您有所帮助。
我从事语音识别方面的工作。我用 IOS 框架解决了文本转语音和语音转文本的问题。但现在我想将保存的音频文件对话转换为文本。我该如何解决这个问题?谢谢大家的回复。
我做过同样适合我的事情。
我的项目包中有音频文件。所以我写了下面的代码来将音频转换为文本。
let audioURL = Bundle.main.url(forResource: "Song", withExtension: "mov")
let recognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))
let request = SFSpeechURLRecognitionRequest(url: audioURL!)
request.shouldReportPartialResults = true
if (recognizer?.isAvailable)! {
recognizer?.recognitionTask(with: request) { result, error in
guard error == nil else { print("Error: \(error!)"); return }
guard let result = result else { print("No result!"); return }
print(result.bestTranscription.formattedString)
}
} else {
print("Device doesn't support speech recognition")
}
首先从存储音频文件的位置获取音频 url。
然后使用您想要的语言环境创建 SFSpeechRecognizer
的实例。
创建用于请求 recognitionTask
.
SFSpeechURLRecognitionRequest
实例
recognitionTask
会给你结果和错误。其中结果包含 bestTranscription.formattedString
。 formmatedString
是你的音频文件的测试结果。
如果设置request.shouldReportPartialResults = true
,这将给出音频中每一行说话的部分结果。
希望对您有所帮助。