# Підручник з &ktts;

Gary
R.
Cramblitt
garycramblitt@comcast.net
Юрій
Чорноіван

    yurchor@ukr.net

Переклад українською
2004-2005
Gary R. Cramblitt
&FDLNotice;
2005-07-31
1.05.00

&ktts; — це система озвучування тексту для &kde; — заснована на додатках служба, яка надає можливість будь-якій програмі &kde; (або програмі, що не належить до &kde;) вимовляти текст за допомогою інтерфейсу &DCOP;.

&ktts; спрямовано на реалізацію програмного інтерфейсу для вимовляння тексту у &kde;.

KDE
доступність
kdeaccessibility
TTS
Синтез мовлення з тексту
KTTSD
kttsmgr
festival
flite
hadifix
MBROLA
freetts
epos
SSML

## Вступ

&ktts; — це підсистема у &kde; для перетворення тексту на мовлення (TTS). Ця підсистема надає у розпорядження програмістів &kde; звичайний API, який забезпечує можливості перетворення тексту на мовлення у програмах. Крім того, програма надає деякі цікаві можливості і звичайним користувачам.

Можливості для користувачів:

- Читання уголос текстового файла.

- Читання уголос сповіщень про події &kde; (KNotify).

- Читання уголос всіх текстових частин веб-сторінки у &konqueror;.

- Читання уголос всіх текстових частин у текстовому редакторі &kate;, зокрема, у випадках, коли &kate; вбудовано до іншої програми &kde;.

- Довгий текст розбивається на речення. Користувач може наказати програмі повторити речення, абзац, повертатися у відтворенні назад, призупиняти і зупиняти відтворення.

- Виведення звуку за допомогою &arts;, ALSA, GStreamer (версії 0.8.7 або пізнішої) або aKode.

- Налаштовані користувачем фільтри заміни слів, що вимовляються неправильно, вибір синтезаторів мовлення та перетворення документів XHMTL/&XML;.

Можливості для програмістів:

- Система пріоритетів для виводу екранного засобу для читання, показ попереджень і повідомлень без переривання читання звичайних текстів.

- Заснована на додатках архітектура, призначена для підтримки широкого кола рушіїв синтезу мовлення з тексту і драйверів.

- Підтримка синтезу мовлення з командного рядка (або за допомогою скриптів оболонки) з використанням засобів &DCOP; &kde;.

- Легкий і простий у користуванні інтерфейс для програм, які створюють інформацію, яку слід озвучити.

- Програмам не потрібно самостійно вирішувати проблеми конкуренції у боротьбі за пристрій виведення звуку.

- У МАЙБУТНЬОМУ: підтримка мов розмітки мовлення, зокрема, VoiceXML, Sable, &Java; Speech Markup Language (JSML), і Speech Markup Meta-language (SMML).

- У МАЙБУТНЬОМУ: обмежена підтримка вбудованих позначок мовлення.

- Асинхронна робота для запобігання блокуванню системи.

Насправді, &ktts; складається з декількох програм:

`kttsd`

  фонова служба синтезу тексту з мовлення &kde;, яка не є програмою з графічним інтерфейсом. Ця служба забезпечує синтез мовлення для програм за допомогою &DCOP;.

`kttsmgr`

  програма з графічним інтерфейсом, призначена для налаштування і керування kttsd. kttsmgr показує піктограму у системному лотку.

`libkhtmlkttsdplugin`

  додаток до переглядача Тенет &konqueror;, який надає змогу прочитати уголос частину тексту на веб-сторінці.

`ktexteditor_kttsd`

  додаток до текстового редактора &kate;, який надає змогу прочитати уголос частину або весь текстовий файл, який редагується.

### Підтримка

Окрім бази даних Bugzilla &kde; ( http://bugs.kde.org/ ), обговорення &ktts; можна проводити у списку листування kde-accessibility. Підписатися на листи цього списку можна за адресою https://mail.kde.org/mailman/listinfo/kde-accessibility. З розробниками можна поспілкуватися у IRC (irc.kde.org, канал #kde-accessibility).

## Користування &ktts;

Перш ніж почати користуватися &ktts;, вам слід встановити принаймні один з рушіїв синтезу мовлення з тексту і переконатися, що він працює належним чином. Щоб дізнатися як це зробити, прочитайте розділ .

### Як запустити `kttsmgr`

Щоб запустити систему &ktts;, введіть таку команду у &konsole;:

`kttsmgr`

або виберіть пункт kttsmgr у меню &kde;.

Якщо ви запустили `kttsmgr` вперше, або якщо ви ще не налаштували жодного диктора, буде відкрито вікно Диктори. Перегляньте розділ . Якщо ж ви вже налаштували принаймні одного диктора, відкриється вікно Загального налаштування. Перегляньте розділ .

### Налаштування додатків синтезу (дикторів)

У більшості синтезаторів мовлення з тексту (TTS) можна здійснювати синтез мовлення декількома голосами різних статей, різної гучності і з різною швидкістю. Ви можете налаштувати декілька екземплярів синтезатора. Кожна з комбінацій мови, синтезатора, голосу, статі, гучності і швидкості називається диктором. Перед запуском &ktts; і початком читання тексту вам слід налаштувати принаймні одного диктора.

Декілька дикторів для одного синтезатора подібні до декількох черг друку для одного фізичного принтера.

Коли програми надсилають текст до &ktts;, ці програми можуть вказувати атрибути бажаного диктора для синтезу. Наприклад, програма може надіслати запит на англомовного диктора жіночої статі. Якщо ви налаштували англомовного диктора жіночої статі, буде використано цього диктора, у іншому випадку буде обрано найближчого відповідного диктора. Щоб дізнатися більше про те, як &ktts; обирає дикторів, перегляньте розділ .

Коли ви перейдете на вкладку Диктори у `kttsmgr`, буде відкрито вікно Диктори. Це вікно буде автоматично відкрито, якщо ви запустили `kttsmgr` без налаштування жодного диктора.

Керування синтезом мовлення з тексту у &kde; (вкладка «Диктори»). Керування синтезом мовлення з тексту у &kde; (вкладка «Диктори»).

Натисніть, щоб додати нового диктора.

На цій вкладці буде показано список всіх налаштованих Дикторів. Дикторів з найвищим пріоритетом буде показано у верхній частині списку. Диктора, запис якого знаходиться на вершині списку, буде використано для вимовляння тексту, якщо програма не вкаже параметрів диктора.

Натисніть пункт диктора у списку, щоб виділити його, а потім натисніть цю кнопку, щоб вилучити диктора.

Натисніть пункт диктора у списку, щоб виділити його, а потім натисніть цю кнопку, щоб показати діалогове вікно налаштування додатка синтезу. Докладнішу інформацію можна знайти далі за текстом.

Натисніть пункт диктора у списку, щоб виділити його, а потім натисніть цю кнопку, щоб пересунути позначку диктора на один рядок нижче у списку. Чим нижче стоятиме позначка диктора у списку, тим нижчим є пріоритет цього диктора.

Натисніть одну з цих кнопок, щоб застосувати зміни, які ви виконали з запущеною системою &ktts;.

Після натискання кнопки Додати відкривається діалогове вікно Додати диктора.

Діалогове вікно додавання диктора. Діалогове вікно додавання диктора

Ви можете обрати додаток синтезу мовлення або за назвою Синтезатора, або за Мовою, якою вимовлятиметься текст. Просто переставте перемикач на відповідне поле. Якщо перемикач буде встановлено навпроти пункту Мова, у списку Мова буде показано всі мови, які підтримуються всіма наявними синтезаторами, а у полі Синтезатор буде показано лише ті синтезатори, які підтримують синтез обраною мовою. Якщо ж перемикач буде встановлено навпроти пункту Синтезатор, у полі Синтезатор буде показано всі наявні синтезатори, а у полі Мова — лише мови, які підтримуються обраним синтезатором.

Тут ви можете обрати мову і додаток синтезу.

Після клацання більшість з додатків синтезу буде налаштовано автоматично, тобто буде обрано типові налаштування. У списку на сторінці Диктори з’явиться запис нового диктора. Натисніть кнопку Редагувати, щоб переглянути або змінити налаштування диктора.

Після натискання кнопки Додати на вкладці Диктори і додавання диктора, якого не можна налаштувати автоматично, або натискання кнопки Редагувати відкриється вікно Налаштування диктора. Пункти, показані у вікні Налаштування диктора будуть різними для різних дикторів. Нижче наведено приклад налаштування інтерактивного додатка Festival. Щоб дізнатися про особливості налаштування інших додатків, прочитайте розділ .

Налаштування диктора Налаштування диктора

Тут вкажіть шлях до виконуваного файла програми Festival. Якщо Festival знаходиться у теці, яка описана у змінній середовища PATH, просто введіть `festival`.

Натисніть, щоб програма автоматично виявила доступні голоси.

Виберіть голос.

Виберіть кодування символів тексту, які буде надіслано до Festival. Для голосів, які відомі &ktts;, цей параметр буде обрано автоматично. Загалом кажучи, для західноєвропейських мов використовують кодування ISO 8859-1. Для східноєвропейських мов, таких як чеська або словацька, використовують кодування ISO 8859-2.

Натисніть для перевірки. Ви маєте почути вимовлене тестове речення.

Скористайтесь засобами керування для встановлення рівня гучності, швидкості вимови і тону синтезованого мовлення. Якщо якийсь з цих засобів керування буде вимкнено (показано сірим кольором), обраний вами голос не підтримує зміну відповідного параметра.

Деякі з голосів, зокрема голоси MultiSyn, є настільки великими, що потрібно декілька секунд для їх завантаження. Позначення цього пункту призведе до того, що ці голоси завантажуватимуться під час запуску KTTSD, таким часом буде зменшено час (але ціною більшого використання пам’яті) перед початком синтезу першого речення.

Натисніть кнопку Гаразд, щоб зберегти параметри налаштування диктора.

Не забудьте натиснути кнопку Застосувати, інакше зміни у запущеній системі &ktts; не набудуть чинності.

Якщо перевірка пройшла успішно, ви майже готові до використання &ktts;. Тепер поверніться на вкладку Загальне і позначте пункт Увімкнути систему синтезу мовлення з тексту (KTTSD). Позначення цього пункту запустить фонову службу синтезу мовлення з тексту &kde;. Див. . Тепер ви можете використовувати &ktts; для вимовляння тексту. Перейдіть на вкладку Завдання, для створення і керування завданнями з вимовляння тексту. Див. .

### Запуск KTTSD і встановлення загальних параметрів

Після того, як ви налаштуєте принаймні одного диктора, ви можете запустити систему синтезу мовлення з тексту &kde;. Натисніть заголовок вкладки Загальне. Буде відкрито сторінку Загальне. На цій сторінці ви також можете встановити деякі загальні параметри.

Керування синтезатором мовлення з тексту &kde; (вкладка «Загальне»). Керування синтезатором мовлення з тексту &kde; (вкладка «Загальне»)

Позначте цей пункт, щоб задіяти систему &ktts;. Позначення цього пункту запускає фонову службу синтезу мовлення з тексту &kde; (KTTSD). Якщо KTTSD буде запущено, у вікні з’явиться вкладка Завдання. Одразу після запуску KTTSD ви можете розпочати створення і виконання завдань з вимовляння тексту. Див. . Зняття позначки призведе до зупинки KTTSD і вимикання системи синтезу мовлення з тексту &kde;.

Якщо позначки навпроти цього пункту немає, ви ще не налаштували жодного диктора (або ви забули натиснути кнопку Застосувати). Див. .

Якщо позначено цей пункт, під час виконання `kttsmgr` у системному лотку буде показано піктограму. У такому режимі після натискання кнопок Гаразд та Скасувати роботу `kttsmgr` не буде завершено. Замість цього, зникне вікно, але програма `kttsmgr` продовжуватиме виконуватися у лотку стільниці. Наведіть вказівник миші на піктограму і клацніть лівою кнопкою миші, щоб знову відкрити вікно програми. Щоб завершити роботу `kttsmgr`, наведіть вказівник на піктограму у лотку, клацніть правою кнопкою і скористайтеся пунктом Вийти з контекстного меню. Якщо зняти позначку з пункту, програма не згортатиметься у піктограму лотка стільниці. Натискання кнопок Гаразд і Скасувати завершить роботу `kttsmgr`.

Після завершення роботи `kttsmgr`, &ktts; продовжуватиме виконуватися, якщо позначено пункт Увімкнути систему синтезу мовлення з тексту (KTTSD).

Цей пункт не набуде чинності до наступного запуску `kttsmgr`.

Цей пункт ні на що не впливатиме, якщо `kttsmgr` запущено у &kcontrol;.

Якщо позначено цей пункт, після запуску `kttsmgr` з’являтиметься вікно `kttsmgr`. Якщо позначки навпроти пункту не буде, після запуску `kttsmgr` у лотку стільниці з’являтиметься піктограма `kttsmgr`, але вікно відкрито не буде. Щоб відкрити вікно програми, вам слід буде навести вказівник миші на піктограму у лотку і клацнути лівою кнопкою миші.

Якщо позначено цей пункт, і `kttsmgr` ще не запущено, програма з’являтиметься у системному лотку кожного разу, коли KTTSD вимовлятиме текст. Це надасть вам можливість зупиняти або іншим чином керувати вимовлянням.

Якщо позначено цей пункт, і `kttsmgr` автоматично з’являтиметься у вигляді піктограми у системному лотку під час вимовляння, відповідна піктограма автоматично зникатиме після завершення вимовляння.

Не забудьте натиснути тут, щоб зберегти встановлені вами параметри.

### Керування текстовими завданнями

Після натискання заголовка вкладки Завдання у вікні `kttsmgr` буде відкрито сторінку Завдання.

Керування синтезатором мовлення з тексту &kde; (вкладка «Завдання»). Керування синтезатором мовлення з тексту &kde; (вкладка «Завдання»)

Тут ви зможете побачити поточну чергу завдань, а також відомості про програму, яка додала завдання до черги, поточний стан завдання, кількість речень у завданні і номер поточного речення. Стовпчик ІД диктора відповідає стовпчику ІД на вкладці Диктори.

За допомогою кнопок у цьому ряді ви можете запускати, вилучати або призупиняти текстові завдання. Виберіть завдання з розташованого вище списку, а потім натисніть одну з цих кнопок.

За допомогою кнопок у рядку ви зможете пересунути позицію читання на речення вперед або назад у завданні, обраному зі списку, розташованого вище (але не всі завдання складаються з декількох речень).

За допомогою кнопок з цього рядка можна змусити програму вимовляти поточний текст з буфера обміну інформацією &kde; або відкрити текстовий файл для читання уголос. Крім того, ви можете оновити список текстових завдань або змінити диктора для окремого завдання. Див. .

Тут з’являється поточне речення, над яким працює програма.

Після натискання кнопки Гаразд всі зміни у параметрах на інших вкладках буде застосовано (якщо такі зміни було внесено), а вікно `kttsmgr` буде мінімізовано до системного лотка. Щоб відновити вікно керування програмою, достатньо натиснути піктограму у системному лотку.

Перетягніть цей роздільник, щоб змінити розмір панелей списку завдань і Поточне речення.

Вкладка Завдання з’являтиметься, лише коли запущено KTTSD. Якщо ви не бачите вкладки Завдання, перейдіть на вкладку Загальний і позначте пункт Увімкнути систему синтезу мовлення з тексту (KTTSD).

Якщо вами не було встановлено підсистеми роботи зі звуком &arts;, але ви встановили одну з підсистем ALSA, GStreamer або aKode, перейдіть на вкладку Звук. Див. .

За допомогою цієї вкладки можна переглядати і керувати лише текстовими завданнями. Виведення екранного диктора, попередження і повідомлення показано не буде. Щоб дізнатися більше про типи повідомлень &ktts;, ознайомтеся з розділом .

### Параметри звуку

Після того, як ви натиснете заголовок вкладки Звук у `kttsmgr`, буде відкрито сторінку Звук.

Керування синтезатором мовлення з тексту &kde; (вкладка «Звук»). Керування синтезатором мовлення з тексту &kde; (вкладка «Звук»)

Тут ви можете обрати метод виведення звуку. Якщо певний компонент позначено сірим кольором, або &ktts; було зібрано без підтримки відповідного звукового додатка, або програма &ktts; не змогла завантажити потрібні бібліотеки.

Якщо для виводу звуку обрано GStreamer або aKode, тут вам слід обрати спосіб приймання звуку. Якщо у списку не буде жодного приймача, вам слід встановити хоча б один. Якщо обрано ALSA, вам слід обрати у цьому полі пристрій PCM. Див. .

Тут можна налаштувати швидкість вимовляння. Швидкість у 50% відповідає вимовлянню удвічі повільнішому за звичайний темп мови, а у 200% — приблизно удвічі швидшому. Щоб цей параметр запрацював, вам слід встановити програму `sox`.

Якщо позначено цей пункт, &ktts; копіюватиме тимчасові звукові файли (файли .wav) до вказаної теки. Ви можете обрати будь-яку з тек на вашому жорсткому диску, але вам слід мати доступ на запис до цієї теки. Таке налаштування може бути корисним для створення звукових файлів з вимовленими фразами для подальшого використання. Форма назви цих файлів буде такою `kttsd-З-НР`, де `З` — це номер завдання, а `НР` — номер речення. Існуючі файли з такими назвами буде вилучено. Не забудьте потім зняти позначку з цього пункту, інакше ви ризикуєте засмітити жорсткий диск вашого комп’ютера!

Не забудьте натиснути кнопку Застосувати, щоб застосувати нові параметри до запущеної системи &ktts;.

Існує два способи налаштування швидкості вимовляння тексту у &ktts;. У діалогових вікнах налаштування багатьох Дикторів є пункт Швидкість. Відповідне вікно можна відкрити натисканням кнопки Редагування на вкладці Диктори. Пункт Швидкість на вкладці Звук є додатковим параметром швидкості диктора, його, загалом кажучи, можна використовувати, навіть якщо диктор не підтримує налаштування швидкості. Щоб запрацював цей параметри швидкості, вам слід встановити програму `sox` у вашій системі (користувачі Debian можуть виконати команду: `apt-get install sox`). Крім того, цей параметр швидкості буде проігноровано, якщо текст, що вимовляється містить SSML. (Див. )

У списку пристроїв ALSA ви знайдете всі пристрої ALSA PCM і додатки, налаштовані у вашій системі. Деякі з варіантів вибору не працюватимуть. Вам слід експериментальним шляхом визначити потрібний пристрій. Якщо маєте сумніви, оберіть типовий.

### Параметри переривання тексту

Після того, як ви натиснете заголовок вкладки Переривання у `kttsmgr`, буде відкрито сторінку Переривання.

Керування синтезатором мовлення з тексту &kde; (вкладка «Переривання»). Керування синтезатором мовлення з тексту &kde; (вкладка «Переривання»)

За допомогою цієї вкладки ви можете вказати особливі дії, які буде виконано, якщо завдання з вимовляння тексту буде перервано повідомленнями з вищим пріоритетом. Існує чотири різновиди завдань з вимовляння тексту, якими може керувати &ktts;:

- Звичайний текст.

- Повідомлення.

- Попередження.

- Виведення засобу читання з екрана.

Виведення засобу читання з екрана має найвищий пріоритет. Його зарезервовано для використання програмами для читання з екрана. Виведення засобу читання з екрана вивантажує всі інші повідомлення, тобто призупиняє їх вимовляння. Після вимовляння виведення засобу читання з екрана виконання призупинених завдань буде автоматично поновлено.

Попередження мають пріоритет трохи нижчий за пріоритет найвищого рівня. Рівень попереджень призначено для повідомлень високого пріоритету, наприклад, «Процесор перегрівся». Попередження вивантажують Повідомлення і звичайний текст, тобто призупиняють виконання таких завдань. Після вимовляння Попередження виконання призупинених завдань буде поновлено.

Повідомлення мають нижчий пріоритет. Повідомлення призупиняють виконання звичайних текстових завдань. &kmouth; є прикладом програми, яка використовує Повідомлення. Наприклад, під час читання значного об’єму тексту з веб-сторінки &kmouth; можна використати для вітання з кимось, хто увійшов до кімнати.

Всі чотири типи завдань потрапляють до черги, окрім виведення засобу читання з екрана. Якщо виведення засобу читання з екрана буде надіслано з якоїсь програми у той час, коли &ktts; вимовлятиме інше виведення засобу читання з екрана, вимовляння поточного повідомлення буде зупинено, а саме повідомлення буде відкинуто.

Якщо текстове завдання буде перервано Повідомленням, Попередженням або Виведенням засобу читання з екрана, &ktts; додасть відповідний пункт на цю вкладку у чергу.

Це повідомлення буде вимовлено кожного разу, коли буде перервано звичайне текстове завдання.

Цей звуковий файл буде відтворено під час переривання текстового завдання. Якщо вказано і Передзвук і Передмову, Передзвук буде відтворено до Передмови.

Це повідомлення буде вимовлено кожного разу, коли буде поновлено перерване текстове завдання.

Цей звуковий файл буде відтворено кожного разу, коли поновлюватиметься виконання текстового завдання. Він звучатиме останнім.

Параметри, які визначаються за допомогою цієї вкладки, стосуватимуться лише звичайних текстових завдань. Для повідомлень, попереджень, виведення засобу читання з екрана особливих дій у відповідь на переривання їх виконання повідомленням вищого пріоритету не передбачено.

### Читання тексту з веб-сторінок

Під час роботи у переглядачі Тенет &kde; — &konqueror;, ви можете наказати програмі прочитати показаний текст. Для цього спочатку переконайтеся, що запущено &ktts;. Виділіть текст, який слід вимовити, а потім скористайтеся пунктом Інструменти Продекламувати текст головного меню. Якщо ви трохи зачекаєте, програма почне вимовляти виділений текст.

Завжди варто спочатку виділити на веб-сторінці текст, який слід вимовити. Ви можете пропустити цей крок, але тоді ви почуєте, як програма читатиме уголос заголовки &HTML; та інші невидимі теґи.

### Читання тексту з текстового редактора &kate;

Ви можете запустити читання тексту уголос під час роботи у текстовому редакторі &kde; (&kate;). Спочатку переконайтеся, що запущено &ktts;. Виділіть текст, який слід вимовити, і скористайтеся пунктом меню Інструменти Продекламувати текст . Якщо ви трохи зачекаєте, програма почне вимовляти виділений текст.

Вам не потрібно спочатку виділяти текст. У цьому випадку вимовлятиметься весь файл.

Таку дію можна виконати і якщо &kate; вбудовано до іншої програми, наприклад, &konqueror; або &quanta;.

### Читання сповіщень (KNotify)

KNotify — це підсистема сповіщення у &kde;, ця підсистема попереджає вас про події, сповіщення про які ви налаштували у системі &kde;. Ви можете налаштувати &ktts; так, щоб програма вимовляла текстові сповіщення.

Наприклад, &konversation;, програма &kde; для роботи у IRC, надає вам змогу налаштувати широкий спектр сповіщень. Зокрема, ви можете наказати &konversation; сповіщати вас кожного разу, коли у каналі IRC з’являється повідомлення з вашим прізвиськом у тексті. У сполученні з &ktts; ви можете наказати системі &kde; прочитати це повідомлення IRC уголос.

Загалом кажучи, якщо програма &kde; підтримує KNotify, у меню Параметри програми має бути пункт Сповіщення. Параметри налаштування програм для роботи з KNotify залежать від самої програми.

Щоб увімкнути вимовляння за допомогою &ktts; текстових сповіщень KNotify, запустіть `kttsmgr` і натисніть заголовок вкладки Сповіщення. програма відкриє панель Сповіщення.

Керування синтезатором мовлення з тексту &kde; (вкладка «Сповіщення»). Керування синтезатором мовлення з тексту &kde; (вкладка «Сповіщення»)

Позначте цей пункт, щоб увімкнути вимовляння сповіщень &kde;. Якщо позначки у відповідному полі не буде, всі інші пункти налаштування на цій вкладці буде вимкнено, а &ktts; не вимовлятиме жодних сповіщень.

Якщо позначено цей пункт, повідомлення всіх програм, які супроводжуватимуться звуком, вимовлятися &ktts; не будуть.

Скористайтеся цими кнопками для додавання або вилучення подій програм зі списку, розташованого нижче. Після натискання кнопки Додати програма відкриє діалогове вікно, у якому ви зможете обрати програму і подію, яку ви бажаєте додати до списку.

Таке визначення події призведе до вимовляння повідомлення, яке надсилає &konversation;, коли хтось згадає ваше прізвисько у повідомленні IRC.

Якщо &konversation; надсилатиме повідомлення про будь-які інші події, &ktts; на них не реагуватиме.

На всі інші події, не вказані у цьому списку, &ktts; не реагуватиме.

Скористайтеся цією панеллю, щоб вказати дію, яку має виконати &ktts; у відповідь на повідомлення про подію. Ви можете обрати один з таких варіантів:

Декламувати назву події

  Читає вголос назву події, яку ви побачите у списку подій цього вікна.

Декламувати сповіщення

  Читає повідомлення у вигляді, у якому його було надіслано програмою.

Не декламувати сповіщення

  Не читає повідомлень про цю подію взагалі.

Декламувати вказаний текст

  Читає текст, який ви ввели на панелі, розташованій праворуч.

Якщо обрано дію Декламувати вказаний текст, вам слід буде ввести у відповідне поле текст повідомлення, яке слід вимовити. У повідомленні ви можете скористатися такими шаблонами заміни:

%e

  Назва події

%a

  Назва програми, яка повідомила про подію

%m

  Повідомлення, яке надіслала програма

Перевірте повідомлення натисканням цієї кнопки.

Тут ви зможете вказати параметри бажаного диктора, який читатиме повідомлення сповіщення. Якщо вказати ``default``, буде використано диктора, позначка якого займає найвищу позицію у списку на вкладці Диктори. Див. .

Зауважте, що існує три рівні подій. Якщо вказано окрему подію для окремої програми, буде виконано відповідну дію. У іншому випадку, якщо вказано дію для всіх подій окремої програми, буде виконано цю дію. Якщо ж і такої дії не вказано, буде виконано дію для всіх інших подій, вказану у пункті Типова (всі інші події).

Подію всі сповіщення для програми Типова (всі інші події) неможливо вилучити зі списку. Для визначення типової дії для всіх інших подій ви можете вказати один з типів дій, які було згадано вище, у такий спосіб:

немає

  Без декламації.

вікна сповіщення

  Буде вимовлено сповіщення, які буде показано на екрані у діалогових вікнах, які користувач має закрити власноруч.

пасивні вигульки

  Буде вимовлено сповіщення, які буде показано на екрані у пасивних діалогових вікнах, які автоматично зникатимуть за деякий час без втручання користувача.

вікна сповіщення і пасивні вигульки

  Буде вимовлено всі сповіщення, які буде показано на екрані.

всі сповіщення

  Буде вимовлено всі сповіщення, байдуже, чи їх буде показано не екрані.

Фільтри заміни рядків можуть знадобитися для очищення повідомлень, надісланих програмами, якщо &ktts; неправильно вимовляє ці повідомлення. Файл `kmail.xml`, який постачається разом з &ktts;, є непоганим прикладом такого фільтра. Цей фільтр вилучає з повідомлень сповіщень &kmail; теґи `br` і `b`, а також вилучає фразу `/local/inbox/`, оскільки такі елементи спотворюють читання повідомлення. Див. .

Щоб зберегти ваші налаштування сповіщень до файла, скористайтесь кнопкою Зберегти. Для того, щоб завантажити збережені параметри з файла, скористайтесь кнопкою Завантажити. Список завантажених подій буде об’єднано зі списком вже існуючих подій у списку. Якщо ви бажаєте розпочати з порожнього списку подій, натисніть спочатку кнопку Очистити. У результаті буде вилучено всі події, окрім події всі сповіщення.

Не забудьте натиснути кнопку Застосувати або Гаразд, щоб зберегти внесені вами зміни.

### SSML

Мова розмітки синтезу мовлення (Speech Synthesis Markup Language або SSML) є стандартом W3C для розмітки тексту для наступного перетворення його у мовлення. У ній передбачено теґи для керування дикторами, швидкістю вимовляння, гучністю, статтю диктора і тоном. Також передбачено теґи для визначення вимови слова, наприклад, для вимови абревіатур. SSML є частиною специфікації VoiceXML, яка також є частиною стандарту W3C.

У поточній версії &ktts; передбачено обмежену і лише базову підтримку SSML. У поточній версії є наведені нижче обмеження.

- Підтримка працює лише з дикторами Festival Interactive і Hadifix.

- Вам слід встановити диктора `rab_diphone` (British male), оскільки він є типовим диктором, який використовує Festival під час вимовляння SSML.

- Параметр Швидкість, вказаний на вкладці Звук, не братиметься до уваги під час вимовляння тексту з SSML.

- Якщо параметри Швидкість або Тон у діалоговому вікні налаштування Festival не встановлено у значення 100%, текст SSML буде вимовлено монотонно.

Для експериментів з SSML ви можете скористатися наведеним нижче текстом.

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE speak PUBLIC "-//W3C//DTD SYNTHESIS 1.0//EN"
        "http://www.w3.org/TR/speech-synthesis/synthesis.dtd">

    <speak version="1.0" xml:lang="en-US">
        <prosody pitch="low">
            Who's been sleeping in my bed?
        </prosody>
        said papa bear.
        <prosody pitch="medium">
            Who's been sleeping in my bed?
        </prosody>
        said momma bear.
        <prosody pitch="high">
            Who's been sleeping in my bed?
        </prosody>
        said baby bear.
    </speak>

Покращення підтримки SSML заплановано у наступній версії &ktts;.

### Фільтри (додаткові відомості)

Фільтрування є одною з додаткових можливостей &ktts;. Для основних дій &ktts; вони не потрібні.

Фільтри використовуються для попередньої обробки тексту перед надсиланням його до рушія синтезу мовлення з тексту. Вони можуть знадобитися для покращення вимовляння тексту, заміни у словах, які вимовляються неправильно або абревіатурах, вибору відповідної мови і диктора для синтезу або обходу певних обмежень синтезаторів мовлення та їх дикторів.

#### Типи повідомлень &ktts;

Щоб зрозуміти те, як використовувати фільтри, корисно розуміти спосіб обробки тексту у &ktts;. Тексти, які вимовляються за допомогою &ktts; належать до таких чотирьох типів:

- Виведення засобу читання з екрана.

- Попередження.

- Повідомлення

- Текстові завдання

Тип, який визначається програмою, яка надсилає текст до &ktts;.

Виведення засобу читання з екрана має найвищий пріоритет. Його зарезервовано для використання програмами для читання з екрана. Виведення засобу читання з екрана вивантажує всі інші повідомлення, тобто призупиняє їх вимовляння. Після вимовляння виведення засобу читання з екрана виконання призупинених завдань буде автоматично поновлено.

Попередження мають пріоритет трохи нижчий за пріоритет найвищого рівня. Рівень попереджень призначено для повідомлень високого пріоритету, наприклад, «Процесор перегрівся». Попередження вивантажують Повідомлення і звичайний текст, тобто призупиняють виконання таких завдань. Після вимовляння Попередження виконання призупинених завдань буде поновлено.

Повідомлення мають нижчий пріоритет. Повідомлення призупиняють виконання звичайних текстових завдань. &kmouth; є прикладом програми, яка використовує Повідомлення. Наприклад, під час читання значного об’єму тексту з веб-сторінки &kmouth; можна використати для вітання з кимось, хто увійшов до кімнати. Сповіщення &kde; також належать до Повідомлень (див. ).

Решта текстів належать до Текстових завдань. Всі завдання, які ви започатковуєте за допомогою вкладки Завдання є Текстовими завданнями. KSayit є прикладом програми, яка використовує Текстові завдання. Тип Текстові завдання призначено для синтезу мовлення з довгих текстових документів, за умови, що такий синтез не є нагальним.

Всі чотири типи завдань потрапляють до черги, окрім виведення засобу читання з екрана. Якщо виведення засобу читання з екрана буде надіслано з якоїсь програми у той час, коли &ktts; вимовлятиме інше виведення засобу читання з екрана, вимовляння поточного повідомлення буде зупинено, а саме повідомлення буде відкинуто.

#### Типи фільтрів

Перше, що ви маєте знати про фільтри, це те, що їх ніколи не буде застосовано для виведення читання з екрана. Фільтри застосовуються до Попереджень, Повідомлень і Текстових завдань, а також до сповіщень &kde; (KNotify).

Існує два типи фільтрів — звичайні фільтри і фільтри визначення меж речень (Sentence Boundary Detector або SBD). За допомогою фільтрів SBD можна розбити текст на окремі речення. Такі фільтри пришвидшують мовлення у &ktts;, оскільки програмі потрібно буде синтезувати мовлення лише для одного речення, а не для всього тестового завдання одразу. Такі фільтри також надають змогу вам переходити на речення вперед або назад на вкладці Завдання, зупиняти або призупиняти виконання текстових завдань, якщо рушій синтезу мовлення не підтримує напряму зупинку синтезу.

Звичайні фільтри обробляють текст і передають його на наступний фільтр. У поточній версії існує три різновиди звичайних фільтрів.

- Заміна рядків.

- Перетворення &XML;

- Вибір диктора.

Функції фільтрів реалізуються за допомогою архітектури додатків. У майбутньому у програмі може бути реалізовано додаткові різновиди фільтрів.

Фільтри заміни рядків виконують заміну шматків тексту на інший текст. Шматки тексту знаходяться програмою за вказаними словами або регулярними виразами. Програма &ktts; постачається з попередньо визначеними фільтрами заміни рядків для вимовляння абревіатур, емоційок у балачках, таких як «:-)», та переведення повідомлень сповіщень від &konversation; або &kmail; у зрозумілішу форму.

Фільтри перетворення &XML; використовують файл перетворення мовою стилів &XML; (&XML; Style Language - Transforms або XSLT) для перетворення &XML; у одному форматі на файл у іншому форматі. До складу &ktts; включено декілька файлів XSLT, призначених для перетворення &XHTML; на SSML.

Фільтри вибору диктора надають вам змогу переспрямовувати завдання певним дикторам, залежно від вмісту тексту або програми, яка надіслала текст до &ktts;. Наприклад, якщо ви налаштували диктора з жіночим голосом на вкладці Диктори, ви можете спрямувати текст з KSayIt до цього диктора. Див. .

Для кожного з цих різновидів фільтрів можна налаштувати правила, згідно до яких цей фільтр буде застосовано до тексту, який слід вимовити. Якщо такими правилами буде визначено, що фільтр не потрібно застосовувати, текст буде передано до наступного фільтра у незмінному вигляді.

Якщо до &ktts; буде надіслано Текстове завдання, Попередження або повідомлення сповіщення &kde;, отримані дані буде пропущено через всі увімкнені фільтри, які ви налаштуєте у вікні, знімок якого наведено нижче. Фільтри буде застосовано у порядку згори до низу. Після проходження через всі звичайні фільтри, перелік яких буде показано у верхній частині вікна, текстові завдання буде пропущено через фільтри Визначення меж речення (SBD). (Сповіщення &kde;, Попередження та Повідомлення ніколи не пропускаються через фільтри SBD.) На відміну від звичайних фільтрів, за знаходження першого ж з фільтрів SBD, який вноситиме зміни до даних, подальше фільтрування буде припинено.

#### Налаштування фільтрів

Щоб скористатися фільтрами, відкрийте вкладку Фільтри у вікні `kttsmgr`.

Менеджер синтезу мовлення з тексту &kde; (вкладка «Фільтри»). Менеджер синтезу мовлення з тексту &kde; (вкладка «Фільтри»)

Це список налаштованих звичайних фільтрів. Якщо навпроти запису фільтра немає позначки, цей фільтр не буде увімкнено. Фільтри застосовуються за порядком, який вказано у списку, починаючи з верхньої частини.

Натисніть цю кнопку, щоб додати новий фільтр. Програма запитає вас про тип фільтра, який ви бажаєте додати. Після вибору типу ви побачите перед собою діалогове вікно налаштування.

Натисніть цю кнопку, щоб вилучити фільтр.

Натисніть цю кнопку, щоб змінити налаштування фільтра. Відомості щодо діалогових вікон налаштування можна знайти далі за текстом.

Натискайте ці кнопки, щоб пересувати фільтр вгору або вниз списком.

Тут показано список фільтрів визначення меж речень. Під час першого ж запуску &ktts; для вас буде автоматично налаштовано стандартний засіб визначення меж речень. Ви можете змінити налаштування цього фільтра або додати нові фільтри визначення меж речень, але, якщо ви початківець, ми не радимо вам цього робити.

За допомогою цієї кнопки зі спадним меню ви можете додавати, вилучати, редагувати і змінювати порядок фільтрів виявлення меж речення.

Не забудьте натиснути цю кнопку, інакше ваші зміни не набудуть чинності.

#### Налаштування фільтрів заміни рядків

Фільтри заміни рядків можна налаштувати зазначенням списку слів або формальних виразів, за якими відбуватиметься пошук і заміна. Якщо у тексті буде знайдено слова, які збігаються з вказаними вами словами або формальними виразами, їх буде замінено на вказані вами рядки. Пошук збігів відбуватиметься з врахуванням регістру.

Заміна рядків Заміна рядків

Введіть назву вашого фільтра. Скористайтеся назвою, за якою ви згодом зможете визначити потрібний фільтр серед інших фільтрів.

Тут буде наведено список слів та формальних виразів. Під час фільтрування відбудеться пошук кожного з рядків у стовпчику Збіг з заміною на його відповідник зі стовпчика Замінити на. Обробка збігів за списком відбуватиметься у напрямку, у якому показано відповідні записи, згори до низу.

Натисніть цю кнопку, щоб додати слово або формальний вираз до списку.

Натисніть ці кнопки, щоб пересунути поточне виділене слово або формальний вираз вгору або вниз списком.

Натисніть цю кнопку, щоб змінити існуюче слово або існуючий формальний вираз у списку.

Натисніть цю кнопку, щоб вилучити поточне виділене слово або формальний вираз зі списку.

Скористайтеся цими кнопками для завантаження списку слів або формальних виразів з файла, збереження поточного списку до файла або спорожнення списку. Завантажені з файла записи буде додано до списку поточних записів у списку.

Якщо позначено, фільтр буде застосовано, лише якщо мова диктора, який виголошує текст, збігатиметься з вказаною вами у цьому полі мовою. Щоб побачити список мов, натисніть відповідну кнопку. Щоб обрати декілька мов, утримуйте натиснутою клавішу &Ctrl; під час вибору за допомогою клацання клавішею миші.

Якщо позначено, фільтр буде застосовано, лише якщо текст було надіслано однією з програм зі списку. Ви можете вказати декілька назв програм, відокремивши ці назви комою. Приклад: ``konversation,kmail``

Визначити ІД програми для програм, що зараз виконуються, можна за допомогою програми `&kdcop;`. Номери &DCOP; слід пропустити. Наприклад, якщо &kdcop; покаже ІД програми як `kopete-3432`, вам слід просто ввести ``kopete``.

Фільтр заміни рядків буде застосовано лише у випадку, коли виконуються всі непорожні умови з панелі Застосувати цей фільтр, коли. Якщо всі пункти будуть порожніми, фільтр буде застосовано до всього тексту.

Пошук збігів не враховує регістру.

Під час пошуку слів фільтр заміни рядків використовує внутрішні формальні вирази у вигляді `\s`слово`\s`. Іншими словами, кожне слово має бути виокремлено (пробілами) з обох боків.

Обговорення способів створення формальних виразів не стосується предмета цього підручника. Якщо ви встановили редактор формальних виразів &kde;, у вікнах Додати і Редагувати з’явиться відповідна кнопка, яка допоможе вам у створенні формальних виразів. Редактор формальних виразів &kde; є частиною пакунка `kdeutils`.

Програма &ktts; постачається з декількома списками слів, зокрема списком емоційок, на зразок «:-)», деяких абревіатур, які типово використовуються у IRC або програм для миттєвого обміну повідомленнями, та списком інших абревіатур. Крім того, до програми додається список спеціальних символів, які не може обробити поточна версія польського диктора Festival. Якщо вам вдасться створити власні корисні списки слів, скористайтеся кнопкою Зберегти, щоб зберегти такий список до файла, а потім надішліть файл команді розробників &ktts;, щоб її учасники змогли включити надіслані вами списки до наступних версій програми.

#### Налаштування фільтрів перетворення &XML;

Фільтр перетворення &XML; використовує файли XSLT для перетворення &XML; з одного формату на інший. XSLT, мова стилів &XML; для перетворень є стандартною мовою W3C для виконання таких перетворень. Такі фільтри можна застосовувати лише для коректних файлів &XML;. Крім того, вам слід встановити програму `xsltproc`.

Перетворення &XML; Перетворення &XML;

Введіть назву вашого фільтра. Скористайтеся назвою, за якою ви згодом зможете визначити потрібний фільтр серед інших фільтрів.

Введіть повну адресу існуючого файла XSLT, за допомогою якого буде виконано перетворення.

Вкажіть адресу програми `xsltproc`. Якщо програма xsltproc знаходиться у каталозі, вказаному у змінній середовища PATH, просто введіть ``xsltproc``.

Якщо позначено, фільтр буде застосовано, лише якщо у &XML; є вказаний кореневий елемент або специфікація `<!DOCTYPE`, що починається з введеного рядка. Таким чином програма відрізнятиме одну форму &XML; від іншої. Наприклад, ``html`` у полі DOCTYPE відповідатиме документам `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >`.

Якщо позначено, фільтр буде застосовано, лише якщо текст було надіслано однією з програм зі списку. Ви можете вказати декілька назв програм, відокремивши ці назви комою. Приклад: ``konversation,kmail``

Визначити ІД програми для програм, що зараз виконуються, можна за допомогою програми `&kdcop;`. Номери &DCOP; слід пропустити. Наприклад, якщо &kdcop; покаже ІД програми як `kopete-3432`, вам слід просто ввести ``kopete``.

Фільтр перетворення &XML; буде застосовано до тексту, лише якщо буде знайдено вказаний кореневий елемент або DOCTYPE і якщо ідентифікатор програми відповідатиме вказаному у полі Застосувати цей фільтр, коли. Якщо елемент у цьому полі буде порожнім, перевірка не виконуватиметься, отже, якщо всі поля будуть порожніми, фільтр буде застосовано до будь-якого тексту. Але вам слід би заповнити принаймні одне поле, оскільки далеко не всі завдання матимуть формат &XML;.

#### Налаштування фільтрів вибору диктора

Фільтри вибору диктора застосовують для переспрямування тексту до бажаного диктора, налаштованого на вкладці Диктор, або до будь-якого диктора з вказаними атрибутами. Наприклад, ви можете вказати, що текст, який надходить від програми `kmail` слід вимовляти за допомогою налаштованого диктора з жіночим голосом. Див. .

Перед тим, як &ktts; почне передавати текст до фільтрів, програма має визначитися з диктором, який вимовлятиме текст. Вибір диктора буде засновано на параметрах диктора, вказаних програмою, яка надіслала текст до &ktts;, та параметрами диктора, які ви визначили на вкладці Диктори. Фільтр вибору диктора надає вам змогу перевизначити обраний фільтр.

Вибір диктора Вибір диктора

Введіть назву вашого фільтра. Скористайтеся назвою, за якою ви згодом зможете визначити потрібний фільтр серед інших фільтрів.

Якщо позначено, фільтр буде застосовано, лише якщо текст міститиме введений формальний вираз. Якщо встановлено редактор формальних виразів &kde;, натисніть кнопку перегляду, це допоможе вам у створенні формального виразу.

Щоб покращити швидкодію, спробуйте «прив’язати» формальний вираз до початку рядка. Іншими словами, почніть ваш формальний вираз з тексту ``^``.

Якщо позначено, фільтр буде застосовано, лише якщо текст було надіслано однією з програм зі списку. Ви можете вказати декілька назв програм, відокремивши ці назви комою. Приклад: ``konversation,kmail``

Визначити ІД програми для програм, що зараз виконуються, можна за допомогою програми `&kdcop;`. Номери &DCOP; слід пропустити. Наприклад, якщо &kdcop; покаже ІД програми як `kopete-3432`, вам слід просто ввести ``kopete``.

Тут слід вказати параметри диктора, якому ви бажаєте доручити виголошення тексту. Якщо текст задовольнятиме вказаним вище умовам, буде обрано диктора, який найкраще відповідає вказаним вами тут параметрам. Щоб відкрити діалогове вікно Вибрати диктора, натисніть кнопку, розташовану праворуч. Див. .

Скористайтеся цими кнопками для того, щоб зберегти ваші параметри вибору диктора, завантажити параметри зі збереженого файла або відновити початкові значення всіх параметрів.

Фільтр вибору диктора буде застосовано, лише якщо виконуватимуться всі непорожні умови з панелі Застосувати цей фільтр, коли. Вам слід вказати принаймні одну умову на цій панелі.

Найпростішим шляхом вивчення налаштування вибору диктора є експеримент. Вимкніть вибір диктора і надішліть програмі якесь текстове завдання. Подивіться на вкладці Завдання, який вибір диктора зробила програма &ktts;. Натисніть кнопку Змінити диктора, введіть певні параметри і подивіться, як вплинули ці параметри на поведінку програми. Звичайно ж, щоб мати змогу щось налаштовувати, вам слід встановити хоча б декілька дикторів.

#### Налаштування фільтрів визначення меж речення

За допомогою фільтрів визначення меж речення (Sentence Boundary Detector або SBD) текст розбивається на окремі речення. Таке розбиття є важливим, оскільки розбиття

- надає змогу &ktts; швидше розпочати синтез мовлення, оскільки спочатку слід буде синтезувати лише перше речення, а не весь блок тексту, на синтез мовлення з якого може бути витрачено значний час,

- надає вам змогу перемикати синтез на речення вперед і назад на вкладці Завдання і

- надає вам змогу призупиняти або повністю зупиняти виконання текстових завдань за допомогою вкладки Завдання, навіть якщо синтезатор мовлення не підтримує таких можливостей.

З певних причин, стандартний фільтр визначення меж речення буде автоматично увімкнено під час першого запуску `kttsmgr`, цей фільтр неможливо вимкнути (хоча ви можете його вилучити). Ми радимо вам не змінювати параметри цього фільтра, якщо ви маєте недостатні знання щодо того, що робите.

Але ви можете додати власні фільтри SBD, призначені для вирішення певних проблем. Наприклад, станом на лютий 2005 року польський диктор для Festival мав неприємну ваду з обробкою пунктуації у реченні. Він, наприклад, вимовляв точки у кінці речення. Цю проблему не можна вирішити створенням фільтра заміни рядків для вилучення пунктуації з речення, оскільки такий фільтр не дасть стандартному SBD визначити межі будь-якого речення. Замість цього ви можете створити змінену версію стандартного SBD, яка визначатиме межі речень і одночасно вилучатиме знаки пунктуації з речення. Щоб зробити це, додайте фільтр SBD, а потім скористайтеся кнопкою Завантажити, щоб завантажити файл `polish_festival_sbdrc`, який постачається з &ktts;.

Робота фільтрів SBD полягає у пошуку формального виразу межі речення і додавання символів Tab (десятковий номер 8) на межі речення. (Всі символи Tab автоматично вилучаються з тексту до фільтрування.) Зауважте, що стандартний фільтр SBD зберігає знаки пунктуації у реченні.

Фільтри SBD ніколи не застосовуються до повідомлень сповіщень &kde; (knotify), Попереджень, Повідомлень або Виведення засобу читання з екрана.

Якщо ви випадково вилучили стандартний фільтр виявлення меж речення, ви можете відновити його за допомогою завантаження файла `standard_sbdrc`, який постачається разом з &ktts;.

### Вибір дикторів (додаткові відомості)

На вкладці Диктори ви можете налаштувати будь-яку кількість дикторів. Див. розділ . Програми під час надсилання тексту до &ktts; можуть вказувати параметри бажаного диктора, який виголосить текст. &ktts; знайде найближчий відповідник цього диктора зі списку налаштованих вами дикторів, щоб задовольнити запит програми. Наприклад, програма може надіслати запит на вимову тексту англійським диктором з жіночим голосом. Якщо ви налаштували диктора, який може вимовляти тексти англійською жіночим голосом, буде використано цього диктора. Якщо ви налаштували лише дикторів з чоловічими голосами, буде використано одного з цих дикторів. Якщо програма не вкаже ніяких параметрів, буде використано типового (найвищого у списку) диктора зі списку на вкладці Диктори.

Програми під час визначення параметрів бажаного диктора можуть вказувати параметри, які мають пріоритет над іншими параметрами. Наприклад, програма може вказати, що текст слід вимовляти голосним жіночим голосом, і визначити, що параметри «голосним» матиме пріоритет над параметром «жіночим». Якщо у вас налаштовано тихий жіночий і голосний чоловічий голоси, &ktts; обере голосний чоловічий голос для виголошення тексту. Оскільки мова є визначальним параметром для того, щоб вимовлений текст можна було зрозуміти, параметр мови завжди матиме пріоритет над іншими параметрами.

За допомогою діалогового вікна Вибрати диктора ви можете перевизначити параметри програми диктора. Це діалогове вікно буде відкрито,

- якщо ви натиснете кнопку Змінити диктора на вкладці Завдання або

- якщо ви натиснете кнопку Диктор у діалоговому вікні Налаштування фільтра для вибору фільтра вибору диктора або

- якщо ви натиснете кнопку Диктор на вкладці Сповіщення.

Вибір диктора Вибір диктора

У цьому діалоговому вікні буде запропоновано три методи визначення бажаних параметрів диктора:

- Використовувати типового диктора (того, чий запис займає найвищий рядок на вкладці Диктори). Іншими словами, не вказувати параметрів диктора.

- Використовувати найближчий відповідник диктора, який має один або декілька з вказаних параметрів.

- Використовувати найближчий відповідник диктора, який має всі вказані параметри. Якщо ви не вилучатимете і не змінюватимете параметри диктора, &ktts; обере відповідного диктора. Якщо ви вилучите або зміните параметри диктора, &ktts; обере найближчий відповідник диктора з початковими параметрами диктора.

Оберіть метод введення параметрів диктора за допомогою цих перемикачів.

Тут ви можете обрати параметри бажаного диктора. Залиште поле параметра порожнім, якщо вам байдуже значення параметра.

Позначте цей пункт, якщо ви бажаєте, щоб цей параметр мав пріоритет над іншими параметрами. Ви можете позначити декілька пунктів одразу.

Оскільки мова є визначальним параметром для того, щоб вимовлений текст можна було зрозуміти, параметр мови завжди матиме пріоритет над іншими параметрами. Навряд чи цей параметр вам колись знадобиться. Єдиним випадком його використання може бути випадок, у якому вам відомо, що певна програма надсилає текст мовою, відміною від мови вашої стільниці.

Тут наведено список дикторів, яких на поточний момент часу налаштовано у &ktts;. Вибором одного з цих дикторів ви, по суті, вказуєте всі параметри цього диктора. Якщо цей диктор буде діяти на час надсилання тексту, буде отримано точний збіг і використано саме цього диктора. Але, якщо ви пізніше вилучите диктора або зміните його налаштування, може статися, що він вже не буде вибраним диктором. Буде обрано диктора, який найкраще відповідає початковим параметрам.

Параметр Мова є особливим, оскільки виголошений текст може стати зовсім незрозумілим, якщо його буде вимовлено диктором, який вимовляє тексти мовою, відмінною від мови тексту. Тому атрибут мови завжди має пріоритет над іншими атрибутами. Якщо ви вкажете мову, вказаний параметр перевизначить вибрану мову, але, якщо ви залишите це поле порожнім, буде використано існуючі налаштування мови. Якщо програма, яка надсилає текст до &ktts; не вказала мови, &ktts; припускатиме, що мова збігається з мовою найвищого у списку диктора, якого ви налаштували на вкладці Диктори. Іншими словами, вважатиметься, що найвищий у списку диктор виголошує тексти мовою вашої стільниці.

Щоб відновити всі початкові значення параметрів у розділі Вживати диктора, що найближче підходить і має, спочатку позначте варіант Використовувати типового диктора, а потім позначте варіант Вживати диктора, що найближче підходить і має.

## Довідка щодо команд

ЩЕ НЕ НАПИСАНО

## Інструкція для розробників &ktts;

&ktts; має два інтерфейси для творців програм (API):

- Програмний інтерфейс синтезу мовлення з тексту &kde;, який використовується розробниками програм для надання програмам можливостей синтезу мовлення з тексту. Обмін інформацією між програмами і KTTSD відбувається за посередництва &DCOP;.

- Програмний інтерфейс додатків KTTSD, який використовується для додавання до KTTSD додатків синтезу мовлення з тексту, за допомогою яких &ktts; зможе працювати з новими рушіями синтезу мовлення.

У цьому розділі подано короткий опис програмного інтерфейсу синтезу мовлення з тексту &DCOP; &kde;. Повноцінну документацію щодо обох програмних інтерфейсів можна знайти у мережі на сайті модуля доступності &kde; http://accessibility.kde.org).

### Інтерфейс &DCOP; &ktts;

Програми передаю запити до служб синтезу мовлення з тексту за допомогою інтерфейсу &DCOP; &kde; для програми `kttsd` і об’єкта `KSpeech`.

Введіть перелічені нижче команди у &konsole;.

Якщо KTTSD ще не запущено

`kttsd`

Щоб поставити завдання з вимови тексту до черги

`dcop kttsd KSpeech setText "текст" "мовець"`

де `текст` — це текст, який буде вимовлено, `диктор` — код мови, наприклад, `en`, `cy` тощо. Ця команда не призводить безпосередньо до вимовляння тексту, вона всього лише надсилає текстове завдання для виголошення.

Приклад.

`dcop kttsd KSpeech setText "This is a test." "en"`

Щоб вимовити останнє текстове завдання з черги, виконайте команду

`dcop kttsd KSpeech startText 0`

У цьому випадку, `0` є посиланням на останнє текстове завдання у черзі. Ви також можете вказати певний номер завдання. (Якщо номер завдання не буде вказано, слід використовувати `0`.)

Щоб зупинити поточне завдання з вимови

`dcop kttsd KSpeech stopText 0`

Залежно від використаного додатка мовлення, мовлення може бути припинено не одразу.

Існує ще безліч команд, які можна використати. Щоб побачити список можливих команд, виконайте команду:

`dcop kttsd KSpeech`

або прочитайте довідник Програмний інтерфейс синтезу мовлення з тексту у &kde; у мережі.

## Запитання і відповіді

&reporting.bugs; &updating.documentation;

Команда `kttsmgr` аварійно завершує роботу одразу після запуску. Програму було зібрано з підтримкою усунення вад, але у виводі навіть немає зворотного трасування.

GStreamer аварійно завершує роботу разом з &ktts;. Скоріше за все, вам слід «зареєструвати» GStreamer. Для GStreamer 0.8x командою реєстрації буде `gst-register-0.8`. Якщо така команда не виправить проблеми, можливо, у вас встановлено несумісну версію GStreamer. Ви можете спробувати оновити або вилучити GStreamer.

Вивід звуку до ALSA не працює, якщо я одночасно відтворюю музику у іншій програмі. Якщо я призупиняю виконання текстового завдання, &ktts; повисає. Серед інформації, яка виводиться до &konsole;, помітні повідомлення «unable to open PCM».

Ви маєте справу з проблемою конкуренції за пристрій ALSA, яка призводить до неможливості одночасного відкриття декількох пристроїв PCM. Можливі вирішення проблеми можна знайти на веб-сайті ALSA (dmix): www.alsa-project.org

Мені потрібно почати все з початку. Якщо повністю припинити роботу &ktts;?

Введіть у &konsole; такі команди:

    killall kttsd
    killall kttsmgr

Як переглянути відомості для усунення вад, які виводить `kttsd`?

Відкрийте два вікна &konsole;. У першому виконайте команду `kttsd`, а потім виконайте команду `kttsmgr` у другому.

Я звантажив (звантажила) додатковий голос Festival з інтернету. Після його встановлення я можу користуватися ним у Festival, але у списку `kttsmgr` цей голос так і не з’явився.

Змініть файл `$KDEHOME/share/apps/kttsd/festivalint/voices`: додайте у нього нового диктора. Як зразок можна використатися записи для інших дикторів. Якщо вам успішно вдалося додати диктора, будь ласка, надішліть відповідну латку розробникам разом з адресою &URL;, за якою ви звантажили файл диктора.

Жоден з підтримуваних синтезаторів мовлення не підтримує потрібної мені мови. Де взяти синтезатор для моєї мови?

Вам допоможе Google(tm). Допомогти має також це посилання. Якщо вам вдасться знайти вільний рушій синтезу, який підтримуватиме потрібну вам мову, і ви забажаєте, щоб підтримку цієї мови було додано до &ktts;, будь ласка, зв’яжіться з командою розробників програми. Особливо приємно буде додати рушії з відкритими кодами. Якщо вам відомий комерційний рушій, ви можете переконати його виробника надати безкоштовну копію цього рушія команді розробників &ktts;. Доки підтримку не додано, ви зможете користуватися синтезатором за допомогою додатка Команда. Див. розділ .

&ktts; вимовляє слова занадто повільно. Як можна пришвидшити процес вимовляння?

На вкладці Звук є параметр Швидкість. Щоб мати змогу керувати швидкістю за допомогою цього параметра, вам слід встановити програму `sox` у якийсь з каталогів, визначених у змінній PATH. Для деяких додатків синтезу, наприклад, Festival Interactive, параметр Швидкість є і у діалоговому вікні налаштування диктора. Залежно від голосу, яким ви користуєтеся, його може бути увімкнено або вимкнено.

Гаразд, це працює у деяких випадках, але вимовляння тексту веб-сторінок все одно залишається занадто повільним.

Параметри швидкості не братимуться до уваги &ktts; під час вимовляння &HTML;. (Причиною цього є те, що &HTML; перетворюється на SSML, у якому є власні теґи «rate».) Вам слід або вимкнути фільтр перетворення &XML; для &HTML; (див. розділ ), або, якщо почуваєтеся на силі, змінити файл .xsl у фільтрі перетворення &HTML; на SSML і збільшити у ньому швидкість виголошення тексту.

Я не можу зробити так, щоб текст веб-сторінок виголошувався жіночим голосом. Мною налаштовано жіночого диктора Festival, але &ktts; завжди читає уголос текст веб-сторінок чоловічим голосом.

Принаймні у Festival 1.95 beta, теґ SABLE GENDER не працюватиме. Щоб уникнути помилок у Festival, файл .xsl для переведення SSML у SABLE вирізає теґи статі. Те саме стосується і теґів голосу (voice).

Я налаштував (налаштувала) фільтр перетворення &XML; &HTML;, але текст веб-сторінок зовсім не виголошується, я користуюся додатком Festival.

Через ваду у Festival 1.95 beta вам слід встановити `rab_diphone` (британський чоловічий) голос, щоб SABLE запрацювало, навіть якщо ви не використовуєте цей голос для вимовляння веб-сторінок. Крім того, вам слід переконатися, що встановлено програму `xsltproc`, і що ця програма знаходиться у каталозі, вказаному у змінній середовища PATH.

Певні символи та знаки пунктуації призводять до помилок синтезатора, він пропускає цілі речення або виголошує якусь маячню. Що робити?

Спершу переконайтесь, що правильно встановлено параметр Кодування символів для вашої мови у діалоговому вікні налаштування диктора. Якщо певні слова або символи спричиняють виникнення проблем, вам може допомогти фільтр заміни рядків. Якщо символи пунктуації у реченнях спричиняють помилки у синтезаторі, вам слід налаштувати фільтр визначення меж речень. Див. розділ .

Я додав (додала) свій власний фільтр заміни рядків, тепер &ktts; не дозволяє мені пересувати позицію вимовляння на речення вперед або назад. На вкладці Завдання програма вимагає, щоб у кожному завданні було не більше одного речення. Що було зроблено не так?

Вам не слід фільтрувати символи пунктуації у реченні (точку, знак питання, знак оклику, двокрапку і крапку з комою). Для таких символів слід використовувати фільтри визначення меж речень.

## Подяки і ліцензія

&ktts;

Авторські права на програму © 2002 José Pablo Ezequiel "Pupeno" Fernández pupeno@kde.org

Поточний супровід: Gary Cramblitt garycramblitt@comcast.net

Учасники розробки:

- Olaf Schmidt ojschmidt@kde.org

- Gunnar Schmi Dt gunnar@schmi-dt.de

- Paul Giannaros ceruleanblaze@gmail.com

Авторські права на документацію © 2004 Gary R. Cramblitt garycramblitt@comcast.net

Переклад українською: Юрій Чорноіванyurchor@ukr.net

&underFDL; &underGPL;

Рушії синтезу мовлення, які використовуються у &ktts; мають власні правила ліцензування. Докладно про ліцензію рушія можна дізнатися з документації до нього або на веб-сайті рушія. Окремі диктори рушіїв теж можуть мати власні ліцензійні обмеження.

## Встановлення

### Як отримати &ktts;

&install.intro.documentation;

Команда встановлення у Debian: `apt-get install kdeaccessibility`

Посилання на пакунки з початковими кодами і пакунки з програмою ви можете знайти на веб-сайті Доступності &kde; (http://accessibility.kde.org).

Якщо у вас є доступ до сховища коду &kde;, ви можете звантажити &ktts; разом з модулем `kdeaccessibility`. &ktts; знаходитиметься у теці `kttsd`. Крім того, ви можете звантажити архіви з початковими кодами модуля kdeaccessibility за адресою ftp://ftp.kde.org/pub/kde/

### Вимоги

Необхідні компоненти:

- &kde; версії 3.2 або пізнішої.

- Рушій перетворення тексту на мовлення. У цій версії підтримуються такі рушії і мови.

  Festival | Американська англійська, британська, іспанська, німецька, фінська, чеська, польська, російська, італійська, французька канадська, кісуахілі, зулуська і ібібіо
  Festival Lite (flite) | Англійська
  Hadifix (&mbrola; і txt2pho) | Німецька, угорська
  Epos | Чеська, словацька
  FreeTTS | Англійська

  Програма також працює з будь-яким рушієм синтезу, який можна запустити як команду з &konsole;.

  Список мов, наведений вище, не є ані повним, ані таким, що відповідає поточній ситуації. Повний список підтримуваних мов можна знайти у специфікаціях кожного з рушіїв. Крім того, на веб-сайті &ktts; ви можете знайти додаткові відомості, які, можливо, не увійшли до цього підручника.

  У &ktts; використано гнучку систему додатків для рушіїв синтезу тексту з мовлення. Якщо ви бажаєте розширити можливості &ktts; підтримкою ще одного рушія, зв’яжіться з командою розробників програми.

  Перегляньте розділ , щоб прочитати настанови щодо кожного з цих рушіїв.

- Принаймні одна з таких звукових підсистем:

  - Підсистема &arts; &kde;. Зазвичай, &arts; встановлюється разом з &kde;.

  - ALSA (Advanced &Linux; Sound Architecture). ALSA встановлено у більшості систем &Linux;. (www.alsa-project.org)

  - GStreamer версії 0.8.7 або новішої. Зауваження: не забудьте зареєструвати ваші додатки GStreamer командою `gst-register`, перш ніж використовувати GStreamer у &ktts;. ( http://gstreamer.freedesktop.org)

  - Бібліотека aKode. aKode — це бібліотека з декодування, яка є частиною &kde;.

  Проект &kde; планує відмовитися від використання &arts;, починаючи з версії 4 цього стільничного середовища.

  У деяких користувачів виникають проблеми з конфліктами програм у боротьбі за пристрій ALSA. Якщо у вашій системі виникає подібна проблема, ви не зможете одночасно слухати музику і текст, виголошений синтезатором мовлення. Крім того, &ktts; зависатиме, якщо ви призупините текстове завдання, а потім розпочнете виконання іншого. Можливі вирішення проблеми можна знайти на веб-сайті ALSA (dmix).

  Станом на липень 2005 року, aKode не підтримувала можливості призупинення. Якщо ви призупиняли виконання текстового завдання у &ktts;, програма завершувала виголошення останнього речення.

Додаткові компоненти

- Для керування швидкістю виголошення текстів слід встановити програму `sox`, але загалом, для вимовляння текстів, ця програма не є обов’язковою. Користувачі Debian можуть встановити sox командою `apt-get install sox`. Sox є однією з програм, які записують на більшість компакт-дисків дистрибутивів &Linux;.

- Для підтримки SSML та фільтра перетворення &XML; вам слід встановити програму `xsltproc`, але загалом для роботи вимовляння тексту ця програма не є обов’язковою. Користувачі Debian можуть встановити xsltproc командою `apt-get install xsltproc`.

### Збирання і встановлення

Для збирання &ktts; вам слід встановити свіжу (&kde; 3.4 або новішу) версію бібліотек &kde; для розробки, зокрема kdelibs і arts.

Якщо ви звантажили архів з &ktts;, увійдіть до системи як звичайний користувач і розпакуйте архів до відповідної теки, а потім виконайте наведені нижче команди.

    ./configure
    make

Можна використовувати такі параметри `configure`:

Типовий параметр | Опис | Альтернатива
--with-arts | Збирає звуковий додаток arts. | --without-arts
--with-alsa=check | Збирає звуковий додаток ALSA. | --with-alsa=no
--with-gstreamer=no | Не збирати звуковий додаток GStreamer. | --with-gstreamer=check
--with-akode=no | Не збирати звуковий додаток aKode. | --with-akode=check

У &kde; 4 додаток &arts; буде вилучено або, принаймні, не буде типово збиратися.

Наведені нижче додатки синтезаторів мовлення буде зібрано за типових умов. Працездатність деяких з цих додатків залежить від наявності у системі програмного забезпечення, яке не є вільним (згідно до правил Debian). У стовпчику «Параметр налаштування, щоб не збирати» наведено команду налаштування, за допомогою якої можна скасувати збирання додатка:

Синтезатор | Ліцензія | Параметр налаштування, щоб не збирати
Festival | вільна | --disable-kttsd-festivalint
Festival Lite | вільна | --disable-kttsd-flite
Epos | вільна | --disable-kttsd-epos
Command | вільна | --disable-kttsd-command
Hadifix | не вільна | --disable-kttsd-hadifix
FreeTTS | не вільна | --disable-kttsd-freetts

Типово, наведені вище команди встановлять &ktts; до каталогу `/opt/kde3`. Якщо цей каталог не вказано у вашій змінній середовища $`KDEDIRS`, можливо, вам слід додати параметр налаштування `--prefix=каталог_призначення`. Наприклад,

    ./configure --prefix=/usr/local
    make

У системах Debian, каталог `/usr/local` є звичайним місцем для встановлення програм, зібраних з початкових кодів.

Увійдіть до системи від імені адміністративного користувача (root) і встановіть зібрану програму &ktts; наведеною нижче командою.

    su
    make install

Якщо ви звантажили коди &ktts; зі сховища коду модуля `kdeaccessibility`, або звантажили архів зі знімком сховища, скористайтеся наведеними нижче командами для збирання і встановлення програми.

    cd kdeaccessibility
    echo kttsd
    >inst-apps
    make -f Makefile.cvs
    ./configure
    cd kttsd
    make
    su
    make install

### Налаштування

Перш ніж користуватися &ktts;, переконайтеся, що рушій синтезу мовлення працює. Для виконання такої перевірки скористайтеся настановами, які постачаються разом з відповідним рушієм.

У деяких випадках вам слід надати користувачеві доступ на запис до звукового пристрою.

`chmod a+rw /dev/dsp*`

#### Використання з Festival (інтерактивним)

Festival є одним з найкращих наявних вільних рушіїв синтезу мовлення з тексту з відкритим кодом. Якість вимовляння рушія загалом можна оцінити як добру, рушієм підтримується досить невелика кількість мов і дикторів. Для багатьох з дикторів ви можете керувати гучністю, швидкістю виголошення тексту та тоном за допомогою &ktts;.

Назва синтезатора: Festival Interactive

&URL;: http://www.cstr.ed.ac.uk/projects/festival/

Команда встановлення у Debian: `apt-get install festival`

Вам слід встановити диктора принаймні для однієї мови. Скористайтесь настановами, які постачаються разом з Festival. Якщо ви маєте намір скористатися читанням уголос веб-сторінок, вам слід встановити диктора `rab_diphone` (британський чоловічий голос).

Додаткові англійські голоси festival можна знайти тут:

http://hts.ics.nitech.ac.jp/.

Додаткові голоси іспанською, англійською і німецькою можна знайти тут:

http://cslu.cse.ogi.edu/tts/download/

Для цих дикторів вам потрібні будуть додаткові модулі, тому вам слід встановити пакунки з початковими кодами Festival. Ці диктори німецької мають обмежене поширення.

Фінський чоловічий голос можна знайти тут:

http://www.ling.helsinki.fi/suopuhe/download/.

Чоловічий голос для польської можна звантажити за такою адресою:

http://www.artegence.com/download/voicexml/speech/festival_polish_voice.tgz.

Чоловічий голос для російської можна звантажити за такою адресою:

http://nshmyrev.narod.ru/festival/festival.html

Щоб використовувати цього диктора вам слід встановити принаймні Festival 1.95 beta. Розробку диктора ще не завершено. Розпакуйте архів до `festival/lib/voices/russian/`. Під час налаштування диктора російською скористайтеся кодом `msu_ru_nsh_diphone`. Пам’ятайте, що слід обрати 8-бітове кодування кирилиці, наприклад, `KOI8-R`.

Голоси італійською для Festival 1.95 beta можна звантажити

http://www.csrf.pd.cnr.it/TTS/It-FESTIVAL-download.htm.

Якщо у вас виникають помилки CRC під час видобування з zip, спробуйте звантажити файл ще раз.

Голоси кісуахілі, зулуською та ібібіо для Festival 1.95 beta можна звантажити за адресою

http://www.llsti.org/.

На жаль, голос мовою хінді, який також можна звантажити за цією адресою, не працюватиме з &ktts;.

Комерційні голоси, зокрема голос канадською французькою можна придбати у Cepstral, LLC за адресою

http://www.cepstral.com/

У розділі ЧаП на сторінці підтримки наведено відомості щодо використання дикторів у Festival.

Типово, Festival включається у будь-який дистрибутив &Linux;. Перевірте наявність пакунка з цим рушієм на компакт-диску з вашим дистрибутивом.

Під час використання дикторів польською, угорською та чеською мовами не забудьте встановити параметр Кодування у значення `ISO 8859-2`.

Під час використання диктора російською мовою не забудьте встановити параметр Кодування у значення 8-бітового кодування кирилиці, наприклад, `KOI8-R`.

##### Використання Festival з &mbrola;

Festival можна використовувати разом з синтезатором &mbrola;. У такому режимі Festival виконує лексичний аналіз, а &mbrola; відповідає за створення звуку. Виконуваний файл &mbrola; і файли дикторів &mbrola; можна звантажити за адресою

http://festvox.org/mbrola/.

Виконайте настанови з файла `readme.txt`, який ви знайдете у звантаженому пакунку.

Зауважте, що &mbrola; не є повноцінним інструментом синтезу мовлення з тексту. &mbrola; виконує синтез мовлення на основі файлів дифонів. Вам слід встановити додаткове програмне забезпечення, яке створюватиме ці дифони. У випадку сполучення з Festival, Festival створює дифони потрібні &mbrola;. Крім того, командою `txt2pho` можна скористатися для створення дифонів з текстів німецькою. Додаткові відомості можна знайти у розділі .

Існує три способи комбінованого використання Festival з &mbrola;.

- Пакувальники &mbrola;. На час написання цього підручника, цей спосіб можна було використовувати лише для дикторів англійською мовою.

- IMS German Festival.

- Festival-Czech.

###### Використання Festival з пакувальниками &mbrola;

За використання цього методу до Festival буде додано код увімкнення синтезу мовлення на основі голосових файлів &mbrola;. Зауважте, що голосові файли &mbrola; не слід встановлювати у дерево тек &mbrola;. Замість цього, їх слід встановити у дерево тек `festival/lib/`. Настанови можна знайти за адресою

http://www.cstr.ed.ac.uk/projects/festival/mbrola.html

###### Використання IMS German Festival

IMS German Festival — це модифікована версія Festival, у якій використано німецькі голоси &mbrola;. Ця версія працює як з Festival 1.4.1, так і з Festival 2.0 (1.95beta). Спочатку вам слід встановити Festival і &mbrola;, якщо ви ще цього не зробили. Далі, звантажити IMS German Festival за адресою

http://www.ims.uni-stuttgart.de/phonetik/synthesis/festival_opensource.html.

Виконайте настанови з файла `README`, який постачається зі звантаженим файлом. (Зауважте, що, якщо у комбінації з Festival 2.0 не потрібно застосовувати архів з `виправленнями`, але перезібрати festival все ж доведеться.) Нарешті, додайте наступні рядки до файла `festival/lib/siteinit.scm`.

    (voice-location "german_de1_os" "/usr/local/mbrola/de1"
      "German Female, IMS Festival de1")
    (voice-location "german_de2_os" "/usr/local/mbrola/de2"
      "German Male, IMS Festival de2")
    (voice-location "german_de3_os" "/usr/local/mbrola/de3"
      "German Female, IMS Festival de3")

безпосередньо перед рядком

    (provide 'siteinit)

У деяких системах файлом, який вам слід змінити буде `/etc/festival.scm`. Додайте лише рядки, які стосуються встановлених вами дикторів німецькою мовою. Шлях `/usr/local/mbrola/` замініть на коректний. Крім того, зауважте, що (на час написання цього підручника) IMS German Festival не працював для дикторів німецькою de4, de5 і de6.

###### Використання Festival-Czech

За цього способу вам потрібно буде скористатися певним кодом, який увімкне синтез мовлення у Festival на основі диктора чеською мовою з &mbrola;. Щоб встановити цього диктора, спочатку звантажте і встановіть Festival і &mbrola; і переконайтеся, що обидва рушії працюють. Далі, звантажте Festival-Czech за адресою

http://www.freebsoft.org/festival-czech

Під час виконання наступних дій змініть за потреби шляхи на ті, які є правильними у вашій системі.

Розпакуйте звантажений архів до відповідної теки і створіть словник. Виконуваний файл Festival має бути серед каталогів, визначених змінною середовища `PATH`.

    cd /usr/local
    tar xvfz festival-czech.tar.gz
    cd festival-czech
    make

Звантажте голосовий файл `cz2` з веб-сайта &mbrola; і розпакуйте його до теки &mbrola;.

    cd /usr/local/mbrola
    mkdir cz2
    cd cz2
    unzip cz2-001009.zip

Додайте наступні рядки до файла `festival/lib/siteinit.scm`:

    (set! czech-lexicon-file "/usr/local/festival-czech/czech-lexicon.out")
    (set! load-path (cons "/usr/local/festival-czech" load-path))
    (require 'czech)
    (set! czech-mbrola_database "/usr/local/mbrola/cz2/cz2")
    (set! mbrola_progname "/usr/local/mbrola/mbrola")
    (voice-location "czech_mbrola_cz2" "/usr/local/mbrola/cz2"
        "Czech Male, MBROLA")
    (require 'czech-mbrola)

безпосередньо перед рядком

    (provide 'siteinit)

У деяких системах назвою файла, який вам слід змінити, буде `/etc/festival.scm`.

#### Використання з Festival Lite (flite)

Festival Lite — це вільний рушій з відкритим кодом, поточна версія якого підтримує обмежену кількість голосів та мов. Програма має невеликий розмір, але досягнуто це шляхом деякого погіршення якості. Ви не зможете керувати тоном, гучністю і швидкістю виголошення текстів цим рушієм за допомогою &ktts;.

Назва синтезатора: Festival Lite (flite)

&URL;: http://www.speech.cs.cmu.edu/flite/index.html

Команда встановлення у Debian: `apt-get install flite`

flite типово включено до дистрибутивів &Linux;. Перегляньте компакт-диск з вашим дистрибутивом, щоб дізнатися, чи є там пакунок з цим рушієм.

Настанови зі збирання і встановлення flite можна знайти у файлі `README`, який постачається разом з програмою.

#### Використання з Hadifix (&mbrola; і txt2pho)

Hadifix — це двоступеневий рушій синтезу, заснований на дифонах. Програма `txt2pho` перетворює тексти на дифони, а рушій &mbrola; синтезує з цих дифонів звук. Якість звуку достатньо добра, але підтримка мов поки що досить обмежена. Ви можете керувати голосом, тоном, швидкістю виголошення тексту за допомогою kttsmgr.

Назва синтезатора: Hadifix

&URL;: див. нижче

Команда для встановлення у Debian: немає

Якщо ви ще не встановили Hadifix, зробіть наступне:

1. Звантажте бінарний файл &mbrola; з http://festvox.org/mbrola/.

2. Встановіть &mbrola; до теки `/usr/local/mbrola`.

3. Звантажте принаймні один мовний файл німецької з сайта &mbrola;. Розпакуйте його до теки `/usr/local/mbrola`.

4. Звантажте txt2pho з

   http://www.ikp.uni-bonn.de/dt/forsch/phonetik/hadifix/HADIFIXforMBROLA.html.

5. Розпакуйте txt2pho до `/usr/local/txt2pho`.

6. Змініть файл `txt2phorc`, ввівши до нього правильні шляхи до даних.

7. Скопіюйте `txt2phorc` до `~/.txt2phorc` або до `/etc/txt2pho`. Не забудьте прибрати "rc" у назві файла.

8. У kttsmgr оберіть німецьку мову (de) і додайте Hadifix.

9. На сторінці Налаштувати диктора вкажіть голос і шляхи до &mbrola; і txt2pho.

10. Натисніть кнопку Тест, щоб перевірити налаштування.

Мовні файли для угорської мови у &mbrola; і txt2pho доступні за адресою

http://tkltrans.sourceforge.net/.

#### Використання з Epos

Epos — це вільний синтезатор чеської і словацької мов з відкритим кодом. Цей синтезатор є невеликим за розміром, але досягнуто це певною втратою якості синтезу. Під час синтезу за допомогою цього рушія ви не зможете керувати гучністю голосу у &ktts;.

Назва синтезатора: Epos TTS Synthesis System

Адреса &URL;: http://epos.ure.cas.cz/

Команда для встановлення у Debian: `apt-get install epos`

Запустіть kttsmgr. На вкладці Диктори натисніть кнопку Додати. Оберіть чеську або словацьку мови і Epos TTS Synthesis System. Якщо виконувані файли сервера і клієнта epos не знаходяться у теках, перелічених у вашій змінній середовища `PATH`, вкажіть шляхи до цих виконуваних файлів у діалоговому вікні Налаштувати диктора. За допомогою полів параметрів ви можете передати додаткові параметри серверу або клієнту рушія. Щоб переглянути список можливих параметрів, виконайте у &konsole; команду `epos -h` або `say -h`.

#### Використання з FreeTTS

FreeTTS — це вільний рушій синтезу мовлення з відкритим кодом, написаний на &Java;, це означає, що для його використання вам слід встановити віртуальну машину &Java; у вашій системі. Поточна версія має досить обмежену підтримку дикторів і мов. Ви не можете керувати тоном, гучністю або швидкістю виголошення тексту цим рушієм за допомогою &ktts;.

Назва синтезатора: FreeTTS

&URL;: http://sourceforge.net/projects/freetts/

Команда для встановлення у Debian: немає

#### Використання додатка команд

Додаток команд надає вам змогу використовувати &ktts; з будь-яким рушієм синтезу мовлення, який можна запустити з командного рядка у &konsole;.

Назва синтезатора: Команда

&URL;: немає

Команда для встановлення у Debian: немає

У ідеалі, вам слід використовувати команду, яка створює тимчасовий аудіо-файл (wav), а не надсилає звук безпосередньо на аудіо-пристрій.

Якщо рушієві синтезу мовлення для роботи потрібен текст у кодуванні, параметри якого відрізняються від параметрів кодування вашої стільниці, вам слід скористатися параметром `%f` для передавання тексту рушієві. &ktts; перекодує текст згідно з вказаними параметрами під час запису тексту до тимчасового файла. Якщо ви зробите спробу передати текст у командному рядку за допомогою параметра `%t`, вважатиметься, що параметри кодування тексту збігаються з параметрами кодування вашої стільниці. Крім того, ви можете скористатися параметром Надсилати дані як стандартний ввід, щоб усунути цю проблему, якщо рушій може приймати вхідні дані з StdIn. Наприклад, ось зразок команди для надсилання тексту польською мовою до Festival з використанням кодування ISO 8859-2 і вилученням непридатних для вимови символів пунктуації.

`cat %f | tr '(){}[]"' ' ' | festival --tts --language polish`

&documentation.index;