Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #88, АПРЕЛЬ 2006 г.

UnixWarez

Петр Семилетов

Хакер, номер #088, стр. 088-131-1


(www.roxton.kiev.ua)

ESpeak

POSIX (*BSD, Linux, Solaris...)

Размер (исходник в zip): 313 Кб.

http://espeak.sourceforge.net

Лицензия: GNU GPL

До сих пор в мире Linux я знал только один синтезатор речи — знаменитый Festival. А недавно открыл для себя еще один — Speak (а проект на SF называется ESpeak). Он меньше, чем Festival, и устанавливается из исходника без каких-либо проблем. Для обеспечения звукового вывода используется библиотека PortAudio. Она может быть уже установлена, если у тебя есть Audacity. Кроме самой библиотеки, нужен пакет с ее заголовками.

В каталоге исходника лежит одинокий makefile, то есть, чтобы собрать проект, не надо запускать скрипт configure — достаточно просто дать команду make. Однако этот подготовленный заранее makefile не поддерживает цель install, и команда make install не сработает. Надо установить части скомпилированной программы вручную.

Как? Очень просто. Сам бинарник speak надо скопировать в видимый для системы каталог бинарников, например в /usr/local/bin. В каталоге исходников есть также директория speak-data. Ее нужно скопировать в /usr/share, чтобы у тебя получился каталог /usr/share/speak-data, либо в домашний каталог, чтобы в итоге получился такой путь к файлам голоса: ~/speak-data.

Пока Speak поддерживает только английский язык, а также в экспериментальном режиме - немецкий и эсперанто. Есть несколько голосов, из которых два основных - мужской и женский английские. Мужской включен по умолчанию. Чтобы включить женский, надо использовать параметр '-v en-f'. Выходит так, будто некая тетенька говорит, зажав пальцами нос. Но тембры звучат живее, эмоциональнее, чем в Festival.

Чтобы попросить speak проговорить текстовый файл, надо дать команду:

# speak -f имя файла

Speak довольно бодро и разборчиво прочитал мне тексты песен группы Nirvana из обычных текстовых файлов. Программа может работать в интерактивном режиме. Просто даешь команду speak и в ней набираешь текст. После каждого нажатия на Enter, программа говорит набранную строку.

Другие способы работы со Speak. Проговорить некий текст с помощью speak можно, перенаправив в speak вывод другой программы. Например, слово "hello" воспроизведем так:

# echo "hello" | speak

А чтобы прикрутить speak к речевой системе KDE - KDE Text-to-Speech (KTTS), надо в настройках KTTS задать команду (там, где задается команда воспроизведения речи):

# cat %f | speak --stdin -w %w

Посмотрим еще на несколько интересных параметров Speak:

-a <уровень громкости> - по умолчанию 10, может быть от нуля до 20.

-s <сколько слов в минуту> - по умолчанию 160.

-l <пауза между строками> - ноль по умолчанию.

-w <имя wav-файла для вывода> - запись голоса в волновой файл.

Кроме того, существуют опции управления голосом, например формантами (частотами, присущими человеческому голосу), но эти подробности читай в документации.

Speak производит очень хорошее впечатление, и можно предположить, что скоро он станет по популярности вровень с Festival или даже опередит его.

Tellico

POSIX (*BSD, Linux, Solaris...)

Содержание  Вперед на стр. 088-131-2