Использовать NSSpeechRecognizer или альтернативу с аудиофайлом вместо микрофонного входа? - PullRequest
1 голос
/ 28 октября 2009

Можно ли использовать NSSpeechRecognizer с предварительно записанным аудиофайлом вместо прямого микрофонного входа?

Или есть ли какая-либо другая система преобразования речи в текст для Objective-C / Cocoa?

Добавлена ​​

Вместо использования голоса на компьютере, на котором запущено приложение, внешние устройства (например, iPhone) можно использовать для отправки только записанного аудиопотока в это приложение для настольного компьютера. Настольное приложение Cocoa затем обрабатывает и делает все, что должно, используя назначенные команды.

Спасибо.

1 Ответ

2 голосов
/ 02 ноября 2009

Я не вижу очевидного способа программного переключения ввода, хотя первый абзац руководства «Речь» в разделе «Распознавание речи», по-видимому, подразумевает использование других входов. Я думаю, что это должно быть установлено через Системные настройки, хотя. Я предполагаю, что он использует основное устройство ввода звука, выбранное там.

Я подозреваю, однако, что вы ищете открытое распознавание речи, а не NSSpeechRecognizer. Если вы хотите преобразовать любой предварительно записанный звук в текст (т.е. сделать запись записи), вам совершенно не повезло с NSSpeechRecognizer, так как вы должны дать ему массив «команд» для прослушивания.

Теоретически, вы могли бы подать в него весь словарь, но я не думаю, что это сработало бы, поскольку вы обычно должны давать ему четкие, четкие команды. Я думаю, его производительность пострадает, если вы дадите ему кучу материала для анализа (в реальном времени).

Лучше всего взглянуть на сторонние решения с открытым исходным кодом. Есть несколько обобщенных пакетов (ни одного специально для Cocoa / Objective-C), но это ставит другой вопрос: какое признание вы ищете? Две основные формы распознавания речи («обученный» является более точным, но менее гибким для разных голосов и среды записи, тогда как «открытый», как правило, гораздо менее точен).

Вероятно, было бы лучше, если бы вы точно указали, чего пытаетесь достичь.

...