Get Adobe Flash player

postheadericon Учим PCLinuxOS говорить по-русски

В Linux на первом месте по преобразованию текста в речь стоит многоязычная система синтеза речи Festival. В данной статье будет рассказано, как сделать, чтобы Festival не просто заговорил, а заговорил по-русски. Кстати, после установки он вообще не говорит и выдает ошибки :)

1. Для начала необходимо установить через Synaptic два пакета: festival 1.96 (с более поздними версиями русский голос работать не будет) и speech_tools. *

2. Подключить репозиторий rpm http://repo.pclinuxos.su/rulinuxos/apt/ etc/2011 main и установить оттуда русский синтетический голос festvox_msu_ru_nsh_clunits.

3. От rootа сделать русский язык одним из языков по умолчанию, чтобы не указывать это каждый раз при чтении русских текстов. Для этого в конце файла /usr/share/festival/lib/voices.scm найти секцию defvar default-voice-priority-list и добавить строчку нашего языка msu_ru_nsh_clunits.

4. Затем в начале файла /usr/share/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)
)

И в этом же файле в define(select_language language) после (language_klingon)) добавить:

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

4. После этого в фомашней директории /home/ваш user создать файл .festivalrc и в нем прописать настройки для вашей аудиосистемы.

Для ALSA:

(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")

Для PulseAudio:

(Parameter.set 'Audio_Command "paplay $FILE")
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Required_Format 'snd)

5. Все. Проверяем работоспособность программы. В консоли набираем festival и даем команду:

festival> (SayText "Привет мир!")

Если все сделали правильно, то услышите, как компьютерный голос скажет вам: "Привет мир!" **

6. Чтобы начать читать текст из файла (который обязательно должен быть в кодировке UTF-8), нужно дать следующую команду:

festival --tts /path/to/file.txt

А чтобы чтение сохранить в аудиофайл wav, можно дать такую команду в каталоге с текстовым файлом:

cat text.txt | text2wave -o text.wav

7. Festival 1.96 - программа сырая, поэтому после чтения файла будет завершаться некорректно. Чтобы полностью завершить процесс чтения, необходимо будет нажать сочетание клавиш Ctrl+Z и затем набрать в консоли exit.

 

Примечания

* Если хотите, чтобы Festival читал английские тексты, через Synaptic установите английские синтетические голоса: festvox-kallpc16k или festvox-kedlpc16k.

** Выход из программы Festival осуществляется после чтения заданной вами фразы или по комбинации клавиш Ctrl+D.

*** Если вы хотите научить свой компьютер называть время, дату, читать погодные сводки, почту Gmail, вам нужно воспользоваться соответствующими скриптами, которые можно взять здесь.

Скачать PCLinuxOS

Поиск
Язык сайта