Пути повышения скорости распознавания C # System.Speech.Recognition даже ценой точности?Создание живого распознавателя фонем - PullRequest
0 голосов
/ 12 апреля 2019

Я создаю небольшое приложение, которое требует вывода фонем в реальном времени, когда пользователь говорит в микрофон. В моем случае скорость распознавания вывода является приоритетом номер 1, даже выше точности. Использование C # является предпочтением, но если лучшая скорость может быть достигнута с использованием другого языка и / или библиотеки (например, CMUSphinx), я бы переключился.

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

Я также изучил CMUSphinx, проект распознавания свободной речи, который выглядел многообещающим. Sphinx4 было легко скомпилировать и настроить тест на Java, но я не мог понять, как настроить его для фонем выходного сигнала в реальном времени, и его распознавание слов было относительно медленным. Здесь , я нашел некоторые заметки о распознавании фонем, используя их другой проект, pocketsphinx. Я также смог загрузить и скомпилировать его, но не смог успешно выполнить какие-либо тесты. Кто-нибудь использовал CMUSphinx или Pocketsphinx с фонемами? Способен ли он на высокие выходные скорости? Или, может быть, есть еще больше альтернатив? Я действительно ищу что-то чрезвычайно простое, но быстрое.

Редактировать: удалось получить фонемы, распознающие карманный сфинкс, но он был слишком медленным для использования в проекте

...