Установка из исходников синтезатора речи 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
С помощью данного синтезатора речи, можно реализовывать интересные вещи, с которыми я по возможности буду делится.
Понравилась или оказалась полезной статья, поблагодари автора
Обсуждение
Нет комментариев.