Swift 语音文本转换
我有以下代码:Swift 语音文本转换,swift,machine-learning,speech-to-text,speech,Swift,Machine Learning,Speech To Text,Speech,我有以下代码: func createStringFromAudio () { SFSpeechRecognizer.requestAuthorization {_ in DispatchQueue.main.async { switch SFSpeechRecognizer.authorizationStatus() { case .authorized : let audioURL = B
func createStringFromAudio () {
SFSpeechRecognizer.requestAuthorization {_ in
DispatchQueue.main.async {
switch SFSpeechRecognizer.authorizationStatus() {
case .authorized :
let audioURL = Bundle.main.url(forResource: "ConversionTest", withExtension: "mp3")!
let recognizer = SFSpeechRecognizer()
let request = SFSpeechURLRecognitionRequest(url: audioURL)
recognizer?.recognitionTask(with: request) { result, error in
guard error == nil else { print("Error"); return}
guard let result = result else {print("No result"); return}
print(result.bestTranscription.formattedString)
}
break
default :
break
}
}
}
}
我的问题是:
1:我如何知道文件何时完成?目前,它不断更新结果打印,但在转录100%完成时不会通知我。我如何知道何时完成转录以及如何保存字符串以进行解析
2:好像还没做完就切断了。有时间限制吗?字符限制 您可以保存任务以检查其状态,甚至取消任务。 实际上,转录过程不是由我们控制的,当系统认为它已经完成时,它就完成了 如果确实需要精确控制,请使用代理:
func recognitionTask(带请求:SFSpeechRecognitionRequest,委托:SFSpeechRecognitionTaskDelegate)->SFSpeechRecognitionTask
这可能会在转录过程中提供更多的信息,至少它会让你知道何时完成