SCROLL
Среднее время на прочтение: 2 мин.

Установка из исходников синтезатора речи Festival 2.4 на Ubuntu 14.04 Trusty Tahr. Добавление в синтезатор Festival поддержку русской речи.

Наткнулся недавно на такую замечательную программу Festival. Данная утилита является синтезатором речи, а именно с помощью нее можно заставить ваш ПК читать тексты, записывать прочтенный текст в звуковой файл. Мне показалась данная программа интересной и я решил разобрать как установить ее на Ubuntu 14.04 Trusty Tahr.

 

Собирать я решил из исходников и последнюю версию на данный момент 2.4. В репозиториях Ubuntu 14.04 Trusty Tahr находится версия 2.1. Так же разобрал как заставить Festival говорить по-русски.

 

Создаем временный каталог, куда будем скачивать необходимые файлы для сборки Festival

sudo mkdir /usr/src/temp

Переходим в созданный каталог

cd /usr/src/temp

Скачиваем архивы сборки Festival

sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/speech_tools-2.4-release.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festival-2.4-release.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_CMU.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_OALD.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/festlex_POSLEX.tar.gz

Распаковываем скачанные архивы

sudo tar -zxvf speech_tools-2.4-release.tar.gz -C /usr/src/
sudo tar -zxvf festival-2.4-release.tar.gz -C /usr/src/
sudo tar -xvf festlex_CMU.tar.gz -C /usr/src/
sudo tar -xvf festlex_OALD.tar.gz -C /usr/src/
sudo tar -xvf festlex_POSLEX.tar.gz -C /usr/src/

Установим зависимость, для успешной сборки пакетов

sudo apt-get install libncurses-dev

Теперь можно приступать к сборке пакетов. Сперва соберем пакет speech_tools:

cd /usr/src/speech_tools
sudo ./configure
sudo make
sudo make install

Теперь собираем пакет festival:

cd ..
cd festival
sudo ./configure
sudo make
sudo make install

Добавляем в PATH путь до бинарных файлов:

export PATH=$PATH:/usr/src/festival/bin/

Переходим во временный каталог:

cd /usr/src/temp

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

sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/kal_diphone.tar.gz
sudo wget http://jakondo.ru/wp-content/uploads/file-manager/Festival/msu_ru_nsh_clunits-0.5.tar.bz2

Создаем каталоги для расположения речевых данных:

sudo mkdir -p /usr/src/festival/lib/voices/english
sudo mkdir -p /usr/src/festival/lib/voices/russian

Распаковываем архив с английской речью:

sudo tar -zxvf kal_diphone.tar.gz -C /usr/src/festival/lib/voices/english/

Распаковываем архив с русской речью:

sudo tar -jxvf msu_ru_nsh_clunits-0.5.tar.bz2 -C /usr/src/festival/lib/voices/russian/

 

Внесем необходимые настройки для воспроизведения русской речи. Редактируем файл настройки языков:

sudo nano /usr/src/festival/lib/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)
)

Находим строки:

((equal? language 'americanenglish)
 (language_american_english))

Ниже вставляем следующие строки:

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

Сохраняем и закрываем файл настроек. На этом установка и настройка Festival завершена. Проверим работу программы, воспроизведем текст на английском:

echo "Hello world" | festival --tts

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

echo "Привет" | festival --tts --language russian

Если все сделали правильно, то услышим голос на английском и на русском.

 

Если нужно установить использование русского голоса по-умолчанию, то редактируем файл:

sudo nano /usr/src/festival/lib/siteinit.scm

Перед текстом:

(provide 'siteinit)

Пишем следующее:

(set! voice_default 'voice_msu_ru_nsh_clunits)

Теперь чтобы услышать воспроизведение на русском не нужно использовать ключ —language russian.

 

Festival так же может указанный текст записать в звуковой файл wav:

cat test.txt | text2wave > test.wav

Вот так можно указать какой речевой язык использовать при создании звукового файла (пример. использовать русский язык):

cat test.txt | text2wave > test.wav -eval '(voice_msu_ru_nsh_clunits)'

Если необходимо задать битрейт для выходящего звукового файла, то команда будет выглядеть так:

cat test.txt | text2wave > test.wav -F 8000

Запись воспроизведения текста с последующей конвертацией звукового файла в формат mp3:

cat text.txt | text2wave | lame - test.mp3

 

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

echo "До+брый день.. Хочу сказать спас+ибо Жак+онде. за предоставленный материал" | festival --tts --language russian

 

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

 

Понравилась или оказалась полезной статья, поблагодари автора

 

Обсуждение

0 комментариев

Нет комментариев.