Как настроить сервер распознавания речи?

Как реализовать распознавание речи на стороне сервера (пожалуйста, не предлагайте HTML5's x-webkit-speech, javascript и т. Д.)? Программа принимает на вход аудиофайл и с достаточной точностью обеспечивает текстовую транскрипцию аудиофайла. Какие варианты я могу использовать?

Я пробовал реализовать Sphin4 с моделью Voxforge, но точность настолько низка (они также могут быть проблема в моей конфигурации, я все еще пытаюсь ее изучить). В одном сообщении я прочитал, что когда мы используем <input name="speech" id="speech" type="text" x-webkit-speech />, входные данные отправляются на внешний сервер и этот сервер, а затем распознавание и отправляет данные обратно в браузер.

Как я могу настроить этот сервер? Любой существующий сервер с открытым исходным кодом также был бы полезен, если бы он мог распознавать английские предложения с минимальным количеством ошибок.


person Amit    schedule 18.01.2012    source источник


Ответы (3)


У вас есть проблемы: 1. Как записать звук в клиенте. 2. Как передать эти аудио на сервер. 3. Как добиться признания. 4. Как вернуть обратно оценку узнаваемости и уверенности. 5. Что вы собираетесь делать с этими оценками признания и уверенности (ваше заявление).

В первом случае вы можете использовать подход Google, когда кто-то щелкает значок микрофона и несколько раз записывает голос. Или iPhone Siri, где VAD используется для записи звука.

Во-вторых, это основная проблема передачи файлов TCP / IP. Также можно использовать подход Apple / Google и сжать аудиофайл с помощью Flac или Speex.

В-третьих, это действительно сложная часть. Вам нужны акустические модели намного лучше, чем те, которые вы можете получить от Voxforge. Это особенно актуально для непрерывного распознавания речи, бесконтекстного, как Siri. Для команд подойдет Voxforge.

В-четвертых, это еще одна проблема с передачей файлов.

В-пятых, это ваше приложение.

Самая сложная часть - это распознавание речи. Возможно, другая проблема заключается в том, как масштабировать это для тысяч пользователей. Вы можете использовать распознавание речи Julius в качестве речевого клиента для захвата звука. Мы можем поговорить об этой проблеме в частном порядке.

person Luis    schedule 18.01.2012
comment
Приложение, которое я буду разрабатывать, будет установлено на сервере, и «декодированный текст» будет выходом этого модуля, который будет использоваться другим модулем приложения ... Я попытался настроить Sphinx4 с помощью VoxForge и HUB ... но пока ничего не работает, см. вопрос stackoverflow.com/questions/8727389 /, помогите пожалуйста ... - person Amit; 18.01.2012

Какой тип приложения вы внедряете? Является ли целью приложения преобразование голосового ввода пользователя в текст или оно предназначено просто для понимания простых команд? Такие системы, как Sphinx4, используют статистическую модель для транскрипции речи. Вы не получите такого же хорошего распознавания с этими типами систем, как с системой автоматического распознавания речи (ASR), которая использует грамматики для ограничения пространства поиска для ASR для лучшего распознавания. Системы, использующие статистические модели, требуют большой настройки и пробных запусков, чтобы получить достойное признание.

Sphinx4 - единственный известный мне ASR с открытым исходным кодом. Существует ряд коммерческих продуктов / услуг, среди которых Nuance является крупнейшей на рынке. Некоторые коммерческие предложения имеют возможность включать людей для расшифровки сообщения, когда уровень распознавания низкий.

У Google есть неофициальный API, который он использует для внутренних целей для таких сервисов, как Google Voice, и я считаю, что это тот же API, на который вы ссылаетесь. Google Voice принимает сообщения голосовой почты, расшифровывает их и отправляет вам текст по электронной почте. Google Voice считается современным средством транскрипции, но если у вас есть учетная запись Voice, вы увидите, что транскрибированные сообщения не так хороши. Вот ссылка на статью в блоге об использовании неофициальной речи Google API.

person Kevin Junghans    schedule 18.01.2012
comment
это будет приложение для диктовки, которое транскрибирует голос пользователя в текстовый формат ... Я пытаюсь настроить Sphinx4, но пока не смог ... см. stackoverflow.com/questions/8727389/ - person Amit; 18.01.2012

В Chrome этим сервером является проприетарный сервер Google. Вы не можете установить собственную версию. Люди реконструировали вызовы на сервер, см. http://mikepultz.com/2011/03/accessing-google-speech-api-chrome-11/ в качестве примера, но это не очень хорошая идея для производственного или коммерческого приложения, поскольку Google может изменить API или ограничить доступ в любое время.

Вот старый ответ на другой вопрос, но он может быть полезен - https://stackoverflow.com/a/6351055/90236 < / а>

person Michael Levy    schedule 18.01.2012