Голосовая читалка для linux

Существуют ли программы под Linux для чтения текста голосом?

Здравствуйте. Существуют ли для Linux (Debian/Ubuntu) какие-либо программы с GUI, которые могут проговаривать русским голосом загруженный текст?

Ой, надо с GUI, прочитал только заголовок. Тогда не знаю, какая-нибудь морда к тому же festival наверняка есть

Вообще есть KDE’шный Jovie. А лучший синтезатор — RHVoice.

Пытался как то ихнюю «Алёну» заставить выговаривать слово «серверная», не очень удачно.

У них в доках, которые были в SDK, лажовые описания синтаксиса лежали (ну, для подсказок, ударения всякие там). Помнится, долго боролся с их техподдержкой, т.к. у нас лицензия была какая-то не совсем правильная :), но выпытал у них документацию. С ней уже ударения ставились правильно. А по дефолту было стремно. Не знаю, как сейчас, это было лет 5 назад. Там на сайте демо есть, но лень проверять, есть ли русский язык вообще. Фестиваль почему-то не стали использовать, решение не я принимал, уж не знаю в чем причина.

Источник

Menestrel — приложение для озвучивания текстов на русском языке

Menestrel — приложение для озвучивания текстовых документов, веб-страниц и электронных книг на русском языке, разработанная на основе синтезаторов речи Festival и ru_tts.

Menestrel поддерживает следующие форматы файлов:

  • обычные текстовые файлы с кодировками UTF-8, CP1251, KOI8-R, ISO-8859-5;
  • HTML-файлы;
  • файлы в формате OpenDocument (ODT);
  • файлы в формате Microsoft Document (DOC);
  • файлы в формате FictionBook (FB2)

Файлы всех вышеперечисленных форматов могут быть предварительно помещены в ZIP-архив.

Основные возможности приложения:

  • озвучивание:
    • файлов указанных выше форматов;
    • скопированных и вставленных в поле воспроизведения фрагментов текста;
    • набранных в поле воспроизведения текстов (с возможностью сохранения набранного);
  • отображение произносимого текста в окне программы и выделение произносимого предложения;
  • сохранение при завершении работы и восстановление при следующем запуске позиции маркера, в которой было завершено озвучивание;
  • установка неограниченного числа закладок и переход по ним, поиск текста;
  • импорт произнесённого текста в звуковые файлы формата WAV или MP3 и списка воспроизведения для использования в качестве аудио-книг.

Проект состоит из двух приложений: Menestrel и Skomoroh, разница между ними в том, что Menestrel основан на базе синтезатора речи Festival, а Skomoroh — на базе синтезатора речи ru_tts.

Приложения написаны на С++ с использованием Qt 4.7 в интегрированной среде разработки QtCreator 2.1.

Благодаря кроссплатформенности Festival, Menestrel доступен как в версии для Linux, так и для Windows.
Skomoroh поставляется исключительно для Linux.

Все исходные тексты в виде проектов QtCreator размещены на странице проекта на sourceforge.

Источник

TTS движки для Ubuntu Linux (Text-to-Speak)

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

Я расцениваю TTS движки только в качестве одной из компонент для реализации системы «Умного дома». Книги на русском они читают терпимо-ужасно, озвучивать сообщения и прочие обрывки информации мне не нужно. Мне нужен TTS для решения единственной задачи — обратная связь с системой умного дома.

Читайте также:  Нам не удалось связаться с важной службой windows активация

Ниже я приведу список существующих TTS движков и субъективную оценку качества озвучки русского текста.

Демо примеры озвучки

  1. Festival;
  2. Nuance Loquendo (Demo  ) — голос Olga лучший на текущий момент, но штука платная;
  3. RHVoice  (Demo, Установка RHVoice  );
  4. Open Mary (Demo  ) — ниже среднего;
  5. Espeak (Demo) — с русским все очень плохо;
  6. Платные движки (Demo  );
  7. Acapela (Demo  ) — голос Alena, качество не особо;

RHVoice

Довольно хороший TTS движок от Ольги Яковлевой (Github  ).

Пример консольной команды:

ESpeak

FestVox

Это ще один TTS. Поддерживает русский текст. Голосовой пакет весит 196MB. Виндовые бинарники тут  .

На многих форумах рекомендуют править конфиг

Источник

Pocketsphinx. Распознавание речи и голосовое управление в Linux

— Всё в порядке, Лёня?
Динамики отрегулированы на максимум, я морщусь, отвечаю:
— Да. Тише звук.
— Звук — тише, — соглашается «Виндоус-Хоум», — тише, тише…
— Хватит, Вика
С.Лукьяненко, «Лабиринт отражений»

Введение

В данной статье я не буду касаться Julius, поскольку гайдов по его использованию (в том числе и в Рунете) хватает. Речь будет идти о CMU Sphinx.

Описание и установка

Не забудьте после установки выполнить:

Для работы с /dev/dsp установим согласно FAQ пакет oss-compat.

Базовое использование

/sphinx.
Синтаксис нашей команды таков:

-argflie: имя файла в текущей директории, содержащего все аргументы.
stderr для удобства перенаправим в файл.
Содержимое argfile:

-hmm: путь к каталогу, содержащему файлы акустической модели (шаблоны отдельных звуков).
-lm: путь к файлу триграммной языковой модели (можете почитать здесь).
-dict: путь к файлу словаря произношения.
-cepdir: путь к каталогу со звуковыми файлами. Будьте внимательны: если вы вносите -cepdir в файл аргументов, то сокращенный путь

/sphinx обрабатывается неправильно: приходится писать полный путь. Если вы будете прописывать аргумент после команды, то можете использовать сокращенный путь.
-ctl: файл с именами обрабатываемых файлов. Файл goforward.raw мы возьмем из комплекта исходников pocketsphinx (там есть еще пару файлов *.raw — можете распознать и их).
-cepext: расширение обрабатываемых файлов
-adcin: указатель принадлежности обрабатываемого файла к raw.
-hyp: имя файла, в который будет выведен распознанный текст.
Аргументы с путями к файлам моделей указывать обязательно. Помните, что многие параметры заданы по умолчанию (смотрите stderr). Поэтому для работы с файлом *.raw необходимо принудительно указать расширение, иначе будет использован параметр по умолчанию — расширение .mfc (а таких файлов у нас в базовом примере, естественно, нету — будут сыпаться ошибки).
В результате исполнения у нас в файле outname будет следующее содержимое:

Параллельно можете посмотреть, откомпилировать и запустить в каталоге с файлом goforward.raw программку аналогичного назначения на C (пример от разработчиков).
Для проверки на своих примерах я решил не мудрствовать и воспользовался sox (проверьте, установлен ли этот пакет у вас).
Писать звук будем следующим образом (можете почитать man sox ):
— для raw

Окончание записи по Ctrl+C .
У меня sox при этом ругался на невозможность использования частоты дискретизации: can’t set sample rate 16000; using 48000 . Учтите: нагло лжет — на самом деле все в порядке.
Я писал и распознавал raw и wav на различных примерах из подключенных словарей — все распознавалось вполне приемлимо.

Читайте также:  Редактор html кода windows

Адаптация звуковой модели

Скачиваем по первой ссылке предлагаемые файлы в отдельную директорию, в которой и будем работать.
Теперь надиктуем предложения из файла arctic20.txt по образцу: у вас должно получиться двадцать файлов, названных по порядку согласно схеме arctic_0001.wav . arctic_0020.wav .
Чтобы упростить запись, воспользуемся предложенным скриптом:

Соответственно, чтобы прослушать полученное, выполним:

Скопируем акустическую модель (с которой мы и работали) из /usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k в нашу рабочую директорию.
Теперь создадим файлы акустических особенностей (напоминаю: работаем в директории с файлами *.wav).

В результате получаем файлы *.mfc.
Скачиваем экстра-пак (89,0 МБ); файл под названием mixture_weights из него, расположенный в pocketsphinx-extra/model/hmm/en_US/hub4_wsj_sc_3s_8k.cd_semi_5000 помещаем в каталог с акустической моделью.
Также необходимо конвертировать mdef-файл акустической модели в текстовый формат:

Теперь, согласно терминологии гайда по адаптации, соберем накопленные данные. Скопируем утилиту bw из /usr/local/libexec/sphinxtrain/bw в рабочий каталог (перед этим не забудьте установить sphinxtrain!).

Запускаем и видим:
SYSTEM_ERROR: «corpus.c», line 339: Unable to open arctic20.fileids for reading: No such file or directory
Очевидно, правая рука у разработчиков не ведает, что творит левая (про неактуальность части документации я уже не говорю).
Переименовываем в рабочем каталоге файл arctic20.listoffiles в arctic20.fileids
Теперь все работает.
Произведем MLLR-адаптацию (эффективна для ограниченного объема данных в модели):

Эта команда создаст файл адаптационных данных mllr_matrix .
Теперь при распознавании с адаптированной моделью можно добавлять параметр -mllr /path/to/mllr_matrix .
Параллельно произведем другой метод адаптации: MAP.

Сделаем копию модели:

И произведем MAP-адаптацию:

Теперь создадим sendump файл, отличающийся меньшим размером:

Тестирование адаптации

Проверяем (помните, что адаптация не приведет к стопроцентно верному результату: адаптированные модели будут точно так же ошибаться; плюс в том, что они будут делать это реже. Мои вполне наглядные записи были сделаны далеко не с первой попытки: было достаточно записей, где ошибались все модели):
1. Распознавание с помощью базовой модели:

2. Распознавание с помощью модели с MLLR-адаптацией: при указании параметром -mllr пути к моей матрице происходила ошибка сегментирования (копаться я не стал). При распознавании без этой опции результат полностью идентичен результату оригинальной модели.
Впрочем, в мануале заявлено, что MLLR-адаптация лучше всего подходит для непрерывной модели (т.е. для Sphinx4).
3. Распознавание с помощью модели с MAP-адаптацией:

Как можно убедиться, результат полностью идентичен записи. Адаптация реально работает!

Русский язык в Pocketsphinx

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

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

Создание собственной статической языковой модели

Далее создаем словарный файл:

Создаем языковую модель в arpa-формате:

И создаем DMP-модель.

Создание собственного словаря

Тащим с гитхаба утилиты:

Переходим в каталог ./yourdir/text2dict и создаем там текстовый файл my_dictionary с вашим списком слов (каждое новое слово — с нового абзаца).

И вот ваш словарь создан.

Теперь пробуем распознавать слова, присутствующие в словаре (благо, в нашем примере их немного). Не забудьте указать в аргументах собственную языковую модель и словарь — все должно работать. При желании можно произвести адаптацию акустической модели (сразу предупреждаю: при использовании утилиты bw в процессе адаптации для большинства акустических моделей опция -svspec не нужна ).

Использование JavaScript Grammar File вместо статической языковой модели

«|» обозначает условие выбора. Т.е. мы можем сказать «тише» или «закрыть окно». Правда, по сравнению с использованием языковой модели есть один минус: говорить нужно гораздо членораздельнее.
Созданный jsgf-файл указываем с параметром -jsgf (параметр -lm в таком случае не нужен).

Читайте также:  Не могу запустить windows movie maker

Реализация голосового управления

Моей целью не было реализовать крутой интерфейс управления: здесь все будет очень примитивно (если есть желание и возможность, можете посмотреть на заброшенный проект Gnome Voice Control).
Действовать будем следующим образом:
1. Пишем команду, распознаем её.
2. Передаем распознанный текст в файл, в соответствии с ним выполняем команду.
В качестве тестовых команд будем использовать уменьшение и увеличение громкости звука.

Внимательно почитав мануал к sox, я решил оканчивать запись по истечении секунды тишины с порогом тишины в 3.8% (порог явно является сугубо индивидуальным значением и зависит от вашего микрофона и окружающей обстановки).
К сожалению, я не нашел в pocketsphinx_batch параметр вывода только для распознанных слов, поэтому я воспользуюсь инструментом sed :

Эта конструкция удалит из строки вида «наша команда (audio -4023)» пробел перед открывающей скобкой, её саму и все последующее содержимое. В результате мы получим строку вида «наша команда», что нам и нужно.
Вот сам скрипт:

Скрипт в ответ на команды «тише» или «громче» выполняет соответствующие действия с сигнализацией через notify-send.
К сожалению, работать он будет только при запуске из терминала (иначе звук не пишется). Впрочем, представление о голосовом управлении он дает (возможно, вы предложите лучший метод).

Источник

Программы-говоруны в Linux Mint

#1 — 28 января 2020 в 11:41

Установка wine из PPA

Сначала для 64 битных систем необходимо добавить поддержку архитектуры i386:
sudo dpkg —add-architecture i386

Чтобы добавить репозиторий wine ubuntu выполняем:
wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add —
sudo apt-add-repository ‘deb http://dl.winehq.org/wine-builds/ubuntu/ bionic main’
sudo apt-get update

Затем можно устанавливать последнюю стабильную версию:
sudo apt install winehq-stable

Посмотреть версию wine:
wine —version

Запускаеем файл конфигурации wine:
winecfg

Начнётся установка Wine Mono и Wine Gecko
В насторойках wine устанавливаем работу с Windows XP

Устанавливаем winetricks:
sudo apt-get install winetricks

Настройка WinTricks

1) Запускаем WinTricks из консоли:
winetricks
2) Появляется окно «Winetricks — выберите путь wine (wineprefix)»
жмём «OK»
3) Во втором окне «Winetricks — текущий путь для wine (wineprefix)»
выбираем пункт: Установить библиотеку Dll или компанент Windows
жмём «OK»
4) Установливаем DLL библиотеки windows:

d3dx9
msvcirt
speechsdk
vcrun2008
vcrun2010

В выпавшем окне на немецком языке жмём «Ja»
5) Появляется окно установки Microsoft Speech SDK 5.1
жмём «Nent»
соглашаемся с лицензией
вводим User Name
устанавливаем

Также можно установить Windows-шрифты в wine:
В окне «Winetricks — текущий путь для wine (wineprefix)»
выбираем пункт «Установить шрифт»
«OK»
выбираем «corefonts»
«OK»

Балаболка и Говорун+

В нём находится:
— Балаболка 2.15.0
— Говорун+
— Голосовые движки
— Персонажи
— SpeechAPI

Распаковываем и устанавливаем:
1) SAPI4, SAPI5
2) Голосовые движки «Николай», «Милена», «Юрий»
3) Персонажи для Говоруна (запускаем файлы из папки exe)
4) Ставим Балаболку
5) Ставим Говорун+
6) Из архива Говорун+ копируем «Наборы фраз» в корень папки с программой, установленной в wine

Чтобы войти в wine на диск С:Windows (папка drive_c) выбираем во втором окне wintricks пункт «Проводник файлов»

Персонажи находятся здесь: .wine\drive_c\windows\msagent\chars
Говорун+ в папке: .wine\drine_c\Program Files(x86)\Говорун+
__________________________________________________________________

Источник

Оцените статью