Festival (Русский)

Festival - это многоязычная система синтеза речи, разработанная CSTR (Centre for Speech Technology Research). Она предлагает основу для построения систем синтеза речи, а также включает примеры различных модулей. В целом, она предлагает преобразование текста в речь через несколько API: на уровне командной оболочки, через интерпретатор команд Scheme, как библиотека C++, из Java и интерфейс Emacs. Festival является мультиязычным (в настоящее время это британский английский, американский английский, итальянский, чешский и испанский, другие языки доступны в прототипе).

Состояние перевода: На этой странице представлен перевод статьи Festival. Дата последней синхронизации: 25 июля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Установка

Установите пакет festival. Кроме того, необходимо установить один или несколько голосовых пакетов festival-english, festival-us. Русский голос доступен в пакете festvox-ruAUR. Также для Festival доступны и другие голоса; некоторые из них вы можете найти в AUR.

Настройка

Глобального файла конфигурации в /etc/ нет, но можно создать пользовательский файл ~/.festivalrc, или редактировать непосредственно /usr/share/festival/festival.scm. Оба эти файла являются файлами Scheme, используют синтаксис Scheme и перезапускаются при каждом запуске festival.

Звуковой сервер

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

Для PulseAudio, добавить эти строки в конец файла ~/.festivalrc или /usr/share/festival/festival.scm:

(Parameter.set 'Audio_Required_Format 'aiff)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")

Для ALSA:

(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")

Голоса

Arch разделяет набор официальных голосов на festival-us (рекомендуемый) и festival-english. В AUR есть и другие, находящиеся в разном состоянии обслуживания, которые могут работать или не работать в данный момент.

Чтобы узнать, какие голоса в настоящее время установлены и какой из них используется по умолчанию, используйте #Интерактивный режим (REPL scheme). Чтобы навсегда изменить голос по умолчанию, добавьте такую строку в свой файл настроек (пример для русского голоса из пакета festvox-ruAUR):

(set! voice_default voice_msu_ru_nsh_clunits)

Добавьте её в файл /usr/share/festival/siteinit.scm, чтобы задать новый голос по умолчанию для всех пользователей.

Ручная установка голосов

Вы также можете получить голоса напрямую из Festvox . Файлы для загрузки различных голосов имеют вид "festvox_*.tgz". Чтобы их задействовать, необходимо распакованный архив переместить в каталог, содержащий голос. На данный момент для Arch подходящей директорией является /usr/share/festival/voices/ с соответствующей подкаталогом для голоса из 'festvox'.

Поддержка русского языка

Стандартная установка Festival не знает про существование русского языка. Можно просто прописать использование голоса msu_ru_nsh_clunits из пакета festvox-ruAUR, но если вы хотите, чтобы опция тоже работала, то можно отредактировать файл .

В начале файла допишите:

(define (language_russian)
 "(language_russian)
  Set up language parameters for Russian."
  (set! male1 voice_msu_ru_nsh_clunits)
  (male1)
  (Parameter.set 'Language 'russian)
)

и в этом же файле после строки и перед любой строкой добавьте:

((equal? language 'russian)
(language_russian))

Для проверки выполните команду:

$ echo "Арч самый лучший. Я гарантирую!" | festival --tts --language russian

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

Чтение текста из файла:

$ festival --tts текстовый_файл

Чтение выделенного текста:

$ xsel | festival --tts

Преобразование текстового файла в mp3-файл:

$ text2wave текстовый_файл | lame - текст.mp3

Создание аудиофайла с указанными голосом:

$ text2wave -o вывод.wav -eval '(voice_msu_ru_nsh_clunits)' текстовый_файл

Интерактивный режим

Festival имеет командную строку, которая вы можете использовать для тестов. Для её запуска введите команду festival. Несколько примеров:

Посмотреть голос, используемый по умолчанию:

voice_default

Список доступных голосов:

(voice.list)

Установить голос:

(voice_msu_ru_nsh_clunits)

Произнести:

(SayText "Арч делает меня счастливым")

Список доступных команд:

help

Выход - ctrl+d или набрать:

(quit)

Решение проблем

Can't open /dev/dsp

Если festival возвращает следующую ошибку:

Linux: can't open /dev/dsp

Смотрите раздел #Звуковой сервер выше.

Воспроизведение через alsa с неправильной скоростью

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

(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -Dplug:default -f S16_LE -r $SR $FILE")

Команда aplay не найдена

Установите пакет alsa-utils.

Завершение процесса festival не останавливает аудио

Завершение фонового процесса festival не остановит продолжение воспроизведения звука.

Чтобы остановить воспроизведение звука, нужно завершить дочерние процессы . Это можно сделать с помощью команды:

$ pkill -v audsp

Сервер

Для использования Festival с (например, для режима чтения в Firefox) установите .

Смотрите также

gollark: 🐝❗
gollark: Or minoteaur.
gollark: When osmarksßsearchængine™ is remade, I'm going to add a mechanism for keyword-based adverts for purposes, so I can arbitrarily advertise haskell to people.
gollark: You need an `async` keyword.
gollark: Impressive.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.