2014-09-12 5 views
2

Я разработчик Android, который живет с нарушением слуха, и сейчас я изучаю возможность сделать речь в текстовом приложении с помощью Speech Recognizer API в Android. Телефоны с закрытыми субтитрами и Innocaption недоступны в моей родной стране. Потенциальные приложения могут быть похожими на субтитры во время телефонных звонков.транскрипция в реальном времени на Android

https://developer.android.com/reference/android/speech/SpeechRecognizer.html

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

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

Есть ли способ реализовать распознаватель речи в непрерывном режиме? Я могу создать текстовое представление, которое постоянно обновляется, когда новый текст возвращается из службы. Если этот API не тот, на что я должен смотреть, есть ли какая-нибудь рекомендация? Я тестировал CMUSphinx, но обнаружил, что он слишком зависит от блоков фраз/предложений, которые вряд ли будут работать для такого приложения, которое я имею в виду.

ответ

1

В любом случае Google не будет работать с качеством звука в телефоне, вам нужно будет работать с субтитрами, используя CMUSphinx самостоятельно.

Возможно, вы неправильно настроили CMUSphinx, это должно быть хорошо для большой транскрипции словаря, вам нужно только использовать модель телефонии 8chz, а не широкополосную модель и общую модель языка.

Для лучшей точности, вероятно, стоит перенести обработку на сервер, вы можете настроить УАТС на вызовы и транскрибировать аудио, вместо того чтобы надеяться что-то сделать на ограниченном устройстве.

+0

Интересно. Так что мне нужно изменить акустическую модель CMUSphinx на телефон 8Hhz? Попробуем и отчитаемся. – Lorteld

+0

Попробуйте этот http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20Generic%20Acoustic%20Model/en-us-8khz.tar.gz/download и этот http: //sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20Generic%20Language%20Model/cmusphinx-5.0-en-us.lm.dmp/download –

+1

Благодарим за комментарий. Я пробовал использовать общую акустическую модель, а также модель 8khz, и признание плохого для общей речи. Теперь я изучаю использование sphinx4 на сервере. – Lorteld

0

Это правда, что документация API SpeechRecognizer утверждает, что

Реализация этого API может транслировать аудио на удаленные серверы для распознавания речи. Таким образом, этот API не является , предназначенным для непрерывного распознавания, который будет потреблять значительное количество батареи и пропускной способности .

Этот текст был добавлен год назад (https://android.googlesource.com/platform/frameworks/base/+/2921cee3048f7e64ba6645d50a1c1705ef9658f8). Однако в то время в API не было внесено никаких изменений, т. Е. API остался прежним. Кроме того, я действительно не вижу ничего специфичного для сетей и утечки батареи в документации API. Итак, продолжайте и внедрите распознаватель (возможно, на основе CMUSphinx) и сделайте его доступным через этот API.

+0

Аккумулятор батареи спорный. В любом случае, телефонные звонки также используют много энергии аккумулятора, поэтому почему бы не позволить высококачественной серверной транскрипции реального времени использовать одинаковое количество энергии? –

3

Я разработчик программного обеспечения для глухих, поэтому я могу прослушивать. Я отслеживаю состояние API-интерфейсов Speech-To-Text, и API теперь стали «достаточно хорошими» для обеспечения беззаботного ретрансляции/субтитров услуги для ОТДЕЛЬНЫХ видов телефонных разговоров с людьми, использующими телефон в тихих настройках. Например, я получаю 98% -ную точность транскрипции с голосом моего супруга с транскрипцией реального времени Apple Siri (iOS 8).

Я смог подписать мелодию телефона, проложив звук с одного телефона, на второй iPhone, который я нажимаю на кнопку микрофона (всплывающая клавиатура), и успешно подписал телефонный разговор с точностью ~ 95% на 250 слов в секунду минуту (быстрее, чем Sprint Captioned Telephone и Hamilton Captioned Telephone), по крайней мере до 1 минуты.

Таким образом, я заявляю, что распознавание голоса на компьютере основано на телефонных звонках с членами семьи (типа, который вы часто звоните в спокойной обстановке), где вы можете, по крайней мере, обучить их перемещению в тихое место, чтобы можно было использовать субтитры (с точностью> 95%). Начиная с выхода iOS 8, нам это действительно нужно, поэтому нам не нужно полагаться на операторов-операторов или субтитры. Sprint Подпись телефона сильно отстает во время быстрой речи, в то время как Apple Siri не отстает, поэтому я могу проводить более естественные телефонные разговоры с установкой Apple Siri в режиме реального времени с двумя iOS-устройствами в режиме реального времени Captioned Telephone.

Некоторые сотовые телефоны передают аудио в режиме более высокого уровня, поэтому он хорошо работает между двумя iPhone (iPhone-динамик, подключенный к другому Siri iPhone, работающему в непрерывном режиме iOS8). Предполагается, что вы находитесь на G.722.2 (AMR-WB), например, при запуске двух iPhone на той же самой несущей, которая поддерживает стандарт аудиотелефонии высокого разрешения. Он отлично работает при подаче через Siri - примерно так же хорошо, как и перед телефоном, для одного и того же человеческого голоса (при условии, что другой конец говорит в телефоне в спокойной обстановке).

Google и Apple должны открывать свои API-интерфейсы речи для текста в вспомогательные приложения, pronto, потому что транскрипция без операторного телефона, наконец, теперь практически практична, по крайней мере, при вызове членов семьи (хорошие голоса & тренируются в тихой обстановке при получении вызова). В этой ситуации также необходимо удалить постоянный срок.

Смежные вопросы