Я тестирую новый унифицированный речевой движок в Azure и работаю над частью, в которой я пытаюсь расшифровать 10-минутный аудиофайл. Я создал распознаватель с помощью CreateSpeechRecognizerWithFileInput и начал непрерывное распознавание с помощью StartContinuousRecognitionAsync. Я создал распознаватель с включенными подробными результатами.
В событии FinalResultsReceived, по-видимому, нет способа получить доступ к смещению звука в SpeechRecognitionResult. Если я сделаю это, хотя:
string rawResult = ea.Result.ToString(); //can get access to raw value this way.
Regex r=new Regex(@".*Offset"":(\d*),.*");
int offset=Convert.ToInt32(r?.Match(rawResult)?.Groups[1]?.Value);
Тогда я могу извлечь смещение. Необработанный результат выглядит примерно так:
ResultId:4116b361141446a98f306fdc11c3a5bd Status:Recognized Recognized text:<OK, so what's your think it went well, let's look at number number is 104-828-1198.>. Json:{"Duration":129500000,"NBest":[{"Confidence":0.887861133,"Display":"OK, so what's your think it went well, let's look at number number is 104-828-1198.","ITN":"OK so what's your think it went well let's look at number number is 104-828-1198","Lexical":"OK so what's your think it went well let's look at number number is one zero four eight two eight one one nine eight","MaskedITN":"OK so what's your think it went well let's look at number number is 104-828-1198"}],"Offset":6900000,"RecognitionStatus":"Success"}
Проблема в том, что смещение иногда равно нулю, даже в случаях, когда это ненулевой индекс файла, поэтому я получу нули в середине потока распознавания.
Я также пытался отправить тот же файл через API пакетной транскрипции , что дает мне совершенно другой результат:
{
"RecognitionStatus": "Success",
"Offset": 531700000,
"Duration": 91300000,
"NBest": [{
"Confidence": 0.87579143,
"Lexical": "OK so what's your think it went well let's look at number number is one zero four eight two eight one",
"ITN": "OK so what's your think it went well let's look at number number is 1048281",
"MaskedITN": "OK so what's your think it went well let's look at number number is 1048281",
"Display": "OK, so what's your think it went well, let's look at number number is 1048281."
}
]
},
Итак, у меня есть три вопроса по этому вопросу:
- Есть ли поддерживаемый метод для получения смещения распознанной части файла в API распознавателя? SpeechRecognitionResult не раскрывает этого, равно как и расширение Best ().
- Почему смещение возвращается в 0 для сегмента, проходящего через файл?
- Каковы единицы для смещений в API массового распознавания и распознавания файлов, и почему они отличаются? Они не выглядят как ms или frame, по крайней мере из того, что я нашел в Audacity. Результат, который я опубликовал, был примерно 59-ых в файле, что примерно равно 800 тысячам образцов.