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

## Вступ

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

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

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

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

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

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

- Відтворення мови відбувається за допомогою синтезатора мовлення, ви можете використовувати будь-який з синтезаторів (espeak, festival тощо)

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

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

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

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

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

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

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

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

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

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

`jovie`

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

`libkhtmlkttsdplugin`

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

`ktexteditor_kttsd`

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

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

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

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

Перш ніж почати користуватися &jovie;, вам слід встановити speech-dispatcher (сервер синтезу мовлення) і переконатися, що він працює належним чином. Щоб дізнатися як це зробити, прочитайте розділ installation.

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

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

`jovie`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- Ви можете надати новому диктору довільну назву.

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

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

- Тут ви можете вказати будь-які нетипові параметри.

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

Ви майже готові до використання &jovie;. Тепер поверніться на вкладку Загальне і позначте пункт Увімкнути систему синтезу мовлення з тексту (Jovie). Позначення цього пункту запустить фонову службу синтезу мовлення з тексту &kde;. Див. general. Тепер ви можете використовувати &jovie; для вимовляння тексту. Перейдіть на вкладку Завдання, для створення і керування завданнями з вимовляння тексту. Див. jobmgr.

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

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

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

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

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

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

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

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

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

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

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

- Після натискання кнопки Гаразд або Застосувати всі зміни у параметрах, якщо такі було внесено на інших сторінках, буде застосовано.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### Налаштування фільтрів перетворення &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``

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Інтерфейс &DBus; &jovie;

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

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

Якщо &jovie; ще не запущено

`jovie`

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

`qdbus org.kde.jovie /KSpeech say "`текст`" "`параметри`"`

де ``текст`` — це текст, який слід виголосити, а ``параметри`` — це код мови, наприклад ``en``, ``cy`` тощо.

Приклад.

`qdbus org.kde.jovie /KSpeech say "This is a test." "en"`

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

`qdbus org.kde.jovie /KSpeech`

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

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

&reporting.bugs; &updating.documentation;

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

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

    kquitapp jovie

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

Відкрийте вікно &konsole;. Віддайте команду `jovie`.

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

Вам допоможе Google™. Допомогти має також це посилання. Якщо вам вдасться знайти вільний рушій синтезу, який підтримуватиме потрібну вам мову, і ви забажаєте, щоб підтримку цієї мови було додано до &jovie;, будь ласка, зв’яжіться з командою розробників програми. Особливо приємно буде додати рушії з відкритими кодами. Якщо вам відомий комерційний рушій, ви можете переконати його виробника надати безкоштовну копію цього рушія команді розробників &jovie;. Доки підтримку не додано, ви зможете користуватися синтезатором за допомогою сервера команд speech-dispatcher.

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

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

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

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

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

&jovie;

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

Поточний супровід: Jeremy Whiting jpwhiting@kde.org

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

- Gary Cramblitt garycramblitt@comcast.net

- Olaf Schmidt ojschmidt@kde.org

- Gunnar Schmi Dt gunnar@schmi-dt.de

- Paul Giannaros ceruleanblaze@gmail.com

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

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

&underFDL; &underGPL;

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

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

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

&install.intro.documentation;

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

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

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

### Вимоги

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

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

- speech-dispatcher версії 0.67 або пізнішої.

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

  Espeak | Більшість поширених мов, список підтримуваних мов можна знайти за адресою http://espeak.sourceforge.net/languages.html.
  Festival | Американська англійська, британська, іспанська, німецька, фінська, чеська, польська, російська, італійська, французька канадська, кісуахілі, зулуська і ібібіо

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

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

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

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

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

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

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

Для збирання &jovie; вам слід встановити свіжу (&kde; 4.8 або новішу) версію бібліотек &kde; для розробки, зокрема kdelibs і файли заголовків (бібліотеки для розробки) сервера синтезу мовлення (speech-dispatcher).

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

    cd jovie
    mkdir build
    cd build
    cmake ../
    make
    su -c "make install"

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

Перш ніж користуватися &jovie;, переконайтеся, що сервер синтезу мовлення працює з вашим рушієм синтезу мовлення. Для цього можна скористатися скриптом оболонки spd-conf.

&jovie; у &kde; 4.5 — це KTTSD і kttsmgr з оновленою назвою. Майбутні версії &jovie; будуть здатні налаштовувати сервер синтезу безпосередньо, без spd-conf.

&documentation.index;