Я создаю небольшое приложение, которое требует вывода фонем в реальном времени, когда пользователь говорит в микрофон. В моем случае скорость распознавания вывода является приоритетом номер 1, даже выше точности. Использование C # является предпочтением, но если лучшая скорость может быть достигнута с использованием другого языка и / или библиотеки (например, CMUSphinx), я бы переключился.
Используя System.Speech.Recognition
вместе с DictationGrammar("grammar:dictation#pronunciation")
, я смог создать простой и эффективный распознаватель фонем, который выводит фонемы, когда вы говорите в микрофон, с в целом впечатляющей точностью (подписка на событие SpeechRecognitionEngine.SpeechHypothesized
позволяет мне видеть живую продукцию). Проблема в том, что минимальная задержка составляет около 0,5 с между выступлением пользователя и выводом, что слишком много для хорошей работы с проектом. Я знаю, что в целом это довольно высокая скорость, особенно учитывая хорошую точность, но мне действительно нужно что-то более быстрое, даже если точность требует большого успеха. Есть ли способ настроить SpeechRecognitionEngine
, чтобы выбрасывать точность из окна, чтобы выдвинуть гипотезу быстрее? Я нашел некоторые выставленные настройки, используя SpeechRecognitionEngine.UpdateRecognizerSetting
, но они, похоже, мало влияют на вывод для распознавания фонем.
Я также изучил CMUSphinx, проект распознавания свободной речи, который выглядел многообещающим. Sphinx4 было легко скомпилировать и настроить тест на Java, но я не мог понять, как настроить его для фонем выходного сигнала в реальном времени, и его распознавание слов было относительно медленным. Здесь , я нашел некоторые заметки о распознавании фонем, используя их другой проект, pocketsphinx. Я также смог загрузить и скомпилировать его, но не смог успешно выполнить какие-либо тесты. Кто-нибудь использовал CMUSphinx или Pocketsphinx с фонемами? Способен ли он на высокие выходные скорости? Или, может быть, есть еще больше альтернатив? Я действительно ищу что-то чрезвычайно простое, но быстрое.
Редактировать: удалось получить фонемы, распознающие карманный сфинкс, но он был слишком медленным для использования в проекте