2014-01-18 3 views
2

Есть ли у кого-нибудь опыт программирования распознавания голоса на C++ (Windows и/или Mac) для ограниченного количества команд, предназначенных для SPEED? Насколько реалистично на данный момент добиться распознавания команды из первого слога, т. Е. Команда распознается временем, когда пользователь получает второй слог при достаточно быстром темпе речи? Все команды будут запрограммированы на запуск с другим слогом, если необходимо, радикально отличающимся (например, «oo», «xy», «fay» - потребуется только около 30 команд). Аналогичные вопросы заданы, но это быстро движущееся поле. Будет ли лучшая идея искать библиотеки с открытым исходным кодом или взаимодействовать с компилируемыми реализациями?Быстрое распознавание голоса для ограниченного количества команд

+1

* «Вопросы, предлагающие нам рекомендовать или находить инструмент, библиотеку или любимый внешний ресурс вне темы для переполнения стека, поскольку они, как правило, привлекают упрямые ответы и спам. Вместо этого опишите проблему и то, что было сделано чтобы решить ее ». * – Manu343726

+0

Он не просит помощи в выборе библиотеки, он задается вопросом, достаточно ли зрелое поле, чтобы библиотеки существовали в первую очередь. НЕ вне темы, +1. – MSalters

ответ

1

Я профессионально работаю в этой области, и я серьезно сомневаюсь, возможно ли это вообще. C++ не проблема, вопрос в том, разрешает ли компьютер. Частота ошибок на небольших аудиоклипах велика, это скрытая марковская модель, которая фиксирует распознавание. Но в вашем случае вы просто не можете прокормить его достаточными данными.

Не то, чтобы люди могли это сделать. Обработка речи происходит не так быстро, как ваш мозг заставляет вас поверить.

+0

Вот почему я думал об использовании команд с очень характерными звуками, используя только небольшой набор слогов, которые максимально контрастируют друг с другом. Даже кошка может сразу же распознать «ш». – user3101050

0

Вы можете сделать это с помощью CMUSphinx с декодером Pocketsphinx.

Частичная гипотеза декодирования доступна во время процесса распознавания, и вы можете обычно получить первый слог, как только он будет произнесен. Если вы дадите 0.1s для стабилизации (не видно для пользователя), вы получите точные результаты в наборе команд.

В верхней части CMUSphinx предусмотрены даже инструменты, специально предназначенные для управления в реальном времени, например, в играх, вы можете проверить InProTK и их демонстрации.

+0

Быстрее, чем с помощью Windows SAPI? Меня не интересуют мобильные приложения, только ПК с большим количеством вычислительной мощности. Этот «написанный на Java» для CMUSphinx немного отбросил меня, я уверен, что он может быть достаточно быстрым, но не будет ли родной Microsoft API быстрее? – user3101050

+0

Pocketsphinx - это C-декодер, и он доступен просто из C++. Подробнее см. Http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx. Вы неправильно читаете о Java. –

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