Распознавание речи (speech recognition) на русском и перевод её в текст для Windows.
Если хочется избавиться от набора на клавиатуре текстов рефератов и презентаций, да и просто текстов, то для этого создан набор программ, которые переводят устную речь в текст. Делать это можно на множестве языков. Называется пакет Voice2All и включает в себя Voice2Word, Voice2Outlook, Voice2PowerPoint, Voice2Excel, Voice2Text, Voice2SQL, Voice2SQL_SSMS, Voice2VisualStudio. Из названия программ и надстроек примерно понятно, за что отвечает каждая часть. Первые 4 относятся к продуктам из Microsoft Office.
Скачать Voice2All.zip (51 Мб) !!! Распаковать в папку C:\Voice2All !!!
Лучше 1 раз увидеть чем N раз прочитать.
Voice2Text
Voice2Word
Voice2Outlook
Voice2PowerPoint
Распознаётся голос при помощи онлайн сервисов Google, Yandex и самого Microsoft. Известно, что крупные софтварные компании используют машинное обучение и нейронные сети как подкласс для распознавания голоса, то есть можно проверить как распознаёт голос та или иная система. Набор надстроек и программ состоит из:
Voice2Text – После того как распакуете скачанный файл в C:\Voice2All запускать ярлык Voice2Text.exe.lnk в папке или программу c:\Voice2All\Voice2Text\Bin\Voice2Text.exe. Программа работает без установки (не нужно прав администратора на компьютере) и служит только для перевода голоса в текст, который копируется в буфер обмена. Может оставлять мини окно со значком микрофона, которое висит поверх других и при нажатии на него записывается голос и при остановке распознаётся сказанное.
Voice2Word – После того как распакуете скачанный файл в C:\Voice2All запускать установку для Word по пути c:\Voice2All\Voice2Word\Install\setup.exe . В Microsoft Word после установки надстройки и появления соответствующего меню появляется такое же окно для записи голоса.
Voice2Outlook – После того как распакуете скачанный файл в C:\Voice2All запускать установку для Outlook по пути c:\Voice2All\Voice2Outlook\Install\setup.exe . В Microsoft Outlook после установки надстройки и появления соответствующего меню появляется окно записи голоса. Распознанный текст вставляется в окне написания нового письма или ответа.
Voice2PowerPoint – После того как распакуете скачанный файл в C:\Voice2All запускать установку для PowerPoint по пути c:\Voice2All\Voice2PowerPoint\Install\setup.exe . В Microsoft PowerPoint после установки надстройки и появления соответствующего меню появляется такое же окно для записи голоса.
Замеры скорости и точности распознавания:
Ниже приводятся замеры тестирования Voice2Text, Microsoft Dictate и ручного ввода. Dictate – специальная надстройка от Microsoft, цель которой набор текста голосом. В Voice2All распознавание не идёт на лету, обрабатываются файлы после записи, то есть чем дольше говорите, тем дольше потом будет отправлять по каналу файл в требуемом формате и потом обрабатывать на сервере. Записанные фразы до 10 секунд обрабатываются за 2-3 секунды. Всё равно быстрее чем набирать руками. А особенно если человек не очень хорошо владеет клавиатурой. Понятно, что те, кто владеет слепым методом набора меньше заинтересованы в таких инструментах, но рано или поздно точность распознавания голоса и их догонит. Или смысл иногда в том, чтобы делать быстрые заметки где точность до запятой не так важна.
Замеры проводились следующим образом: брался исходный текст , наговаривался в микрофон, полученный результат сравнивался при помощи утилиты, измеряющий расстояние Левенштейна (Distance Levenshtein). А расстояние Левенштейна – это сколько нужно сделать исправлений по буквам, добавить, заменить, удалить, чтобы привести текст к сходному. Часто бывает, что окончание не то распозналось, например, в словах «компании» и «компаний» нужно заменить одну букву, расстояние Левенштейна равно 1. После этого считалось какой процент в изменениях букв от общей длины текста в буквах и получался процент ошибочных символов – Error %. Довольно хорошим выглядит показатель в 6-8% учитывая, что в тестах 3-6 не проговаривались запятые и другие знаки препинания, то есть они сразу были в ошибках. А также не готовился список ключевых слов для замены, например, «амд» не менялся на «AMD», что можно сделать заранее, зная какие аббревиатуры в текстах часто встречаются и на что менять. Результат проходит постобработку, меняются такие фразы как «с красной строки», «знак вопроса» и всё что настроит сам пользователь. Замены слов хранятся в специальном файле KeyWords.txt, который можно самостоятельно менять под свои цели. В тестах для записи не использовалось какое-то дорогое оборудование, обычные наушники Philips c микрофоном стоимостью около 1 т.р. Также делались замеры по скорости распознавания.
Microsoft Dictate | Voice2All Yandex | Voice2All Google | Voice2All Microsoft | Ручной ввод | ||||||||||||
№ | Часть текста | Distance | Error % | Time sec | Distance | Error % | Time sec | Distance | Error % | Time sec | Distance | Error % | Time sec | Distance | Error % | Time sec |
1 | Всё смешалось в доме Облонских | 262 | 56,83 | 7 | 61 | 13,23 | 12 | 68 | 14,75 | 9,53 | 85 | 18,44 | 21,2 | |||
2 | Перспективы развития Huawei и его… | 149 | 46,13 | 5 | 28 | 8,7 | 9,51 | 44 | 13,66 | 7,15 | 63 | 19,57 | 16,67 | |||
3 | …видеокарт Radeon RX 5700-й серии | 141 | 44,06 | 10 | 55 | 17,19 | 12,27 | 27 | 8,44 | 6,9 | 74 | 23,12 | 14,15 | |||
4 | Вышел зайчик погулять | 109 | 57,37 | 6 | 61 | 32,11 | 3,51 | 43 | 22,63 | 4,03 | 66 | 34,74 | 7,41 | |||
5 | В своем романе-эпопее «Война и мир» | 91 | 61,04 | 6 | 17 | 11,11 | 4,34 | 10 | 6,54 | 3,95 | 18 | 11,76 | 6,12 | |||
6 | Мой дядя самых честных правил | 170 | 44,27 | 5 | 80 | 20,83 | 7,19 | 59 | 15,36 | 6,98 | 72 | 18,75 | 15,27 | |||
51,62 | 39,00 | 17,20 | 48,82 | 13,56 | 38,54 | 21,06 | 80,82 |
Итого, лучше всего распознаёт русские тексты Google, потом Yandex, потом Microsoft Azure. Утилита Microsoft Dictate выглядит аутсайдером. По скорости Google и Yandex примерно равны, хотя иногда Google может по неизвестной причине замедляться, но в следующий раз работает также быстро.
Помимо надстроек к Office в Voice2All и Voice2Text есть ещё программы про запросы голосом данных к базам данных и написание кода голосом в Visual Studio. Проводится их доработка и тестирование в реальных условиях ИТ компаний.
Voice2SQL
Voice2SQL_SSMS – создание запросов к БД MS SQL Server, в виде надстройки интегрированной в SQL Server Management Studio (SSMS).
Voice2VisualStudio – создание кода голосом в Microsoft Visual Studio.
Программа Voice2All, а лучше сказать целый набор программ, надстроек можно скачать совершенно бесплатно, проект не коммерческий. Но системы распознавания голоса от крупных корпораций могут брать деньги. Если у Microsoft и Google есть бесплатные часы в месяц, то у Яндекса ввели ограничение 2 месяца. И придётся регистрироваться в этих системах для получения ключей доступа к облачным системам распознавание голоса (Speech Recognition). Эти ключи вставляются в программу и используются в защищённых запросах в облака. Бесплатные оффлайн системы распознавания с русским языком есть, но не пригодны к коммерческому использованию.
Бесплатно | Ограничения Free | RUS | Средняя скорость | Аудио файлы длина | 15 sec $ | 15 сек в руб с НДС | Всего языков | Дополнительно | |
Yandex | 2 месяца | 4000р | + | <5 sec | 30 сек | 0,001953 | 0,1524 | 3 | Нет бесплатных минут каждый месяц |
60 minutes/month | – | + | <5 sec | 1 мин | 0,004000 | 0,3100 | 120 | Не всегда работает в MS Office | |
Microsoft | 5 часов/месяц | 5000 transactions (5 часов?) | + | <5 sec | 1 мин | 0,004000 | 0,3100 | 30 | В первый раз пропускает слова |
IBM | 1 месяц | 200$ | – | – | – | 0,005000 | 0,3900 | 10 | Русского нет |
AWS | 60 минут в месяц | 12 месяцев | – | – | – | 0,006000 | 0,4600 | 10 | Файл нужно загружать в S3 |
CMU Sphinx (offline) | – | – | + | >1 минуты | любые | 0 | 0 | 12 | Долго работает. Чем больше слов в словаре тем хуже распознаёт. |
Есть ещё немало систем распознавания голоса начиная от китайских Tencent, Alibaba, Baidu и заканчивая IBM c AWS, но они не распознают русского языка, поэтому пока их нет в программе. Яндекс распознаёт 3 языка, Google – 120, Microsoft – 30. Пока добавлены самые частые, но недолго добавить все. Можно говорить на любом из добавленных языков, например, испанском и он распознается в программах Voice2All.
Как получить ключи:
- Yandex Cloud – по умолчанию работает тестовый ключ. Использовать его можно в тестовых целях и он ограничен. Для коммерческого использования можно получить ключ по этой инструкции.
https://cloud.yandex.ru/docs/iam/operations/api-key/create
- Microsoft Azure – регистрируемся бесплатно в Microsoft Azure https://azure.microsoft.com/ru-ru/free/
Добавляем сервис Cognitive Services.
Настраиваем его. Есть возможность использовать Free режим.
При клике на сервисе открывается информация о ключе, копируем его и вставляем в
любой программе Voice2… в настройках находим Microsoft API Key.
- Google Cloud – нужно получить API ключ в формате JSON и указать его в программе или в переменной среды GOOGLE_APPLICATION_CREDENTIALS. https://cloud.google.com/docs/authentication/getting-started
Крутая штука!
Ага!