Синтез речи в GNU/Linux
Добавлено: 25 авг 2020 18:32
У нас на форуме много людей используют TTS на Windows или Android, а вот упоминаний о Linux я не встречал довольно давно. Пока не буду создавать отдельные категории для обсуждения этого дела. Посмотрим, на сколько это будет нужно и интересно.
Здесь я постараюсь рассказать о тех проектах, которые мне известны и чем наиболее реально можно пользоваться в наше время. Не нужно этот текст воспринимать как обзорную статью. Это лишь мой опыт. И так: если в Windows есть определённый стандарт работы программы оболочки и движка, такой как Sapi, то в Linux, как я понимаю, такого нет. Там гораздо чаще можно увидеть реализацию взаимодействия программы клиента и движка напрямую. Лично я хоть и видел такие проекты, но особо с ними не взаимодействовал. Мне в Linux нужно было использовать синтез, как вывод для экранного диктора "Orca", ну и для чтения книг. В моём случае взаимодействие происходило через речевой сервер Speech dispatcher. Если говорить о синтезаторах, то самым качественным и пригодным для нас я считаю RHVoice. К сожалению, в виде нормальных пакетов для популярных дистрибутивов последних версий нет. Придётся собирать из исходников. Если будет нужно, инструкцию по сборке и подключению к Speech dispatcher в Ubuntu или Debian могу выложить. Для Archlinux он есть в AUR. Словари и конфиги выглядят так же, как и на Windows и Android. По-мима хорошего качества и гибкости, он обладает и хорошим откликом. Если использовать его с Orca, это может быть очень важно. Ещё есть проект Voxin. Он предоставляет голоса IBM TTS и Nuance Vocalizer для многих языков. Украинские и русские голоса Vocalizer есть. Конечно же, синтезатор коммерческий. Один голос стоит примерно 1700 Руб. Цена может меняться в зависимости от выбранного качества. Я использовал компактную версию Кати. В целом всё довольно хорошо. Есть некоторые глюки, но их обещали вскоре устранить. К примеру, иногда при чтении у меня проглатывались даты определённого формата. Особых настроек сам синтезатор пока не имеет. Можно установить на Ubuntu, Debian, Fedora, Opensuse, Gentoo, Arch. Хоть последний и был заявлен на сайте, мне там голос установить не удалось. Есть также проект Игоря Порецкого. В него входит чуть изменённая версия Emacs, надстройка "Emacspeak" для поддержки речевого вывода и речевой сервер "Multispeech" его разработки. Он позволяет осуществлять автоматическое переключение голосов при чтении мультиязычных текстов. Для русского задействован его собственный синтезатор "RuTTS". Голос этот можно услышать под Windows в программе BookMania, а под Android - в приложении "Nefonit TTS". Что самое интересное, хоть голос и один, но по факту одинакова только речевая база. Авторы у этих синтезаторов разные. У RuTTS есть большой словарь Rulex. для чтения остальных языков Multispeech использует голоса проекта Mbrola. Всё это великолепие конечно же можно задействовать и не из Emacs. Если говорить про саму Mbrola, установить их голоса можно отдельно. Они есть в репозиториях всех популярных дистрибутивов, но если нужно подключить их к Orca, придётся поплясать с бубном. Ещё среда Linux может нам предложить Espeak. Открытый, лёгкий, мультиязычный, но по качеству - так себе... По умолчанию он используется везде, где только можно. Есть почти во всех репозиториях. В Ubuntu вместе со Speech dispatcher и Orca установлен изначально. Для русского можно ещё попробовать Festival TTS. В интернете есть много примеров его использования и инструкций по установке. Качеством он не отличается, да и с Orca очень сильно тормозит. Ещё можно вспомнить очень маленький синтезатор Pyco TTS. Раньше он использовался в Android. Есть в репозиториях Ubuntu, но русский он не поддерживает. Теперь о читалках. В Emacs можно использовать утилитку R-book, а из отдельных программ есть Foliate. На этом пока всё. Если кто обладает большей информацией, прошу уточнить и дополнить.
Здесь я постараюсь рассказать о тех проектах, которые мне известны и чем наиболее реально можно пользоваться в наше время. Не нужно этот текст воспринимать как обзорную статью. Это лишь мой опыт. И так: если в Windows есть определённый стандарт работы программы оболочки и движка, такой как Sapi, то в Linux, как я понимаю, такого нет. Там гораздо чаще можно увидеть реализацию взаимодействия программы клиента и движка напрямую. Лично я хоть и видел такие проекты, но особо с ними не взаимодействовал. Мне в Linux нужно было использовать синтез, как вывод для экранного диктора "Orca", ну и для чтения книг. В моём случае взаимодействие происходило через речевой сервер Speech dispatcher. Если говорить о синтезаторах, то самым качественным и пригодным для нас я считаю RHVoice. К сожалению, в виде нормальных пакетов для популярных дистрибутивов последних версий нет. Придётся собирать из исходников. Если будет нужно, инструкцию по сборке и подключению к Speech dispatcher в Ubuntu или Debian могу выложить. Для Archlinux он есть в AUR. Словари и конфиги выглядят так же, как и на Windows и Android. По-мима хорошего качества и гибкости, он обладает и хорошим откликом. Если использовать его с Orca, это может быть очень важно. Ещё есть проект Voxin. Он предоставляет голоса IBM TTS и Nuance Vocalizer для многих языков. Украинские и русские голоса Vocalizer есть. Конечно же, синтезатор коммерческий. Один голос стоит примерно 1700 Руб. Цена может меняться в зависимости от выбранного качества. Я использовал компактную версию Кати. В целом всё довольно хорошо. Есть некоторые глюки, но их обещали вскоре устранить. К примеру, иногда при чтении у меня проглатывались даты определённого формата. Особых настроек сам синтезатор пока не имеет. Можно установить на Ubuntu, Debian, Fedora, Opensuse, Gentoo, Arch. Хоть последний и был заявлен на сайте, мне там голос установить не удалось. Есть также проект Игоря Порецкого. В него входит чуть изменённая версия Emacs, надстройка "Emacspeak" для поддержки речевого вывода и речевой сервер "Multispeech" его разработки. Он позволяет осуществлять автоматическое переключение голосов при чтении мультиязычных текстов. Для русского задействован его собственный синтезатор "RuTTS". Голос этот можно услышать под Windows в программе BookMania, а под Android - в приложении "Nefonit TTS". Что самое интересное, хоть голос и один, но по факту одинакова только речевая база. Авторы у этих синтезаторов разные. У RuTTS есть большой словарь Rulex. для чтения остальных языков Multispeech использует голоса проекта Mbrola. Всё это великолепие конечно же можно задействовать и не из Emacs. Если говорить про саму Mbrola, установить их голоса можно отдельно. Они есть в репозиториях всех популярных дистрибутивов, но если нужно подключить их к Orca, придётся поплясать с бубном. Ещё среда Linux может нам предложить Espeak. Открытый, лёгкий, мультиязычный, но по качеству - так себе... По умолчанию он используется везде, где только можно. Есть почти во всех репозиториях. В Ubuntu вместе со Speech dispatcher и Orca установлен изначально. Для русского можно ещё попробовать Festival TTS. В интернете есть много примеров его использования и инструкций по установке. Качеством он не отличается, да и с Orca очень сильно тормозит. Ещё можно вспомнить очень маленький синтезатор Pyco TTS. Раньше он использовался в Android. Есть в репозиториях Ubuntu, но русский он не поддерживает. Теперь о читалках. В Emacs можно использовать утилитку R-book, а из отдельных программ есть Foliate. На этом пока всё. Если кто обладает большей информацией, прошу уточнить и дополнить.