Я использую распознавание речи iOS 13, и оно не возвращает правильную скорость разговора, среднюю продолжительность паузы или речевую аналитику.
Произносимые слова правильно распечатываются, однако это то, что я получаю вывод информации о сегменте:
сегмент:, substringRange = {0, 2}, отметка времени = 0, продолжительность = 0, достоверность = 0, подстрока = So, alternativeSubstrings = (), phoneSequence =, ipaPhoneSequence =, voiceAnalytics = (null)
Спасибо за вашу помощь!
func startSpeechRecognition() throws{
if let recognitionTask = recognitionTask {
recognitionTask.cancel()
self.recognitionTask = nil
}
try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
try audioSession.setMode(AVAudioSessionModeMeasurement)
try audioSession.setActive(true, with: .notifyOthersOnDeactivation)
recognitionRequest = SFSpeechAudioBufferRecognitionRequest()
let inputNode = audioEngine.inputNode
if speechRecognizer.supportsOnDeviceRecognition {
print("support on device recognition")
recognitionRequest?.requiresOnDeviceRecognition = true
}
guard let recognitionRequest = recognitionRequest else {
fatalError("Unable to created a SFSpeechAudioBufferRecognitionRequest object")
}
recognitionTask = speechRecognizer.recognitionTask(with: recognitionRequest) { result, error in
if let result = result {
let bestString = result.bestTranscription.formattedString
self.spokenWords = bestString
if self.spokenWords != nil{
self.numberOfWordsRecorded = self.spokenWords!.components(separatedBy: .whitespacesAndNewlines).count
print(bestString)
}
for segment in result.bestTranscription.segments {
print("segment: \(segment)")
}
}
}
}