Как я могу заставить OpenEars распознавать разговорные номера на iOS? - PullRequest
7 голосов
/ 30 сентября 2011

Я ищу API для преобразования разговорных элементов в текст на iOS, но в основном для цифр и букв, таких как 1, 2, 3, 4 и a, b, c, d.

Я пробовал OpenEars, как предлагали многие, но, похоже, он поддерживает только некоторые орды, такие как «ПЕРЕЙТИ ВПЕРЕД НАЗАД ВПРАВО ВПРАВО ОСТАНОВИТЬ ВПРАВО». Может ли оно использоваться для распознавания общих слов или произнесенных чисел?

Я также попробовал API iSpeech, но когда я произношу строку чисел, такую ​​как 12345, он может вернуть только текст «один два три четыре пять», и он может дать мне только результат распознавания вместо список догадок (например, API распознавания голоса Google на Android).

Как я могу использовать любой из этих API (или другой вариант) для распознавания произносимых цифр или букв?

Ответы [ 2 ]

7 голосов
/ 30 сентября 2011

Чтобы узнать, как создавать пользовательские языковые модели и как динамически создавать языковые модели с OpenEars (языковая модель - это ваш пользовательский набор слов), прочитайте документы OpenEars здесь:

http://www.politepix.com/openears/yourapp

Чтобы узнать, как использовать акустическую модель с OpenEars, которая ориентирована на распознавание разговорных цифр, прочитайте это обсуждение на форуме OpenEars:

http://www.politepix.com/forums/topic/way-to-see-phonemes-openears-heard

Вы также можете посмотреть накод в примере приложения OpenEars, в котором много комментариев и показан пример изменения встроенного словарного запаса приложения.Если у вас есть дополнительные вопросы по внедрению OpenEars, я рекомендую создать учетную запись на форумах OpenEars (я являюсь разработчиком OpenEars).

0 голосов
/ 04 января 2016

Я использовал следующий JSGF на основе сфинксов .

<int0> = (ZERO | OH);
<int10> = TEN;
<int100> = HUNDRED;
<int1to9> = ONE | TWO | THREE | FOUR | FIVE | SIX | SEVEN | EIGHT | NINE;
<int0to9> = ( <int0> | <int1to9> );
<int01to09> = <int0> <int1to9>;
<int11to19> = ELEVEN | TWELVE | THIRTEEN | FOURTEEN | FIFTEEN | SIXTEEN | SEVENTEEN | EIGHTEEN | NINETEEN;
<tens> = TWENTY | THIRTY | FORTY | FIFTY | SIXTY | SEVENTY | EIGHTY | NINETY;
<int20to99> = ( <tens> [<int1to9>] );
<int10to99> = ( <int10> | <int11to19> | <int20to99> );
<int1to99> = ( <int1to9> | <int10to99> );
<int0to99> = ( <int0> | <int1to99> );
<int01to99> = ( <int01to09> | <int10to99> );
<int1to9hundreds> = ((A  | <int1to9>) <int100>);
<int101to999> = (<int1to9> (<int01to09> | <int10> | <int11to19> | <int20to99> ));
<int100to999> = (<int1to9hundreds> [[AND] <int1to99> ]);
<int1to999> = ( <int1to99> | <int100to999> | <int101to999> );
...