Festival (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
Festival
. Дата последней синхронизации: 12 марта 2026. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Speech dispatcher
Festival
— это многоязычная система синтеза речи, разработанная CSTR (
Centre for Speech Technology Research
).
Она предлагает основу для построения систем синтеза речи, а также включает примеры различных модулей. В целом, она предлагает преобразование текста в речь через несколько API: на уровне командной оболочки, через интерпретатор команд Scheme, как библиотека C++, из Java и интерфейс Emacs. Festival является мультиязычным (в настоящее время это британский английский, американский английский, итальянский, чешский и испанский, другие языки доступны в прототипе).
Установка
Установите
пакет
festival
и какие-нибудь голосовые пакеты:
festival-english
— британский и американский английский языки;
festival-us
— американские мужчина/женщина и шотландский мужчина;
festvox-ru
AUR
— русский.
Больше голосовых пакетов есть в
AUR
.
Настройка
Глобального файла конфигурации в
/etc/
нет, но можно создать пользовательский файл
~/.festivalrc
, или редактировать непосредственно
/usr/share/festival/festival.scm
. Оба эти файла являются файлами Scheme, используют синтаксис Scheme и перезапускаются при каждом запуске festival.
Звуковой сервер
Вы должны выбрать звуковой сервер (
PulseAudio
или
ALSA
). Следующие настройки позволяют Festival работать, если уже воспроизводится звук из других источников.
Для PulseAudio:
(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:
[1]
(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-ru
AUR
):
(set! voice_default voice_msu_ru_nsh_clunits)
Примечание
Если команда выше не работает, попробуйте добавить в начало названия голоса
'
:
(set! voice_default 'voice_cmu_us_rms_cg)
Добавьте её в файл
/usr/share/festival/siteinit.scm
, чтобы задать новый голос по умолчанию для всех пользователей.
Ручная установка голосов
Вы также можете получить голоса напрямую из Festvox
[2]
[3]
. Файлы для загрузки различных голосов имеют  вид  "festvox_*.tgz". Чтобы их задействовать, необходимо распакованный архив переместить в каталог, содержащий голос. На данный момент для Arch подходящей директорией является
/usr/share/festival/voices/
с соответствующей подкаталогом для голоса из 'festvox'.
Поддержка русского языка
Стандартная установка Festival не знает про существование русского языка. Можно просто прописать использование голоса
msu_ru_nsh_clunits
из пакета
festvox-ru
AUR
, но если вы хотите, чтобы опция
--language russian
тоже работала, то можно отредактировать файл
/usr/share/festival/languages.scm
.
В начале файла допишите:
(define (language_russian)
 "(language_russian)
  Set up language parameters for Russian."
  (set! male1 voice_msu_ru_nsh_clunits)
  (male1)
  (Parameter.set 'Language 'russian)
)
и в этом же файле после строки
(define (select_language language)
и перед любой строкой
((equal?
добавьте:
((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 не остановит продолжение воспроизведения звука.
Чтобы остановить воспроизведение звука, нужно завершить дочерние процессы
audsp
. Это можно сделать с помощью команды:
$ pkill -v audsp
Сервер
Для использования Festival с
Speech dispatcher
(например, для режима чтения в Firefox) установите
festival-freebsoft-utils
AUR
.
Смотрите также
Руководство Festival
List of applications/Other#Speech synthesizers
Банк скриптов для голосового движка Festival
[
устаревшая ссылка
2025-11-16 ⓘ]
Учим компьютер говорить по-русски / Festival скрипты
Говорящий пингвин. Учим Linux говорить и слушать