Распознавание речи с неограниченным словарным запасом требует очень больших вычислительных ресурсов и ресурсов памяти (гигабайт памяти), и, таким образом, это очень трудно сделать в iPhone на другом встроенном устройстве.iPhone в 9 раз медленнее, чем настольный.iPad проще, поскольку у него более мощный процессор.
Google приложил очень большие усилия, чтобы заставить их движок работать в автономном режиме для диктовки, и все же он предпочитает отправлять данные на сервер, потому что он значительно более точен.
Из-за этого большинство решений, работающих на небольших устройствах, используют ограниченный словарный запас.Хотя этот словарь может быть достаточно большим, поэтому вы этого не заметите.Обычно 500-1000 слов достаточно, чтобы охватить большинство практических ситуаций.Вы можете использовать OpenEars для распознавания такого словаря.
Для обучения языковой модели вам нужны тексты из вашего домена (слова и выражения).Языковая модель обучения описана в CMUSphinx tutorial .Для использования языковой модели вы можете использовать следующий вызов API OpenEars:
- (void) changeLanguageModelToFile: (NSString *) languageModelPathAsString
withDictionary: (NSString *) dictionaryPathAsString
См. Справочник по API для получения более подробной информации.
Вы можете использовать OpenEars с таким словарем и соответствующимиязыковая модель для поддержки ввода текста в свободной форме для вашего устройства.