2013-07-17 3 views
1

Я использую Kinect + Microsoft.Speech для распознавания речи.Распознавание речи и визуализация сигналов одновременно

Чтобы получить аудио входной поток один должен сделать распознавание речи следующие

Stream kinectAudioStream = myKinect.AudioSource.Start(); 

и начать

speechRecognitionEngine.SetInputToAudioStream(kinectAudioStream, new SpeechAudioFormatInfo(...)); 
speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple); 

Моя цель визуализировать входного сигнала в режиме реального времени (например, осциллографа) и одновременно распознавать речи.

Я пробовал некоторые вещи, такие как добавление распознавания речи в Microsoft «AudioBasics-WPF C# Sample» в нескольких потоках. Это работает, но латентность очень очень плохая. Много перерывов в распознавании речи и визуализации.

Есть ли способ увеличить производительность? У кого-нибудь есть идея?

+0

Так какова системная нагрузка во время процесса. Прерывания из-за высокой загрузки системы или из-за какого-то другого фактора. –

+0

Также, когда вы говорите, что латентность очень плохая, насколько она плоха? 1 секунда? 10 секунд? Какова ваша платформа для хостов? –

+0

Я думаю, что латентность примерно на 1 секунду выше по сравнению с «нормальным» распознаванием речи или визуализацией. Также у меня возникли проблемы с качеством распознавания. Программное обеспечение работает только на настольных системах. Есть ли способ оптимизировать множественные обращения в одном потоке? – hagem

ответ

0

Ну, ваш лучший вариант - спуститься на Kinect DMO и подключить фильтр SmartTee, но для этого требуется, чтобы вы записывали на C++, поскольку KinectAudioSource не выставляет сам фильтр.

Смежные вопросы