UnixWarez Петр Семилетов Хакер, номер #088, стр. 088-131-1 (www.roxton.kiev.ua) ESpeak POSIX (*BSD, Linux, Solaris...) Размер (исходник в zip): 313 Кб. Лицензия: 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...) |