这是关于新iOS 10语音框架的一个问题。 我使用以下方法获得语音识别结果
recognitionTask = [speechRecgzr recognitionTaskWithRequest:recognitionRequest resultHandler:^(SFSpeechRecognitionResult * _Nullable result, NSError * _Nullable error) {
}
但结果中每个SFTranscriptionSegment的时间戳为0,且置信度始终为0
这可能是什么问题? Apple还没有正确实现API吗?
谢谢。
答案 0 :(得分:2)
几个星期后,我发现通过设置这个我可以获得时间戳和信心:
speechRecgzr.defaultTaskHint = SFSpeechRecognitionTaskHintDictation;
答案 1 :(得分:0)
迅速5 +
speechRecgzr.defaultTaskHint = .dictation
答案 2 :(得分:0)
我遇到了同样的问题,发现timestamp
和duration
在部分结果上始终为零,但在最终结果上设置正确。
在您的SFSpeechRecognitionResult
实例上检查isFinal
。如果那是true
,则转录段将具有此元数据。
如果只想处理最终结果,可以在SFSpeechRecognitionRequest
上将shouldReportPartialResults
设置为false
。