Инструмент вывода речи из звукового потока

Разработана новая утилита для вывода текста из аудио в реальном времени (авто субтитры). Инструмент позволяет в реальном времени выводить текст на экран из звукового потока, который создается либо с помощью микрофона, либо берется из проигрываемого аудио или видео с помощью виртуального кабеля или стерео микшера.

В целом настройки инструмента достаточно очевидны.
настройки инструмента вывода речи из звукового потока
Переключатель Длина буфера фраз ограничивает максимальную длину распознаваемого куска текста и в большинстве случаев может быть установлен в максимальное значение — 300. Переключатель Защита от шумов не дает зависать распознаванию при наличии шумов в воспроизводимом аудио. При использовании микрофона он должен быть отключен.

Если вы не нашли нужного языка в списке Выбор языка для распознавания, то зарегистрируйтесь на сайте и добавьте нужный язык.

Диктант для проверки прозношения на иностранном языке

На сайт голосового блокнота добавлен новый инструмент — тест проверки произношения при чтении на иностранном языке.
Инструмент позовляет получить количественные оценки ошибок произношения при чтении.

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

Интеграция голосового блокнота с Linux (Ubuntu и др.)

Возможности интеграции

Это статья для Linux OS, для Windows OS читайте здесь.

Интеграция голосового блокнота с Linux позволяет вводить текст голосом напрямую в приложениях Linux.

Установка интеграции с Linux

1. Устанавливаем браузер Chromium или Google Chrome.
2. Устанавливаем расширение с магазина Google Chrome.

3. Скачиваем модуль интеграции в зависимости от разрядности Linux: модуль для 32 разрядной от 07.11.2016, модуль для 64 разрядной от 07.11.2016. Распаковываем, открываем папку в окне терминала, проверяем права на запуск у файла install_host.sh и запускаем его.

4. Регистрируемся в голосовом блокноте, вводим, полученный логин и пароль, нажимаем Войти.
Логинимся

5. Переходим в кабинет пользователя (ссылка появится) и
нажимаем там на кнопку Включить тестовый период.

6. Переходим вновь на https://speechpad.ru отмечаем флажок Интеграции с OS и нажимаем на кнопку Включить запись.

7. Открываем любое приложение, например Gedit, и диктуем в него.

8. Если вам понравилось пользоваться модулем интеграции, то делаем заказ на включение его на выбранный вами срок.

Пример установки голосового ввода в Ubuntu

Удаление модуля интеграции

Удалять модуль можно, если вы не хотите с ним работать больше.

1. Проверяем права на выполнение для файла uninstall_host.sh и запускаем этот файл в окне терминала.
2. Удаляем папку с модулем интеграции.

Работа с модулем интеграции

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

Для модуля интеграции с Linux не реализован голосовой ввод горячих клавиш.

История версий

13.06.2016 — первая версия

05.11.2016 — исправлена грубая ошибка

07.11.2016 — Поправлена обработка знаков пунктуации и цифр.

Новый инструмент для озвучивания субтитров

Инструменты для озвучивания видео и текста

На сайт голосового блокнота добавлены два инструмента SRT Speaker и TTS Picker, которые могут быть полезны для озвучивания видео с помощью технологии перевода текста в речь.

SRT Speaker

Новый инструмент SRT Speaker, позволяет озвучивать файлы в формате SRT (SubRip). В инструменте предусмотрена возможность отладки, позволяющая подогнать фразы под нужную длину для выбранного голоса.

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

Получаемый звук записывается в файл с помощью виртуального аудио кабеля и любой записывающей программы, например, Audacity. Затем с помощью видеоредактора, например Virtualdub, в исходном видео заменяется звуковая дорожка.

Для примера, можно посмотреть следующее видео, которое создано по этой технологии.

TTS Picker

Приложение Chrome TTS Picker позволяет выбирать текст из списка и озвучивать его выбранным голосом.
утилита TTS Picker

Кнопкам можно назначить горячие клавиши на странице chrome://extensions/.

Зависание голосового ввода

15.11.2016. Пользователи стали говорить, что баг исчез. Поэтому настройка сделана видимой и добавлен пункт «Отключено». Значение, равное 0 в списке параметров URL автоматически отключает ее — https://speechpad.ru/?maxsymb=0

01.04.2016. Для предотвращения зависания голосового ввод Гугл был введен выпадающий список Интервал перезагрузки в символах. Значение по умолчанию установлено в «5». Видимость этого выпадающего списка может быть установлена в настройках интерфейса в кабинете пользователя голосового блокнота. Также эта настройка видна по умолчанию в режиме транскрибирования.

установка видимости  интервала перезагрузки в символах
Выпдающий список выбора интервала перезагрузки в символах

Задать этот интервал можно и в строке URL голосового блокнота, задав параметр maxsymb, например, https://speechpad.ru/?maxsymb=25.

Голосовой ввод горячих клавиш в Windows

В режиме интеграции с Windows теперь можно вводить горячие клавиши голосом.
Последовательность нажатия клавиш, может быть задана в списке заменяемых слов. Нажатие каждой виртуальной клавиши начинается с префикса \\0x (двойной обратный слэш, ноль, маленький латинский x), затем следует две буквы шестнадцатеричного кода клавиши (код в любом регистре). Например коды: \\0x11 — для клавиши Ctrl, 0x1B — для клавиши ESC. Пробелов и других символов в такой последовательности быть не должно.

На следующем рисунке показан пример задания таких последовательностей.

Задание горячих клавиш

Последовательность \\0x14 активирует клавишу CapsLock. Строчка \\0x11\\0x10\\0x1b означает одновременное нажатие клавиш Ctrl Shift Esc, что приводит к выводу диспетчера задач Windows. Следущие три строчки открывают окно поиска (Ctrl F), переключают язык ввода (Ctrl Shift) и открывают окно справки (F1).

Найти виртуальные коды клавиатуры Windows можно в на этом сайте. Полный список всех виртуальных клавиш можно посмотреть на этом на сайте (виртуальные клавиши для мыши в блокноте работать не будут).

p.s. Нужно обовить модуль интеграции, если он был загружен до 06.03.2016. То есть загрузить zip архив (https://speechpad.ru/ru-speechpad-win-host.zip) и заменить старый файл (ru-speechpad-host.exe) в папке модуля интеграции на новый.

Закрепление окна блокнота над всеми окнами

28.02.2016. В голосовом блокноте теперь можно закреплять его окно над другими. Для этого нужно скачать и установить модуль интеграции и расширение блокнота, интеграция с OS при этом может быть не включена.

Флажок Показывать SpeechPad поверх окон находится в настройках расширения. Если его отметить, то вновь открытое окно блокнота будет расположено поверх других окон.

Настройка показа над всеми окнами

20.05.2015. Для ввода данных в офисные приложения на компьютере с помощью голосового блокнота его окно можно закрепить над всеми окнами. В Windows для этого можно использовать специальные свободно распространяемые программы: DeskPins (в восьмерке не работает), Windows Topmost control (работает в последних версиях Windows).

В Linux особой надобности в таких программах нет, так как закрепить окно можно средствами самой систем (надо щелкнуть правой кнопкой мыши на заголовке окна и выбрать пукт On Top).

Использование ярлыков Chrome для URL голосового блокнота с параметрами позволяет обеспечить независимость окна блокнота от остальных окон Chrome, в результате оно может работать как маленькая панель запуска и контроля состояния записи в режиме интеграции.

блокнот поверх остальных окон

Последние изменения в голосовом блокноте

Последние важные изменения в блокноте публикуются в твиттере. Подпишитесь на него и будете всегда в курсе.

22.05.2017. Выпущена версия голосового блокнота для операционной системы Android.

17.03.2017. Полученный текст в инструменте субтитров в реальном времени теперь автоматически сохраняется.

19.01.2017. Добавлена кнопка Вырезать. Кнопка по умолчанию скрыта (нужно включить ее в настройках интерфейса). Вышла версия 9.0 расширения для учета этих изменений.

09.01.2017. Подключена автоматическая система включения расширенных возможностей блокнота при оплате. Включение теперь происходит в момент оплаты.

29.11.2016. Изменен формат меток времени (знаки для них) в результатах транскрибации.

21.11.2016 Настройка Число символов до перезагрузки теперь по умолчанию отключена и скрыта.

05.11.2016. Обновлен модуль интеграции с Linux. Исправлена серьезная ошибка в работе модуля.

29.09.2016. На панель транскрибирования добавлен ползунок управления скоростью воспроизведения.

19.09.2016. На сайт добавлен тест для проверки произношения при чтении.

18.09.2016. Поправлен код в инструменте произношения в связи с изменениями в web audio API.

02.09.2016. Изменено местоположение кнопок and A/a.

13.08.2016. Добавлена горячая клавиша включения/выключения проигрывателя.

11.08.2016. Перекомпонована панель транскрибирования, добавлена кнопка скрытия панели записи. Улучшена работа с кнопками редактирования текста: пунктуации, забоя, изменения регистра.

30.07.2016. Транскрибирование аудио файлов длинной более 15 минут теперь относится к расширенным возможностям блокнота и включается вместе с интеграцией с OS в профиле пользователя.

24.07.2016. Добавлен TTS Picker — инструмент для озвучивания текста, выбранного из списка.

21.06.2016. Добавлена голосовая команда Прописные буквы. Команда работает аналогично кнопке AA в интерфейсе блокнота. И кнопка и команда теперь действуют в режиме интеграции и копирования в буфер обмена.

13.06.2016. В голосовой блокнот добавлена интеграции с Linux.

10.05.2016. Текст вверху страницы теперь отключен для зарегистрированных пользователей. Раньше его видимость управлялась в настройках интерфейса, теперь такой настройки нет.

24.04.2016. Улучшена работа кнопки Отменить.

Как обновить блокнот

Расширение обновляется автоматически. Скрипт на самом сайте обновляется, но вам может потребоваться обновить страницу на сайте по клавише Ctrl + F5, а то он кэшируется.

Модуль интеграции должен быть обновлен вами самостоятельно со страницы https://speechpad.ru/blog/windows-integration/». Для его обновления нужно скачать архив и просто заменить старый файл ru-speechpad-host.exe на новый.

Транскрибирование аудио файлов

Перевод аудио в текст в модуле транскрибирования основывается на подаче звука с колонок на микрофон. Это можно достичь либо, положив микрофон к колонкам, либо посредством аудио кабеля, как физического, так и виртуального. Можно также использовать стерео микшер.

Транскрибирование звуковых файлов длинной более 15 минут относится к расширенным возможностям блокнота. За них взимается небольшая плата. Чтобы попробовать или оплатить ее, нужно зарегистрироваться на сайте и зайти в кабинет пользователя голосового блокнота (появится оранжевая ссылка).

Панель перевода аудио в текст открывается после нажатия на кнопку +Транскрибацию на главной странице сайта.
панель транскрибирования

На приведенной картинке я обвел красным то что относится к этому модулю и перечеркнул, то что использовать вместе с ним не надо. То есть не нужно включать флажки вывод в буфер и интеграции. Поле Длина буфера фраз не дает накапливаться тексту в поле предварительного просмотра (актуально при использовании виртуальных или физических кабелей).

Переключатель Защита от шумов используется для борьбы с зависанием ввода в шумных видео.

Для загрузки видео с Youtube в модуль нужно ввести его ID.
загрузка ролика в панель

Транскрибирование может вестись в двух режимах, зависящих от установки флажка Запускать синхронно с записью. Когда этот флажок включен, то нажатие на кнопку включить запись одновременно включает проигрыватель, а остановить запись — останавливает его.

Весь алгоритм работы в этом случае заключается:
1) в загрузке ролика или файла в проигрыватель
2) обеспечению поступления звука с ролика на микрофон
3) Выставлению настроек, отметке флажка вставлять метки времени
3) нажатию на кнопку запуска.

Если флажок Запускать синхронно с записью не установлен то появляется панель задания времен паузы и работы.

панель пауза/работа

При таком режиме кнопка включить воспроизведение запустит проигрыватель в прерывистом режиме, то есть после 5 секунд (как задано на нашем рисунке) воспроизведения он будет останавливаться на 5 секунд паузы. Кнопка же включить запись от нее не зависит. Если время паузы и время воспроизведения не установлены, то работает просто кнопка включить/отключить воспроизведение.

Такой режим может быть использован для полуавтоматического транскрибирования. При этом режиме роль виртуального аудио кабеля играет человек — он прослушивает запись в течении времени воспроизведения и надиктовывает ее в течение времени паузы.

Обработка текста после транскрибирования

Текст получаемый методом распознавания речи содержит ошибки. Для его исправления используются метки времени, полученные при транскрибировании. В этом режиме нужно также отключить флажок запускать синхронно с записью или воспользоваться горячей клавишей запуска/останова проигрывателя для расширения блокнота.

Алгоритм исправления следующий:
1) текст с метками сначала приводится к более удобному виду последовательным нажатием кнопок метки в SRТ и SRT в метки
2) выставляется флажок запуск с меток времени
2) курсор устанавливается на нужное место текста
3) с помощью горячей клавиши или с помощью кнопки включить/выключить проигрыватель прослушивается данный кусок записи (срабатывает ближайшая слева от курсора метка времени)
4) вручную или при использовании кнопок блокнота редактируется текст
5) метки убираются нажатием на кнопку убрать метки времени, или текст приводится к формату SRT (если делаются титры для Youtube)

Транскрибирование аудио в автоматическом режиме

Транскрибирование методом проговаривания

Ошибки и сложности при транскрибировании