Преобразование речи в текст с использованием C#

Я пытаюсь разработать текстовый редактор с использованием языка С# и реализовать распознавание голоса для обычных функций файла, возможно ли это реализовать. Мне очень жаль, если я повторяю вопрос, который был задан ранее. Я просто хочу знать, есть ли способы преобразования речи в текст с помощью С#. Ваша помощь действительно ценна. Ожидание ответа. Заранее спасибо.


person ArunKumar    schedule 04.07.2011    source источник
comment
добро пожаловать в переполнение стека. на данный момент это не так точно. прочитайте Что случилось с распознаванием голоса?   -  person naveen    schedule 04.07.2011


Ответы (5)


Вот полный пример использования C# и System.Speech для преобразования речи в текст.

Код можно разделить на 2 основные части:

настройка объекта SpeechRecognitionEngine (и его необходимых элементов), обрабатывающего события SpeechRecognized и SpeechHypothesized.

Шаг 1. Настройка SpeechRecognitionEngine

_speechRecognitionEngine = new SpeechRecognitionEngine();
_speechRecognitionEngine.SetInputToDefaultAudioDevice();
_dictationGrammar = new DictationGrammar();
_speechRecognitionEngine.LoadGrammar(_dictationGrammar);
_speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);

На данный момент ваш объект готов начать расшифровку звука с микрофона. Однако вам нужно обработать некоторые события, чтобы получить доступ к результатам.

Шаг 2. Обработка событий SpeechRecognitionEngine

_speechRecognitionEngine.SpeechRecognized -= новый обработчик событий (SpeechRecognized); _speechRecognitionEngine.SpeechHypothesized -= новый обработчик событий (SpeechHypothesized);

_speechRecognitionEngine.SpeechRecognized += новый обработчик событий (SpeechRecognized); _speechRecognitionEngine.SpeechHypothesized += новый обработчик событий (SpeechHypothesized);

private void SpeechHypothesizing(object sender, SpeechHypothesizedEventArgs e) { ///результаты движка в реальном времени string realTimeResults = e.Result.Text; }

private void SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { ///окончательный ответ от движка string finalAnswer = e.Result.Text; }

Вот и все. Если вы хотите использовать предварительно записанный файл .wav вместо микрофона, вы должны использовать

_speechRecognitionEngine.SetInputToWaveFile (pathToTargetWavFile);

вместо

_speechRecognitionEngine.SetInputToDefaultAudioDevice();

В этих классах есть куча разных вариантов, и их стоит изучить более подробно.

http://ellismis.com/2012/03/17/преобразование-или-транскрипция-аудио-в-текст-использование-c-and-net-system-speech/

person bulltorious    schedule 23.02.2012

Вы можете попробовать SharpSphinx Версия Sphinx-4 для C# http://sourceforge.net/p/cmusphinx/discussion/sphinx4-sightings/thread/5953c635/?limit=50

person Mohammed Subhi Sheikh Quroush    schedule 20.12.2012

Если я правильно помню, Microsoft Speech SDK поддерживает преобразование речи в текст.

person Ostemar    schedule 04.07.2011

Кроме того, есть речевой движок LumenVox.

person Ola Eldøy    schedule 04.07.2011

Существует также iSpeech API, который можно использовать для распознавания речи в качестве веб-службы.

person Ola Eldøy    schedule 04.07.2011