Google открыла доступ к Cloud Speech API, лежащей в основе Google Ассистента технологии распознавания речи. Поиск оптимальной системы аудио распознавания речи с закрытым исходным кодом, но имеющими открытые API, для возможности интеграции
С этого дня независимые разработчики получили доступ к Cloud Speech API, технологии распознавания речи, на которой основаны продукты Google. Продукт, получивший обновление, теперь доступен в Google Cloud.
Открытая бета-версия Cloud Speech была выпущена прошлым летом. Эта технология с простым API позволяет разработчикам преобразовывать аудио в текст. Модели нейронной сети могут распознавать более 80 языков и диалектов, а готовая транскрипция появляется сразу после проговаривания текста.
API построен на базе технологии, которая обеспечивает функцию распознавания речи в Google Assistant, Search и Now, однако в новой версии были внесены изменения для адаптации технологии под нужды пользователей Cloud.
Чем отличается новая версия Cloud Speech API?
Благодаря отзывам разработчиков команда Google смогла повысить точность транскрипции продолжительных аудиозаписей и ускорить процесс обработки данных в 3 раза по сравнению с первоначальной версией. Также была добавлена поддержка других аудиоформатов, включая WAV, OPUS и Speex.
По статистике, раньше этот API использовался чаще всего для управления приложениями и устройствами с помощью голосового поиска, речевых команд и голосового меню. Но Cloud Speech может быть использован в совершенно разных IoT-устройствах, включая автомобили, телевизоры, колонки и, конечно, телефоны и ПК.
Среди частых случаев применения технологии стоит отметить её использование в организациях для анализа работы колл-центров, отслеживания общения с клиентами и повышения продаж.
Вот информация из Интернета с сайта vorabota.ru :
Чтобы приступить к преобразованию голоса в текст, понадобится микрофон (в ноутбуках он встроенный), желательна хорошая скорость интернет соединения и браузер Google Chrome не ниже 25 версии. В других браузерах функция голосового набора текстов, к сожалению, не работает.
Запустите страницу для ввода текста голосом в браузере Chrome. Внизу окна выберите язык, на котором Вы планируете диктовать текст. Нажмите на иконку микрофона в верхнем правом углу. И в всплывшей строке нажмите кнопку «разрешить» использование браузером микрофона.
Теперь Вы можете не спеша и четко наговаривать недлинные фразы. После завершения диктовки текста голосом его можно выделить и при помощи комбинации клавиш Ctrl+C скопировать в буфер обмена, а затем вставить в любой редактор для обработки. При желании текст можно сразу отправить по электронной почте.
Пожалуй, Web Speech API – самый простой и довольно качественный способ преобразовать свою речь в текст. Так как не надо отвлекаться на какие-то дополнительные манипуляции с клавиатурой. Просто включил микрофон и говори текст.
В любом случае придется использовать какой-нибудь дополнительный текстовый редактор для дальнейшей корректировки надиктованного текста.
Запустил в браузере Google Chrome страницу http://vorabota.ru/voice/text.html и опробовал голосовой ввод текста. Зачитал фразу «Web Speech API Голосовой набор текста. Выделить всё. Отправить Email «, а получил «Websphere api голосовой набор текста выделить все отправить email «. Вторая попытка: «Нажмите кнопку разрешить, чтобы включить микрофон » — «Нажмите кнопку разрешить чтобы включить микрофон «.
Сравнение исходной фразы и результата показывает, что: а) русская фраза преобразуется в русский текст достаточно качественно; б) английская фраза преобразуется в английский текст с ошибками, которые легко скорректировать; в) требуется обязательная корректировка текста с исправлением ошибок и с расстановкой знаков препинания и заглавных букв; г) отличие этой реализации Голосового набора текста от других, доступных в Интернете, в предельной простоте: в ней нет ничего лишнего, что облегчает освоение и использование.
Мой вывод таков: имеет смысл подобным образом реализовать Голосовой ввод текста на своём сайте, чтобы облегчить ввод текста на страницы сайта.
Надо всего лишь вставить на соответствующую страницу сайта необходимый код.
Создал отдельную страницу , предназначенную только для Голосового ввода текста , и начал её отладку.
Вот код страницы Диктуем текст :
Код в отладке…
Можете использовать приведенный код на своём сайте, преобразовав его так, как сочтёте нужным.
Приглашаю всех высказываться в
Сейчас без компьютера просто нереально обойтись в современном мире. От вас не требуется быть мастером фотошопа или профессионально монтировать видео (если это не связано с работой, конечно). Но суметь набрать какой-нибудь текст – это необходимый минимум.
№2. Web Speech API
Онлайн-программа Web Speech API по функционалу абсолютно идентична предыдущим.
Этот сервис, как и перечисленные выше, также был создан компанией Google.
Главная страница выглядит так:
В простом интерфейсе сразу очевидно, что для начала записи необходимо выбрать язык, а после нажать на микрофон.
После того как вы нажмете на значок справа, система обязательно сделает запрос на доступ.
После того как вы «дадите добро», можно сразу приступать к работе. Набирайте текст голосом, а его печатная версия будет появляться в окошке.
После окончания работы текст можно скопировать туда, куда вам необходимо (опять же таки – ctrl+C, ctrl+V).
№3. Talktyper
Не менее простая программа – это Talktyper.
Для начала работы перейдите на сайт: https://talktyper.com/ru/index.html.
Для начала работы достаточно нажать на значок микрофона справа.
В отличие от описанных выше, данный наборщик текста можно открывать с помощью любого браузера. Хотя сайт создан в США, приложение легко распознает самые популярные языки мира, в том числе и русский.
Talktyper многофункциональный: он не только набирает текст, но и ставит знаки препинания, исправляет самостоятельно ошибки. Если какое-то начитанное вами слово система не может распознать, как правильное, то оно обязательно высветится.
Кроме того, Talktyper имеет функцию перевода, а также его озвучивания.
Обратите внимание! После того как вы закончите голосовой набор текста, обязательно нажмите на стрелочку, чтобы набранный документ был перенесен в другое поле. После этого его можно будет отправить по электронной почте или скопировать в нужный файл.
Возможные проблемы при работе с программами голосового набора
Когда вы начнете использовать эти программы, то обязательно задумаетесь, как же компьютер распознает наш голос, а после еще переводит в живой текст.
Схема распознавания речи устройством выглядит так:
Весь процесс можно разделить на 3 главных этапа:
Акустический распознаватель.
Важно говорить четко, громко, микрофон должен передавать голос без перебоев.
Лингвистическая обработка.
Чем больше в словаре программы есть слов, тем качественнее будет набранный текст. То есть, все вами сказанное будет опознаваться и передаваться в текстовом виде без искажения.
Распознанный орфографический текст.
Программа в автоматическом режиме выводит на экран орфографическую версию надиктованной речи, опираясь на паузы, четкость слов, найденные лексемы в словаре и т.д.
При работе с компьютерными наборщиками текста чаще всего возникает 2 проблемы:
- Акустический распознаватель «улавливает» вашу речь с перебоями.
- В словаре системы недостаточно слов, чтобы распознать всё, сказанное вами.
Чтобы решить первую проблему, необходимо четко и громко говорить. А вот для второй проблемы решения практически не существует, по крайней мере, бесплатного.
Версии программ распознавания речи, которые распространяются свободно, имеют очень скупой словарный запас.
Чтобы обеспечить программе обширный запас слов разработчикам требуется вложить немало денег, поэтому многие распознаватели демонстрируют низкий уровень перевода речи в текст.
Дальше всех в этом деле продвинулась компания Google, т.к. имеет достаточно средств для инвестиций. Эта компания, кроме прочего, создала самый большой онлайн-словарь, который помогает распознавать голос и переводить его в графическую версию.
Смотрите подробное руководство в этом ролике:
- Когда вы произносите речь, в комнате должно быть тихо. Звуки природы, музыка, плач ребенка воспринимаются системой, как шум. Из-за этого текст будет набран с большими ошибками.
- Не говорите, если что-то едите. Это не только скажется на качестве набора, но и опасно для жизни к тому же.
- Делайте небольшие паузы между словами.
- Избегайте длинных фраз.
Перед началом работы нужно подобрать правильную громкость вашего голоса, а также понять какая чувствительность у вашего микрофона.
Для этого попробуйте записать несколько предложений привычным тоном. Если в записи будут перебои, обратитесь к настройкам микрофона.
Кто-то скажет, что программа для голосового набора – это прекрасный помощник, который освободил им руки и облегчил жизнь в целом. Другие решат, что «овчинка выделки не стоит». Потому выбрать, стоить ли их использовать, вам предстоит самостоятельно.
А уж из каких сервисов выбирать, вы уже знаете…
Решил немного дополнить отчет, который составлял еще будучи студентом. Прошло время и, как говорится, прогресс не стоит на месте. Технологии распознавания речи динамически развиваются. Что-то появляется, что-то исчезает. Вашему вниманию представляю самые известные речевые движки, которые может использовать разработчик в своем продукте на основе лицензионного соглашения. Буду рад замечаниям и дополнениям.Цели:
Определить наиболее оптимальную аудио-систему распознавания речи (речевой движок) на базе закрытого исходного кода, то есть лицензии которой не подходит под определение открытого ПО.Задачи:
Определить аудио-системы распознавания речи, которые попадают под понятие закрытого исходного кода. Рассмотреть наиболее известные варианта речевых систем преобразования голоса в текст, для перспектив интеграции видео-модуля в наиболее оптимальную голосовую библиотеку, которая имеет открытое API для совершения данной операции. Сделать выводы целесообразности использования аудио-систем распознавания речи на базе закрытого исходного кода под наши цели и задачи.Введение
Реализация своей собственной системы распознавания речи является очень сложной, трудоемкой и ресурсозатратной задачей, которую сложно выполнить в рамках данной работы. Поэтому предполагается интегрировать представленную технологию видео-идентификации в системы распознавания речи, которые имеют для этого специальные возможности. Так как системы распознавания речи с закрытым исходным кодом реализованы более качественно и точность распознавания речи в них выше, то поэтому интеграция нашей видео-разработки в их работу следует считать более перспективным направлением, по сравнению с аудио системами распознавания речи на базе открытого исходного кода. Однако же необходимо иметь в виду тот факт, что системы распознавания речи с закрытым исходным кодом часто не имеют должной документации для возможности интеграции сторонних решений в их работу или же это направление является платным, то есть необходимо покупать специальную лицензию на использование речевых технологий, представленных лицензиантом.Закрытый исходный код (Proprietary software)
Что касается определения - закрытый исходный код, то необходимо сказать – оно означает, что распространяются только бинарные (откомпилированные) версии программы и лицензия подразумевает отсутствие доступа к исходному коду программы, что затрудняет создание модификаций программы. Доступ к исходному коду третьим лицам обычно предоставляется при подписании соглашения о неразглашении. .ПО с закрытым исходным кодом является проприетарным (собственническим) ПО. Однако необходимо иметь в виду, что фраза «закрытый исходный код» можно трактовать по-разному. Так как она может подразумевать лицензии, в которых исходный код программ недоступен. Однако если считать ее антонимом открытого кода, то она относится к программному обеспечению, не подходящему под определение лицензии открытого ПО, что имеет несколько другой смысл. Одним из таковых спорных моментов стало то, как трактовать понятия интерфейса программирования приложений.
Интерфейс программирования приложений (API)
С 24 марта 2004 года на основании решения Европейской комиссии для программ с закрытым исходным кодом в результате судебного процесса появилось определение API, которое расшифровывается как интерфейс программирования приложений или как интерфейс прикладного программирования (с англ. яз. - application programming interface). API - набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.API определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована.
Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API - это множество «ручек», которые доступны пользователю данного ящика, которые он может вертеть и дёргать.
Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию - высокоуровневые компоненты используют API низкоуровневых компонентов, а те, в свою очередь, используют API ещё более низкоуровневых компонентов.
По такому принципу построены протоколы передачи данных по Интернет. Стандартный стек протоколов (сетевая модель OSI) содержит 7 уровней (от физического уровня передачи бит до уровня протоколов приложений, подобных протоколам HTTP и IMAP). Каждый уровень пользуется функциональностью предыдущего уровня передачи данных и, в свою очередь, предоставляет нужную функциональность следующему уровню.
Важно заметить, что понятие протокола близко по смыслу к понятию API. И то и другое является абстракцией функциональности, только в первом случае речь идёт о передаче данных, а во втором - о взаимодействии приложений. .
Dragon Mobile SDK
Сам инструментарий называется NDEV. Чтоб получить необходимый код и документацию, надо зарегистрироваться на сайте в «программе сотрудничества». Сайт:dragonmobile.nuancemobiledeveloper.com/public/index.php .
Инструментарий (SDK) содержит в себе компоненты и клиента, и сервера. Диаграмма иллюстрирует их взаимодействие на верхнем уровне:
Рис. 1. Принцип работы технологии Dragon Mobile SDK
Комплект Dragon Mobile SDK состоит из различных примеров кода и шаблонов проектов, документации, а также программной платформы (фреймворка), упрощающей интеграцию речевых сервисов в любое приложение.
Платформа Speech Kit framework позволяет легко и быстро добавлять в приложения сервисы распознавания и синтеза (TTS, Text-to-Speech) речи. Данная платформа также обеспечивает доступ к компонентам обработки речи, находящимся на сервере, через асинхронные «чистые» сетевые API, сводя к минимуму накладные расходы и потребляемые ресурсы.
Платформа Speech Kit является полнофункциональным высокоуровневым «фреймворком», который автоматически управляет всеми низкоуровневыми сервисами.
Рис. 2. Архитектура Speech Kit
Платформа выполняет несколько согласованных процессов:
1. Осуществляет полное управление аудио системой для записи и воспроизведения
2. Сетевой компонент управляет подключениями к серверу и автоматически восстанавливает соединения с истекшим временем ожидания при каждом новом запросе
3. Детектор окончания речи определяет, когда пользователь закончил говорить, и при необходимости автоматически останавливает запись
4. Кодирующий компонент сжимает и распаковывает потоковую аудиозапись, снижая требования к полосе пропускания и уменьшая среднее время задержки.
Система серверов отвечает за большинство операций, входящих в цикл обработки речи. Процесс распознавания или синтеза речи выполняется целиком на сервере, обрабатывая или синтезируя аудио-поток. Кроме того, сервер осуществляет аутентификацию в соответствии с конфигурацией разработчика.
Платформа Speech Kit является сетевым сервисом и нуждается в некоторых базовых настройках перед началом использования классов распознавания или синтеза речи.
Данная установка выполняет две основные операции:
Во-первых, она определяет и авторизует ваше приложение.
Во-вторых, - устанавливает соединение с речевым сервером, - это позволяет производить быстрые запросы на речевую обработку и, следовательно, повышает качество обслуживания пользователей.
Распознавание речи
Технология распознавания позволяет пользователям диктовать вместо того, чтобы печатать там, где обычно требуется ввод текста. Распознаватель речи выдает список текстовых результатов. Он никак не привязан к какому-либо объекту пользовательского интерфейса (UI), поэтому отбор наиболее подходящего результата и выборка альтернативных результатов остается на усмотрение пользовательского интерфейса каждого приложения.
Рис. 3. Процесс распознавания речи
В работе нашего приложения на ОС Android нам удалось интегрировать решение от Dragon Mobile SDK. Пионер отрасли распознавания речи показал отличные результаты, особенно на английском языке. Однако большим его недостатком следует считать ограниченный бесплатный функционал: только 10 тысяч запросов в сутки - которых для работы нашего приложения очень скоро стало недостаточно. За больший доступ следует платить .
Google Speech Recognition API
Рис. 4. Логотип Google Voice Search
Это продукт компании Google, который позволяет вводить голосовой поиск с помощью технологии распознавания речи. Технология интегрирована в мобильные телефоны и компьютеры, где можно ввести информация с помощью голоса. С 14 июня 2011 года Google объявила об интеграции речевого движка в Google Search и с тех пор он работает в стабильном режиме с этого времени. Эта технология на персональных компьютерах поддерживается только браузером Google Chrome. Функция включена по умолчанию в сборках dev-канала, но может быть включена вручную добавлением командного флага. Есть также функция голосового управления для введения речевых команд на телефонах с ОС Android.
Первоначально Google Voice Search - поддерживал короткие поисковые запросы длиной 35-40 слов. Необходимо было для отправки запроса включать и выключать микрофон, что было очень не естественно для использования (такая функция еще осталось в строке поиска Google, нужно нажать лишь на микрофон). Однако, в конце февраля 2013 года в браузер Chrome была добавлена возможность распознавания непрерывной речи и фактически Google Voice Search трансформировался в Speech Input (можно попробовать технологию на примере набора текста в Google Translate). Технологию можно экспериментально протестировать например также . Ознакомиться с полной документацией можно . Заметим лишь, что если раньше многие разработчики грешили тем, что незаконно с помощью различных уловок вклинивались в канал распознавания Google Speech API, то сейчас во время частых изменений API с мая 2014 года процесс доступа к API фактически стал легализован, так как для работы с базой данных системы распознавания речи достаточно зарегистрировать учетную запись в Google Developers и потом можно работать с системой в рамках правового поля.
Voice Search по умолчанию поставляется со следующими сервисами: Google, Википедия, YouTube, Bing, Yahoo, DuckDuckGo и Wolfram|Alpha и другими. Вы также можете добавить собственные поисковые системы. Расширение также добавляет кнопку голосового ввода для всех сайтов с использованием поисковых форм HTML5. Для работы расширения необходим микрофон. Речевой ввод весьма экспериментальный, так что не удивляйтесь, если он не сработает. .
Для этого, чтобы использовать технологию Google Voice Search необходимо сделать следующее:
Необходимо сделать POST запрос на адрес (сейчас он часто меняется - например, в мае месяце было три изменения и поэтому к этому надо быть готовым) со звуковыми данными в формате FLAC или Speex . Реализовывали демонстрацию распознавания WAVE-файлов с помощью C#. Количество ограничений запросов в сутки не замечали. Был риск с 10 000 знаками, как у многих других систем распознавания речи, но такие значения экспериментальным образом было нами доказано, можно преодолевать ежедневно.
Останавливаться на том, как работает данная технология специально не буду. Очень много статей имеется в сети, в том числе на хабре. Замечу лишь, что системы распознавания речи имеют практически схожий принцип работы, который был представлен в пункте выше на примере Nuance.
Yandex Speech Kit
Рис. 5. Лого Yandex Speech Kit
Сразу замечу, что сам лично я с данной библиотекой не работал. Расскажу лишь об опыте программиста, который работал с нами. Он говорил, что очень тяжелая для его восприятия документация и система имеет ограничение по количеству запросов: 10 000 в сутки, поэтому в итоге мы не стали использовать базу данных от Яндекса. Хотя по уверению разработчиков - этот инструментарий является номером 1 для русского языка и, что исследовательская группа компании, которая работала одна в Швейцарии, другая в Москве смогла сделать технологический прорыв в этой области. Однако с таким решением достаточно тяжело выходить на международный рынок по словам Григория Бакунова, так как «многое в области распознавания речи с точки зрения патентования принадлежит известной Nuance и Яндекс одним из последних сумел зацепиться за вагон уходящего вперед поезда развития систем распознавания речи.»
Краткое описание технологии: api.yandex.ru/speechkit/
Документация для Android: api.yandex.ru/speechkit/generated/android/html/index.html
Документация для iOS: api.yandex.ru/speechkit/generated/ios/html/index.html
Скачать же библиотеки можно на портале Технологий «Яндекса»: api.yandex.ru/speechkit/downloads/
Microsoft Speech API
Рис. 6. Лого Microsoft Speech API
Майкрософт тоже в последнее время стал активно развивать речевые технологии. Особенно после анонсирования голосового ассистента Cortana и разработки автоматический технологии синхронного теле-перевода с английского на немецкий язык и наоборот для Skype
На текущий момент существуют 4 варианта использования:
1. Для Windows и Windows Server 2008. Можно добавить речевой движок для Windows приложения используя управляемый или нативный код, который можно взять с API и управлять речевым движком, который встроен в Windows и Windows Server 2008.
2. Speech Platforms. Встраивание платформы в приложения, которые используют распространяемые Microsoft диструбутивы (языковые пакеты с функцией распознавания речи или же средства перевода текста в речь).
3. Embedded. Встроенные решения, которые позволяют человеку взаимодействовать с устройствами используя голосовые команды. Например управление автомобилями Форд с помощью голосовых команд в ОС WIndows Automotive
4. Services. Разработка приложения с речевыми функциями, которые можно использовать в реальном времени, тем самым освобождая себя от создания, обслуживания и модернизации инфраструктуры речевых решений.
Microsoft Speech Platform (есть SDK)
После установки – можно посмотреть справку по следующему путиИ также нужно ставить еще Runtime (ссылка)
а также Runtime Languages (Version 11). Т.е. для каждого языка нужно скачать и установить словарь. Я видел 2 версии словаря для английского и русского языков.
Системные требования (для SDK)
Поддержка ОС
Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista
Разработка и поддержка
Windows Vista или позднее
Развертывание поддерживается на:
Windows 2003 Server или позднее
Windows 2008 Server или позднее
Плюсы:
1) Готовая технология, бери и пользуйся! (есть SDK)
2) Поддержка от Майкрософт
Минусы:
1) нет отрыва от потенциальных конкурентов
2) как я понял – можно развернуть только на серверной Виндоус (Windows 2003 Server, Windows 2008 Server or later)
3) разработка под Виндоус 8 не анонсирована, только Виндоус 7 пока и ранние версии Виндоус
Использование Microsoft Speech API 5.1 для синтеза и распознавания речи
как работать с АПИУстановка (только для Windows XP), я так понимаю Speech API 5.1 он теперь входит в Microsoft Speech Platform (v 11), поэтому имеет смысл ознакомиться со статьей .
Примеры проектов по работе с Microsoft Speech API
MSDN ссылки про работу с Microsoft.Speech.dllПримеры:
C#, Разговоры с компом или System.SpeechКраткая как юзать System.Speech. Автор указывает на необходимость наличия английской версии Windows Vista или 7.
Распознавание речи с C# – Диктовка и пользовательская грамматика
, как использовать системные классы Майкрософт для задач аудио-распознавания (голос в текст), автор также сделал в своем блоге пост для обратной задачи речь в текст.
Проект (WinForms) по туториалу запускается и собирается. Там есть распознавание 20 секундного интервала. И распознавание по узкому словарю для управления софтом - Choices(«Calculator», «Notepad», «Internet Explorer», «Paint»); Если говорить фразы «start calculator» и т.п. то запускается соответствующий софт.
C# Speech to Text
Клиент на WPF.
Цель этой статьи дать Вам небольшое представление о способностях системы. В деталях рассмотреть как работают классы речевого движка. Также можно найти всю документацию MSDN .
Создание грамматики в.NET
Примеры работы с классом GrammarBuilderMicrosoft .NET Speech API позволяет быстро и легко создать приложения, которые дадут преимущества для взаимодействия с исследовательским центром Майкрософт, который специализируется на распознавании речи. Можно построить грамматические процессы и формы для работы. В этой статье пример как можно все это реализовать. на языке программирования C#.
Speech for Windows Phone 8
рассматриваются аспекты программирования аудио-распознавания под Windows Phone 8.Заключение
Таким образом, рассмотрев самые распространенные системы распознавания речи с закрытым исходным кодом необходимо заметить, что по своей библиотеке данных наиболее точным следует считать продукт на базе Dragon NaturallySpeaking. Он более всего подходит для задач распознавания на базе нашего визуального мобильного расширения (так как имеет хорошую документацию и простой код API для встраивания). Однако необходимо заметить, что данный инструментарий отличается очень сложной системой лицензирования, порядком и правилами использования данной технологии. Поэтому возникает сложность реализации на Dragon Mobile SDK пользовательского продукта.Следовательно, в таком случае более правильным, для наших целей и задач следует считать использование речевого инструментария Google, который более встраиваемый и быстрый за счет больших вычислительных мощностей по сравнению с Dragon Mobile SDK. Также преимуществом распознавания речи от Google стало отсутствие ограничений по количеству запросов в сутки (у многих систем распознавания речи с закрытым исходным кодом есть ограничение 10 000 запросов). Также данная компания стала активно стремиться развивать свой речевой движок на базе лицензионного соглашения. Еще раз напомню в мае месяце 2014 года началась чехарда частой смены API от корпорации и для того, чтобы координировать процесс необходимо иметь статус GoogleDevelopers.
Большим достоинством систем распознавания с закрытым исходным кодом (но открытым API для разработчиков), по сравнению с аудио-системами распознавания речи с открытым исходным кодом является высокая точность (за счет огромных библиотек баз данных) и скорость распознавания речи, поэтому их использование для решения нашей задачи является актуальным направлением.
Если Вы слишком медленно печатаете на клавиатуре, а учиться десятипальцевому методу набора лень, можете попробовать воспользоваться современными программами и сервисами голосового ввода текста.
Клавиатура, бесспорно, достаточно удобный инструмент управления компьютером. Однако, когда дело доходит до наборки длинного текста, мы понимаем всё её (а, если быть честными, то наше:)) несовершенство... На ней ещё нужно уметь быстро печатать!
Пару лет назад я, желая упростить себе работу по написанию статей, решил найти такую программу, которая бы позволяла преобразовать голос в текст. Я думал, как было бы хорошо, если бы я просто говорил всё что нужно в микрофон, а компьютер печатал вместо меня:)
Каково же было моё разочарование, когда я понял, что на тот момент никаких реально работающих (а тем более бесплатных) решений для этого дела не существовало. Были, правда, отечественные разработки, вроде "Горыныча" и "Диктографа". Они понимали русский язык, но, увы, качество распознавания речи имели довольно низкое, требовали долгой настройки с созданием словаря под свой голос, да ещё и стоили довольно недёшево...
Потом на свет появился Android и ситуация немного сдвинулась с мёртвой точки. В этой системе голосовой ввод появился в качестве встроенной (и довольно удобной) альтернативы ввода с виртуальной экранной клавиатуры. И вот недавно в одном из комментариев меня спросили, есть ли возможность голосового ввода для Windows? Я ответил, что пока нет, но решил поискать и оказалось, что, может и не совсем полноценная, но такая возможность существует! О результатах моих изысканий и будет сегодняшняя статья.
Проблема распознавания речи
Перед тем как начать разбор существующих на сегодняшний день решений для голосового ввода в Windows, хотелось бы немного осветить суть проблемы распознавания речи компьютером. Для более точного понимания процесса предлагаю взглянуть на следующую схему:
Как видим, преобразование речи в текст происходит в несколько этапов:
- Оцифровка голоса . На этом этапе качество зависит от чёткости дикции, качества микрофона и звуковой карты.
- Сравнение записи с записями в словаре . Здесь работает принцип "чем больше - тем лучше": чем больше записанных слов содержит словарь, тем выше шансы того, что Ваши слова будут распознаны правильно.
- Вывод текста . Система автоматически, ориентируясь по паузам, пытается выделить из потока речи отдельные лексемы, соответствующие шаблонным лексемам из словаря, а затем выводит найденные соответствия в виде текста.
Главная проблема, как нетрудно догадаться, кроется в двух основных нюансах: качестве оцифрованного отрезка речи и объёме словаря с шаблонами. Первую проблему реально минимизировать даже при наличии дешёвого микрофона и стандартной звуковой карты. Достаточно просто говорить не спеша и внятно.
Со второй проблемой, увы, не всё так просто... Компьютер, в отличие от человека, не может корректно распознать одну и ту же фразу, сказанную, например, женщиной и мужчиной. Для этого в его базе должны существовать оба варианта озвучки разными голосами!
В этом и кроется основной подвох. Создать словарь для одного человека, в принципе, не так сложно, однако, учитывая, что каждое слово должно быть записано в нескольких вариантах, это получается очень долго и трудозатратно. Поэтому, большинство из существующих на сегодняшний день программ для распознавания речи либо стоят слишком дорого, либо не имеют собственных словарей, предоставляя пользователю возможность создать их самостоятельно.
Я не зря упомянул про Андроид чуть выше. Дело в том, что Гугл, который его разрабатывает, создал и единственный на сегодня общедоступный глобальный онлайн-словарь для распознавания речи (причём многоязычный!) под названием Google Voice API . Подобный словарь для русского языка также создаёт Яндекс, но пока он, увы, ещё непригоден для использования в реальных условиях. Поэтому практически все бесплатные решения, которые мы рассмотрим ниже, работают именно со словарями Google. Соответственно, все они имеют одинаковое качество распознавания и нюансы заключаются лишь в дополнительных возможностях...
Программы голосового ввода
Полноценных программ для голосового ввода под Windows не так уж много. Да и те, которые есть и понимают русский язык, в основном являются платными... Например, стоимость популярной пользовательской системы преобразования голоса в текст RealSpeaker стартует с отметки 2 587 руб, а профессионального комплекса Цезарь-Р аж с 35 900 руб!
Но среди всего этого дорогого софта имеется одна программка, которая не стоит и копейки, но при этом предоставляет функционал, более чем достаточний для большинства пользователей. Называется она MSpeech :
Основное окно программы имеет максимально простой интерфейс - индикатор уровня звука и всего три кнопки: включить запись, остановить запись и открыть окно настроек. Работает MSpeech также весьма просто. Вам нужно нажать кнопку записи, установить курсор в окно, в которое должен выводиться текст и начать диктовать. Для большего удобства запись и её остановку лучше производить горячими клавишами, которые можно задать в Настройках:
Кроме горячих клавиш Вам может потребоваться изменить тип передачи текста в окна нужных программ. По умолчанию установлен вывод в активное окно, однако, можно задать передачу в неактивные поля или в поля конкретной программы. Из дополнительных возможностей стоит отметить группу настроек "Команды", которая позволяет реализовать голосовое управление компьютером при помощи заданных Вами фраз.
Вообще же MSpeech - довольно удобная программа, которая позволяет набирать текст голосом в любом окне Windows. Единственный нюанс в её использовании - компьютер должен быть подключён к Интернету для доступа к словарям Гугла.
Голосовой ввод онлайн
Если Вам не хочется устанавливать на свой компьютер никаких программ, но есть желание попробовать вводить текст голосом, можете воспользоваться одним из многочисленных онлайн-сервисов, которые работают на базе всё тех же словарей Гугла.
Ну и, естественно, первым делом стоит упомянуть о "родном" сервисе Google под названием Web Speech API :
Этот сервис позволяет переводить в текст неограниченные отрезки речи на более чем 50 языках! Вам достаточно просто выбрать язык, на котором Вы говорите, нажать на иконку микрофона в правом верхнем углу формы, при необходимости подтвердить разрешение на доступ сайта к микрофону и начать говорить.
Если Вы не используете какую-либо узкоспециализированную терминологию и говорите внятно, то сможете получить весьма неплохой результат. Кроме слов сервис "понимает" ещё и знаки препинания: если Вы скажете "точка" или "запятая", необходимый знак появится в форме вывода.
По окончании записи распознанный текст будет автоматически выделен и Вы сможете скопировать его в буфер обмена или отправить по почте.
Из недостатков стоит отметить лишь возможность работы сервиса только в браузере Google Chrome старше 25-й версии, а также отсутствие возможности мультиязычного распознавания.
Кстати, на нашем сайте вверху Вы найдёте полностью русифицированную версию этой же формы распознавания речи. Пользуйтесь на здоровье;)
На базе сервиса Гугла существует достаточно аналогичных онлайн-ресурсов распознавания речи. Одним из представляющих для нас интерес можно назвать сайт Dictation.io :
В отличие от Web Speech API, Dictation.io имеет более стильное оформление в виде блокнота. Основным его преимуществом перед сервисом Гугла является то, что он позволяет остановить запись, а затем снова запустить и при этом введённый ранее текст сохранится пока Вы сами не нажмёте кнопку "Clear".
Как и сервис Google Dictation.io "умеет" ставить точки, запятые, а также восклицательный знак и знак вопроса, но не всегда начинает новое предложение с большой буквы.
Если же Вы ищете сервис с максимальным функционалом, то, наверное, одним из лучших в этом плане будет :
Главные преимущества сервиса:
- наличие русскоязычного интерфейса;
- возможность просмотра и выбора вариантов распознавания;
- наличие голосовых подсказок;
- автоотключение записи после длительной паузы;
- встроенный текстовый редактор с функциями копирования текста в буфер обмена, распечатки его на принтере, отправки по почте или в Твиттер и перевода на другие языки.
Единственным недостатком сервиса (кроме уже описанных общих недостатков Web Speech API) является не совсем привычный для подобных сервисов алгоритм работы. После нажатия кнопки записи и надиктовки текста, его нужно проверить, выбрать вариант, наиболее соответствующий тому, что Вы хотели сказать, а затем перенести в текстовый редактор внизу. После чего процедуру можно повторить.
Плагины для Хрома
Кроме полноценных программ и онлайн-сервисов, существует ещё один способ распознать речь в текст. Этот способ реализовывается за счёт плагинов для браузера Google Chrome.
Главным преимуществом использования плагинов является то, что с их помощью Вы можете вводить текст голосом не только в специальной форме на сайте сервиса, но и в любом поле ввода на любом веб-ресурсе! Фактически плагины занимают промежуточную нишу между сервисами и полноценными программами для голосового ввода.
Одним из лучших расширений для перевода речи в текст является SpeechPad :
Не совру, если скажу, что SpeechPad - один из лучших русскоязычных сервисов перевода речи в текст. На официальном сайте Вы найдёте довольно мощный (хоть и немного староватый дизайном) онлайн-блокнот со множеством продвинутых функций, среди которых есть:
- поддержка голосовых команд управления компьютером;
- улучшенная поддержка расстановки знаков препинания;
- функция отключения звуков на ПК;
- интеграция с Windows (правда, на платной основе);
- возможность распознавания текста с видео или аудиозаписи (функция "Транскрибация");
- перевод распознанного текста на любой язык;
- сохранение текста в текстовый файл, доступный для скачивания.
Что же касается плагина, то он предоставляет нам максимально упрощённый функционал сервиса. Установите курсор в нужное Вам поле ввода, вызовите контекстное меню и нажмите на пункт "SpeechPad". Теперь подтвердите доступ к микрофону и, когда поле ввода станет розовым, надиктуйте нужный текст.
После того, как Вы прекратите говорить (пауза более чем в 2 секунды), плагин сам остановит запись и выведет в поле всё, что Вы сказали. При желании Вы можете зайти в настройки плагина (правый клик на иконке плагина вверху) и изменить параметры по умолчанию:
Как ни странно, но во всём Интернет-магазине расширений Гугла мне больше не попалось ни одного стоящего плагина, который бы позволял реализовать голосовой ввод в любом текстовом поле. Единственным похожим расширением было англоязычное . Оно добавляет иконку микрофона ко всем полям ввода на веб-странице, но не всегда правильно располагает её, поэтому она может оказаться вне экрана...