В прошлом году AIN.UA писал о киевлянине Александре Коновалове, создавшем мессенджер Droid Translator с функцией голосового перевода иностранной речи в реальном времени. К сегодняшнему дню стартап Александра уже выпустила версию Droid Translator для Android, версия для iOS проходит модерацию в Apple. А сам изобретатель прислал в редакцию статью о недостатках сервиса Google Voice и о том, как корпорация может их исправить.
Все, кто когда-нибудь сталкивался с функцией распознавания речи в Android, знают, что там используется функция Google Voice. Чтобы научиться пользоваться данной функцией, нужно пройти чуть ли не целые курсы – подстраиваться, когда нужно говорить; смотреть, когда ляжет микрофон; нажимать кнопку только после того, как обдумал фразу. А если что-то не так нажал, задумавшись, что сказать – микрофон отключается через пару секунд.
Особенно наглядно это выглядит в режиме разговора в Google Translate. Сам лично не раз пытался за границей попробовать с его помощью пообщаться с немцами. Нажимаешь кнопку “немецкий”, даешь телефон немцу, он шарахается, пока додумывается что-то сказать – микрофон отключается.
Уверен, что подобные впечатления остались у всех пользователей такого и аналогичных ему сервисов. При всей сложности технологии распознавания речи его реализация, с точки зрения потребительских свойств продукта, оставляет желать лучшего… Но не все так критично, и выход, конечно, как всегда есть, причем он достаточно прост. О чем и пойдет речь в этой статье.
Мы – команда авторов и разработчиков приложения DROTR (Droid Translator) – обратились к компании Google с просьбой добавить возможность распознавания аудиоданных в виде набора байт через HTTP-интерфейс в сервисе Google Voice.
Вопрос – зачем?
Ответ таков: чтобы избавить пользователя от необходимости перед каждой фразой нажимать кнопку микрофона и чтобы распознаватель речи мог распознавать все услышанное. На первый взгляд, это кажется простым, но на самом деле – не очень.
В прошлом году мы создали приложение Droid Translator – синхронный робот-переводчик звонков – которое дает возможность людям общаться между собой во всех странах мира на 29 языках. Сервис сейчас доступен для Android, под iOS продукт проходит модерацию в Apple. После запуска первой версии мы изучали отзывы клиентов, тестировали продукт и, конечно же, дорабатывали его.
Мы понимали, что каждый продукт должен быть интуитивно понятным и простым в пользовании. Для разработки iOS-версии мы вообще не смогли использовать Google Voice, поскольку последний умеет распознавать только поток и только на Android, и мы были вынуждены прикручивать Nuance с абсолютно дикой ценовой политикой – платой 1 цент за каждую фразу (как синтеза так и распознавания).
Мягко говоря, это оказалось не только некомфортно, так как Nuance имеет абсолютно недоразвитую службу поддержки, отвечающую на письма около месяца, но еще и крайне дорого и неудобно для формирования четкой и понятной ценовой политики для наших клиентов. Как это – платить за фразы?! Не за минуты, а за фразы. Но Nuance по количеству языков – мировые монополисты, а в это время Google Voice с небольшими техническими ограничениями, которые создали сами для себя, выпали из этого рынка.
Касательно Android, соответственно, тоже не все так гладко. Поскольку Google Voice распознает только поток, во время его включения он забирает микрофон, и мы, как следствие, уже не можем передавать оригинал речи собеседнику, так как микрофон занят распознавателем. На первый взгляд, кажется глупым, но это факт.
На сегодняшний день основным и главным ограничивающим фактором является отсутствие более низкоуровневого, гибкого, кроссплатформенного интерфейса взаимодействия с сервисами Google Voice, например, HTTP-интерфейсом, который бы позволял распознавать аудиоданные в виде набора байт, а не только потока, как это существует сейчас.
Из-за отсутствия возможности использования такого интерфейса мы столкнулись с тремя ограничениями:
- невозможность использования сервисов Google Voice в iOS, а также в приложениях под другие платформы;
- невозможность реализации работы распознавателя в режиме постоянной активности, то есть чтобы распознавалось все, что говорится, и пользователю не нужно было каждый раз активировать распознаватель перед тем, как сказать фразу;
- невозможность использования сервисов Google Voice для дополнительной обработки передаваемых аудиоданных в VoIP-приложениях. При работе с сервисами Google Voice через Android SDK микрофон блокируется, и считывать с него данные для последующей передачи нет возможности, попросту, как я уже сказал – нельзя передать оригинал речи.
При этом техническая возможность взаимодействия с сервисами Google Voice через HTTP-интерфейс, позволяющий распознавать аудиоданные в виде набора байт, существует, однако она не является официально задокументированной. Официально сервис Google Voice доступен только через Android SDK.
Известно, что конкурент Google Voice, компания Nuance, предоставляет вышеописанный функционал, но ее тарифная политика не адаптирована под нужды компаний-разработчиков, клиентам которых данный сервис нужен для постоянного, а не разового использования.
В конечном итоге, отсутствие вышеописанного функционала в сервисах Google Voice ограничивает конкурентоспособность самого Google Voice, также как и потребительские ценности продуктов, созданные на его основе.
Мы уверены, что внедрение данной опции расширит рынок использования Google Voice, повысит конкурентоспособность сервиса и продуктов на его основе, даст новые возможности пользователям и разработчикам.
Учитывая вышеизложенное, мы обратились к Google с конкретным предложением – добавить возможность распознавания аудиоданных в виде набора байт через HTTP-интерфейс в сервисе Google Voice и официально задокументировать эту функцию.
Недавно Google пытался купить компанию Nuance за $6 млрд, однако владельцы последней отказались от такой сделки. В ответ Google решил строить свой новый центр речевых технологий. Наше предложение уже без строительства отдельного центра речевых технологий позволит очень существенно потеснить компанию Nuance на этом рынке, а Google Voice – стать универсальным кроссплатформенным решением уже сейчас.
Ответа от Google мы пока не получили. Будем держать вас в курсе событий и надеемся, что этот вопрос скоро решится взаимовыгодно, а все разработчики получат новые возможности работы с распознаванием речи.