Можно ли использовать двигатель распознавания речи Windows в произношении слова произношения?

StackOverflow https://stackoverflow.com/questions/2854087

Вопрос

Я использую для создания приложения, который использует механизм распознавания речи Windows или SAPI. это как игра для произношение что это дает вам счет, когда вы произносите это правильно. Но когда я начал эксперименты с SAPI, он имеет плохое распознавание, если если вы загружаете грамматику на нее (XML), ее дают лучший результат распознавания.

Но теперь проблема является ближайшим произношением, от входного текста будет распознаваться. Например:

База данных -> Dedebase -> правильно.

Даже если вы неправильно пропустите. Это дает вам правильные ответы.

без использования грамматики XML

Когда вы говорите базу данных, это дает вам «в базе / базе / базе / данные ...»

Пожалуйста, опубликуйте свой ответ, предложение, разъяснение. Голоса за лучший ответ.

is it possible or not?

Кстати, я использую Compiler Delphi на проектах ....

Это было полезно?

Решение

За то, что вы хотите, вероятно, лучше не использовать грамматику. Но это требует, чтобы пользователи выполняли «минимальную» базовую подготовку механизма распознавания речи. Это не очень длинный и относительно приятный. И это действительно имеет значение в точности признания (поверьте мне, у меня сильный французский акцент на моем английском).
Он может быть даже включен в качестве предварительной практики для самой игры.
Вы можете найти интересно, чтобы увидеть это Кодирующая 4 сеанса на «Речь, позволяющая Delphi Applications (ZIP)»

Другие советы

Я бы сделал две вещи:

  1. Преобразовать оригинальный текст на фонемы с помощью ISPENGINEPRONUNCION :: GETPRONUNCIATION.
  2. Используйте диктуционную грамматику и произношению языковой модели, чтобы заставить SAPI вернуть набор Phonemes - сделайте это, позвонив Isprecogrammarar :: LoadDictication.(L "произношение", splo_static).
  3. Сравните распознанные фонемы к целевым фонемам.

Обратите внимание, что ISPEnginePronunciation не доступен на SAPI 5.1, поэтому это ограничено Vista и Windows 7.

Если точка игры состоит в том, чтобы поощрить пользователю говорить с использованием произношения, которая ближе всего к «стандартному произношению» для данного языка (например, en-us), а затем пользователь приучить распознатель для адаптации к конкретному (немодифицированному) Шаблоны речи могут быть контрпродуктивными. Вы были бы частично обучением распознатель, чтобы быть более прощенным произношению произношения пользователя.

Будьте введете ли вы, используя признание на основе грамматики или признание на основе диктования (пост Эрика Брауна выглядит очень многообещающе), вы, вероятно, также захотите посмотреть на «уверенность». Эти баллы доступны после выполнения распознавания, и они дают числовое значение для того, насколько уверены, что распознатель состоит в том, что то, что пользователь на самом деле сказал, что считает, что распознает, что пользователь сказал. В зависимости от конфигурации распознавания и применения корпуса, оценки доверия могут быть или не могут быть значимыми.

Если вы основываете свою точность с учетом текстового представления телефонов / Phonemes / произношения, быстрый и простой способ получить оценку точности было бы использовать расстояние левенштейна, алгоритм, для которого существует много реализаций, свободно доступных в сети Отказ Лучший алгоритм выигрыша может быть реинхронизацией, с атомной единицей сравнения, являющихся одиночными телефонами.

Вот несколько ключевых слов для охоты MSDN DOC:
ISPRECORSULT -> GETPRARY -> SPPPHRASE -> Правило -> СППФЕРСЕРУРУЛЬ -> Srengineconfidence.

http://msdn.microsoft.com/en-us/library/ee413319%28v=vs.85%29.aspx.
http://msdn.microsoft.com/en-us/library/ms720460%28v=vs.85%29.aspx.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top