Использование Microsoft Speech API для расшифровки аудиофайла заканчивается преждевременно
Я использую речевую службу Microsoft Azure для расшифровки примера файла WAV.
public static async Task Test()
{
var factory = SpeechFactory.FromSubscription("<YOUR KEY HERE>", "westus");
using (var recognizer = factory.CreateSpeechRecognizerWithFileInput(@"C:\Temp\batman.wav"))
{
recognizer.FinalResultReceived += (s, e) =>
{
if (e.Result.RecognitionStatus == RecognitionStatus.Recognized)
Console.WriteLine(
$"Final result: Status: {e.Result.RecognitionStatus.ToString()}, Text: {e.Result.RecognizedText}.");
else
Console.WriteLine(
$"Final result: Status: {e.Result.RecognitionStatus.ToString()}, FailureReason: {e.Result.RecognitionFailureReason}.");
};
recognizer.RecognitionErrorRaised += (s, e) =>
{
Console.WriteLine($"An error occurred. Status: {e.Status.ToString()}, FailureReason: {e.FailureReason}");
};
recognizer.OnSessionEvent += (s, e) =>
{
Console.WriteLine($"Session event. Event: {e.EventType.ToString()}.");
};
await recognizer.StartContinuousRecognitionAsync();
Console.WriteLine("Press any key to stop");
Console.ReadKey();
await recognizer.StopContinuousRecognitionAsync().ConfigureAwait(false);
}
}
Сеанс неожиданно заканчивается до того, как весь файл будет расшифрован.
Session event. Event: SessionStartedEvent.
Press any key to stop
Final result: Status: Recognized, Text: Skills and abilities Batman has no inherent super powers, he relies on his own scientific knowledge detective skills and athletic prowess in the stories. Batman is regarded as one of the world's greatest detective..
Session event. Event: SessionStoppedEvent.
Документация для StartContinuousRecognitionAsync
состояния Starts speech recognition on a continuous audio stream, until StopContinuousRecognitionAsync() is called.
Может кто-нибудь объяснить, почему SessionStoppedEvent
вызывается преждевременно?