SpeechRecognitionEngine не распознает весь файл - PullRequest
1 голос
/ 24 октября 2019

Я работаю с аудиофайлами (wav) и SpeechRecognitionEngine. Цель состоит в том, чтобы расшифровать мои wav-файлы, и я реализовал как

        var dictationGrammar = new DictationGrammar();

        var speechRecognitionEngine = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
        speechRecognitionEngine.LoadGrammar(dictationGrammar);
        speechRecognitionEngine.BabbleTimeout = TimeSpan.FromSeconds(999.0);
        speechRecognitionEngine.EndSilenceTimeout = TimeSpan.FromSeconds(10.0);
        speechRecognitionEngine.EndSilenceTimeoutAmbiguous = TimeSpan.FromSeconds(10.0);
        speechRecognitionEngine.SpeechRecognized += (s, e) => SpeechRecognized(s, e, audioPath.Replace("wav", "txt"));
        speechRecognitionEngine.SetInputToWaveFile(audioPath);
        speechRecognitionEngine.Recognize();

    private static void SpeechRecognized(object sender, SpeechRecognizedEventArgs e, string fileName)
    {
        string transcription = e.Result.Text;

        File.WriteAllText(fileName, transcription);
    }

SpeechRecognized fires один раз.

Я использую высокие / максимальные значения для разных таймаутов, но это не дает мнетранскрипция всего файла. Аудиофайл длится 1 минута 12 секунд, но я, кажется, получаю только первые 30 секунд.

...