Я пытаюсь работать с распознаванием речи в iOS, но я думаю, что мы не заводим друзей ...
Я настроил SFSpeechRegonizer
и настроилего делегат соответственно.Теперь я реализую метод делегата следующим образом:
func speechRecognitionTask(_ task: SFSpeechRecognitionTask, didHypothesizeTranscription transcription: SFTranscription) {
print("transcription: \(transcription.formattedString)")
print("alternativeSubstrings: \(transcription.segments.map { $0.alternativeSubstrings })")
print("confidence: \(transcription.segments.map { $0.confidence })")
}
Каждый раз, когда вызывается метод делегата, он выводит следующее:
transcription: Space – the final frontier. These are the voyages…
alternativeSubstrings: [[], [], [], [], [], [], [], [], []]
confidence: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Транскрипция хороша.Однако массивы alternativeSubstrings
всегда пустые, а значения confidence
большую часть времени равны 0.Время от времени они ненулевые, но это непредсказуемо, когда это происходит:
confidence: [0.56, 0.049, 0.558, 0.545, 0.476, 0.6, 0.654, 0.647, 0.829]
Почему нет alternativeSubstrings
, почему confidence
0 большую часть времени и какя могу это исправить? I Apple Speech библиотека просто сломана или что не так?