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

## Вступ

&kmyapplication; є основною графічною оболонкою комплексу програм з відкритим кодом для розпізнавання мовлення Simon. Програма є клієнтською частиною Simond, вона надає графічний інтерфейс користувача для керування моделлю мовлення та командами. Крім того, Simon може виконувати всі типи команд, заснованих на вхідних даних, які надаються його серверною частиною (Simond).

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

Крім того, кінцевий користувач може отримати створені іншими користувачами дані, а також поділитися власними даними.

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

Через архітектуру комплексу однією версією Simon можна скористатися для всіх мов і діалектів. Якщо потрібно, можна навіть використовувати одну модель для декількох мов.

## Огляд

### Архітектура

Основна архітектура розпізнавання Simon побудована на основі трьох програм.

- &kmyapplication;

  Це основний графічний інтерфейс комплексу.

  Працює як клієнтська частина сервера Simond.

- Simond

  Сервер розпізнавання.

- KSimond

  Графічний інтерфейс до Simond.

Ці три компоненти формують клієнт-серверний комплекс розпізнавання. Тобто існує єдиний сервер (Simond), який обробляє дані одного або декількох клієнтських частин (&kmyapplication;; ця програма). KSimond є лише графічною оболонкою до Simond, тобто не є програмою для розширення функціональних можливостей сервера, а є лише способом взаємодії з Simond у графічному режимі.

Окрім Simon, Simond і kSimond частиною комплексного дистрибутива Simon є декілька спеціалізованіших програм.

- Sam

  Надає ширші можливості з керування вашою моделлю мовлення і перевірки акустичної моделі.

- SSC / SSCd

  Цими двома програмами можна скористатися для полегшення збирання багатьох зразків мовлення від різних мовців.

- Afaras

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

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

Архітектура

&kmyapplication; використовується для створення і роботи з представленням вашої вимови та мови. Представлення обробляється сервером (Simond), який на його основі створює придатну до використання модель мовлення.

Після створення моделі &kmyapplication; записує звукові дані з мікрофона і передає їх на сервер, який виконує розпізнавання отриманого потоку звукових даних. Розпізнані результати Simond надсилає назад клієнтській програмі (&kmyapplication;).

Потім &kmyapplication; використовує результат цього розпізнавання для виконання команд, зокрема відкриття програм, переходу за посиланнями тощо.

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

Кожна клієнтська програма Simon реєструється на сервері за допомогою комбінації користувач-пароль, яка відповідає єдиному користувачеві, а отже єдиній моделі мовлення. Для кожного з користувачів передбачено власну модель мовлення, але користуватися нею можна з різних комп’ютерів (тобто екземплярів Simon, запущених на різних комп’ютерах), якщо ці комп’ютери мають доступ до єдиного сервера Simond. Звичайно ж, єдиний екземпляр Simond може обслуговувати і декількох користувачів одного комп’ютера.

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

### Ресурси, потрібні для роботи з &kmyapplication;

Докладніші відомості щодо моделей мовлення викладено у розділі щодо основ розпізнавання мовлення.

Щоб Simon міг розпізнавати мовлення і реагувати на вимовлені слова, вам потрібно налаштувати модель мовлення.

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

В основному, модель мовлення складається з двох частин:

- Модель мови: описує всі слова та те, які речення є граматично правильними.

- Акустична модель: описує звучання слів.

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

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

#### Сценарії

Кожен зі сценаріїв відповідає одному випадку використання Simon. Наприклад, для керування Firefox користувачеві слід встановити сценарій Firefox.

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

Оскільки сценарії не містять даних щодо справжнього звучання слів та фраз, їх можна без проблем оприлюднювати і використовувати на різних системах користувачів Simon. Для збирання таких створених спільнотою сценаріїв призначено категорію сценаріїв Simon на kde-files.org. За допомогою відповідного сховища можна обмінюватися сценаріями (простими текстовими файлами у форматі XML).

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

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

#### Акустична модель

Як ми вже згадували, для того, щоб задіяти Simon вам знадобиться акустична модель.

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

У наведеній нижче таблиці показано, що знадобиться для відповідного налаштовування Simon.

#### Варіанти отримання акустичної моделі

| Потрібне навчання | Потрібна базова модель | Потрібен модуль створення моделей
Статична базова модель | Ні | Так | Ні
Пристосована базова модель | Так | Так | Так
Модель, створена користувачем | Так | Ні | Так

##### Модулі

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

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

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

Передбачено підтримку двох різних модулів обробки даних:

- Julius / HTK

  Моделі можна створювати за допомогою HTK. Для розпізнавання мовлення використовуватиметься Julius.

  Щоб скористатися цим модулем, будь ласка, встановіть достатньо нові версії обох цих інструментів.

- CMU SPHINX

  Цим модулем, який часто називають просто «модулем SPHINX», використовується засіб розпізнавання PocketSphinx та модуль створення моделей SphinxTrain. Щоб дізнатися про нього більше зверніться до сторінки CMU SPHINX.

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

Якщо ви використовуватимете базові моделі, Simon автоматично вибере відповідний модуль. Втім, якщо ви хочете збирати ваші власні моделі «з нуля» (створені користувачем моделі, див нижче) і у вас є певні уподобання, будь ласка, зверніться до документації з налаштовування Simond, щоб дізнатися більше.

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

##### Типи базових моделей

Існує три типи базових моделей:

- Статична базова модель

- Пристосована базова модель

- Модель, створена користувачем

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

###### Статична базова модель

Статичні базові моделі просто використовують попередньо скомпільовану акустичну модель без внесення до неї змін.

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

Для цього типу моделей не потрібно встановлювати модуль створення базових моделей.

###### Пристосована базова модель

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

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

Для цього типу моделей потрібно встановити модуль створення базових моделей.

###### Модель, створена користувачем

У разі використання створеної користувачем моделі за навчання відповідає лише сам користувач. Базову модель використано не буде.

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

Для цього типу моделей потрібно встановити модуль створення базових моделей.

##### Вимоги

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

##### Вимоги до базових моделей

| CMU SPHINX | Julius / HTK
Статична базова модель | PocketSphinx | Julius
Пристосована базова модель | SphinxTrain, PocketSphinx | HTK, Julius
Модель, створена користувачем | SphinxTrain, PocketSphinx | HTK, Julius

У системі можна встановити одразу всі чотири інструменти: HTK, Julius, PocketSphinx і SphinxTrain.

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

До пакунка для встановлення Simon у Windows включено Julius, PocketSphinx і SphinxTrain, але не включено HTK. Будь ласка, зверніться до розділу щодо встановлення, щоб дізнатися більше про встановлення цього компонента, якщо він вам потрібен.

##### Де взяти базові моделі?

Базові моделі Simon пакуються у файли `.sbm`. Якщо ви користуєтеся для вашого модуля необробленими моделями, ви можете запакувати ці моделі у сумісні з програмою контейнери SBM за допомогою Simon. Докладніше про це можна дізнатися з розділу щодо налаштовування моделей мовлення.

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

Актуальний список доступних базових моделей можна знайти на сторінці нашої вікі.

##### Проблеми з набором фонем

Отже, щоб можна було працювати з базовими моделями, сценарії і базова модель мають використовувати один набір фонем.

На практиці це часто означає, що вам доведеться скоригувати сценарії відповідно до вашої базової моделі. Назви базових моделей &kmyapplication; найімовірніше починаються з мітки, подібно до «[EN/VF/JHTK]». Спробуйте отримати сценарії, назви яких починаються з цієї мітки.

Якщо ви спробуєте скористатися сценаріями, розробленими для іншого набору фонем (іншої базової моделі). Якщо Simon буде виявлено таку помилку, програма спробує вимкнути помилкові записи вилученням їх зі створеної моделі. Ці слова буде позначено червоним тлом у словнику сценарію. Щоб уможливити використання таких записів вам слід або записати їхню транскрипцію за допомогою належного набору фонем, або скористатися вашою власною акустичною моделлю.

###### Підказка

Якщо ви створюєте новий сценарій, варто скористатися словником, який було використано для створення базової моделі, як тіньовим словником. Якщо ви це зробите, Simon зможе автоматично пропонувати «правильні» фонеми під час додавання слів.

## Користування &kmyapplication;: звичайним користувачам

У наступних розділах описано користування Simon.

### Майстер першого запуску

Під час першого запуску Simon буде показано вікно цього майстра. Майстер допоможе вам виконати початкове налаштовування &kmyapplication;.

Перший запуск: вітання

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

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

#### Сценарії

На цьому кроці ви можете додати або отримати сценарії.

Перший запуск: сценарії

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

Перший запуск: отримання сценаріїв

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

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

Якщо ви маєте намір використовувати базову модель, не забудьте отримати відповідні сценарії.

#### Базові моделі

На цьому кроці ви можете налаштувати Simon на використання базових моделей.

Перший запуск: базові моделі

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

Перший запуск: отримання базової моделі

Якщо ви хочете скористатися власною моделлю, позначте пункт Не використовувати базову модель.

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

#### Сервер

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

Перший запуск: сервер

Типових налаштувань достатньо для «звичайного» встановлення. У налаштуваннях припускається, що ви користуватиметесь локальним сервером, який буде запускатися і завершувати роботу разом з Simon.

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

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

Оскільки Simon розпізнає звукові сигнали з одного або декількох мікрофонів, вам слід повідомити програмі, які пристрої слід використовувати для розпізнавання та навчання.

Перший запуск: налаштовування звуку

Для виконання різноманітних завдань у Simon може бути використано один або декілька пристроїв отримання та відтворення даних. Докладніше про можливості роботи з декількома пристроями у Simon можна дізнатися з розділу щодо налаштовування звуку у Simon.

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

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

#### Калібрування гучності

Щоб Simon зміг працювати належним чином, вам слід налаштувати гучність мікрофона належним чином.

Перший запуск: калібрування гучності

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

### Головне вікно Simon

Знімок вікна &kmyapplication; Знімок вікна

Головне вікно Simon поділено на чотири розділи. Згори ліворуч розташовано розділ сценаріїв, праворуч від нього ви можете бачити розділ навчання, внизу ліворуч розташовано розділ акустичної моделі, праворуч від нього — розділ розпізнавання.

Головне вікно Simon може бути приховано натисканням логотипа Simon у системному лотку (її буде показано поряд з аплетом годинника на панелі задач). Після натискання кнопки з логотипом призведе до згортання вікна Simon до лотка. Натисніть кнопку з логотипом, щоб відкрити головне вікно знову.

#### Головне вікно: керування сценаріями

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

Щоб відкрити вікно внесення змін до сценарію, позначте пункт сценарію у списку і відкрийте вікно натисканням кнопки Відкрити «<назва>».

#### Головне вікно: навчання

У цьому розділі буде показано всі навчальні тексти з усіх активних зараз сценаріїв.

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

Розпочати навчання розпізнаванню можна позначенням фрагмента тексту з наступним натисканням кнопки Почати навчання. Будь ласка, зауважте, що залежно від вибраного вами типу моделі, навчання може покращити точність розпізнавання, а може і не покращити її. Визначити, чи вплине навчання на точність за поточних налаштувань, можна за допомогою розділу акустичної моделі (див. нижче) у головному меню &kmyapplication;. Щоб дізнатися більше про можливі варіанти моделей, будь ласка, зверніться до розділу щодо базових моделей.

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

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

#### Головне вікно: акустична модель

На цій панелі &kmyapplication; показує дані щодо поточної використаної базової та активної моделі.

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

#### Головне вікно: розпізнавання

За допомогою цього розділу можна ознайомитися з даними щодо стану розпізнавання.

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

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

### Сценарії

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

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

Керування сценаріями

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

Докладніші дані щодо окремих сценаріїв можна знайти на панелях підказок пунктів у списку.

#### Імпортування сценарію

Сценарії може бути імпортовано з локального файла сценаріїв у форматі файла сценаріїв XML Simon, але файли можна просто безпосередньо отримати і імпортувати з інтернету.

Під час отримання сценаріїв програма отримує список з розділу сценаріїв Simon сайта OpenDesktop KDE-files.org.

Отримання сценаріїв

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

#### Вилучення сценарію

Щоб вилучити сценарій, позначте пункт сценарію і натисніть кнопку Вилучити.

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

### Записи

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

#### Гучність

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

##### Калібрування Simon

У поточній версії &kmyapplication; передбачено простий спосіб забезпечення належних налаштувань гучності.

Калібрування гучності у Simon

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

Для виконання калібрування просто прочитайте показаний текст.

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

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

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

##### Калібрування Audacity

Крім того, для спостереження за рівнем гучності запису ви можете скористатися звуковим редактором, зокрема вільним редактором Audacity.

Занадто тихо: Гучність: занадто тихо

Занадто голосно: Гучність: занадто голосно

Чудова гучність: Чудова гучність

#### Тиша

Щоб допомогти Simon з автоматичним поділом мовлення на слова і фонеми, рекомендуємо вам доповнювати записи однією або двома секундами тиші до і після вимови запропонованого програмою тексту.

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

...перш ніж попросити користувача говорити: Говоріть, будь ласка…

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

#### Вміст

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

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

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

#### Мікрофон

Для того, щоб отримати від Simon належні результати, рекомендуємо вам користуватися високоякісним мікрофоном.

Втім, навіть за допомогою доволі дешевих гарнітур (близько 30 євро) можна досягти доволі непоганих результатів, — у рази кращих за результати, яких можна досягти за допомогою вбудованих мікрофонів.

Щоб досягти максимальної сумісності, варто користуватися USB-гарнітурами, оскільки для цих гарнітур зазвичай передбачено підтримку частоти дискретизації 16 кГц та непогану підтримку у Microsoft Windows та GNU/Linux (для роботи з ними не потрібно встановлювати якихось особливих закритих драйверів).

#### Забезпечення якості зразків

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

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

У поточній версії Simon виконує перевірку за такими критеріями:

- Пікова гучність зразка

  Якщо гучність буде зависокою, мікрофон почне «обрізати» звук (стаття щодо «обрізання» у Вікіпедії), а Simon покаже попередження, у якому проситиме користувача зменшити гучність.

- Співвідношення між гучностями сигналу і шуму (SNR)

  Simon автоматично визначить співвідношення гучності сигналу до гучності шуму для кожного запису. Якщо співвідношення виявиться меншим за порогове значення, програма покаже попередження.

  Типовим значенням є 2300%, тобто Simon сприйматиме зразки як записані належним чином, якщо пікове значення гучності зразка буде у 23 разів голосніше за базову гучність шуму (найменшу середню гучність протягом 50 мс).

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

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

### Надсилання зразків

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

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

За допомогою діалогового вікна «Надсилання зразків» програми &kmyapplication; ви можете вивантажити ваші записи, долучившись до зусиль проекту Voxforge у створенні високоякісних базових моделей з відкритим кодом.

Надсилання зразків: встановлення з’єднання

Після встановлення з’єднання з сервером &kmyapplication; попросить вас вказати деякі базові метадані. Звичайно ж, ці метадані не міститимуть ніякої особистої інформації. Це лише дані, які пізніше може бути використано для поділу зразків за групами мовців з метою побудови точніших акустичних моделей.

Надсилання зразків: надання інформації

Тривалість процедури вивантаження залежить від параметрів вашого з’єднання з інтернетом. Загалом кажучи, буде передано доволі незначний об’єм даних, оскільки звукові зразки, зібрані &kmyapplication;, зазвичай, є дуже невеличкими: приблизно 0,1 МБ на зразок.

Надсилання зразків: вивантаження

### Керування навчальними даними

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

Керування навчальними зразками

#### Внесення змін до зразків

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

Внесення змін до навчальних зразків

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

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

Вилучення навчальних зразків

#### Вилучення навчальних даних

У разі підтвердження дії всі особисті навчальні дані користувача буде вилучено.

#### Імпортування навчальних зразків

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

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

Ви можете або надати окремий файл запитів, або дозволити Simon визначити транскрипції на основі назв файлів.

У разі використання транскрипцій, заснованих на запитах ваш файл запитів (у кодуванні UTF-8) повинен містити рядки у такому форматі: [назва файла] [вміст]. Назви файлів слід вказувати без суфіксів, вміст слід вказувати великими літерами. Приклад: `demo_2007_03_20 DEMO` для імпортування файла `demo_2007_03_20.wav`, у якому міститься звуковий запис слова «Demo».

Оскільки вказані назви файлів запитів не міститимуть суфіксів, Simon спочатку шукатиме файли з суфіксом wav, потім mp3, ogg і flac (саме у такому порядку). Якщо буде знайдено один з таких файлів, пошук файлів з іншими суфіксами назв, розташованими далі у списку, не виконуватиметься, імпортовано буде перший з файлів (на відміну від випадку транскрипцій на основі назв файлів, коли буде імпортовано всі файли).

У разі використання транскрипцій на основі назв файлів, файл this_is_a_test.wav повинен містити запис «This is a test» і нічого іншого. Цифри і спеціальні символи (., - тощо) у назві файла буде проігноровано і пропущено.

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

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

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

Сканування теки відбуватиметься рекурсивно. Це означає, що програма виконає пошук у вказаній теці та у всіх її підтеках файлів .wav, .flac, .mp3 і .ogg. Всі знайдені файли буде імпортовано.

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

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

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

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

Доступ до діалогового вікна налаштовування Simon можна отримати за допомогою меню головного вікна програми: Параметри Налаштувати Simon....

#### Загальне налаштування

На сторінці налаштувань «Загальне» буде показано деякі з основних параметрів роботи програми.

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

Загальне налаштування

Будь ласка, зауважте, що пункт запуску Simon під час входження до облікового запису працюватиме як у Microsoft Windows, так і у середовищі KDE у Linux. Для автоматичного запуску у інших стільничних середовищах, зокрема Gnome, XFCE тощо, можливо знадобиться вручну внести Simon до списку автозапуску сеансу (докладний опис цієї процедури можна знайти у документації до стільничного середовища).

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

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

#### Записи

Для уможливлення використання складної конфігурації з декількома пристроями Simon використовує доволі складні дії з внутрішньої обробки звукових даних.

##### Налаштування пристрою

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

Натисніть кнопку Оновити список пристроїв, якщо після запуску Simon з комп’ютером було з’єднано додаткові звукові пристрої.

Налаштовування звукового пристрою: загальне

Здебільшого, достатньо 1 каналу і частоти дискретизації у 16 кГц (яка є типовою), оскільки розпізнавання працює з одноканальними даними з частотою 16 кГц (можна також використовувати частоти 8 кГц та 22 кГц). У деяких дешевих звукових картках може бути не передбачено певного режиму. Якщо ви зіткнетеся з такою проблемою, ви можете увімкнути автоматичну зміну частоти дискретизації у додаткових параметрах пристрою.

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

Налаштовування звукового пристрою: додаткові параметри

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

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

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

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

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

На панелі додаткових налаштувань пристрою ви також можете визначити мітку групи зразків створених навчальних зразків і встановити умови контексту для активації.

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

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

##### Виявлення голосової активності

Розпізнавання виконується сервером Simond (додаткові відомості можна знайти у розділі щодо архітектури комплексу програм).

Потік звукових даних не є неперервним, його поділено на частини клієнтською частиною Simon. Це завдання виконується засобом з назвою засіб «виявлення голосової активності».

Виявлення голосової активності

Тут ви можете налаштувати сегментацію мовлення за допомогою таких параметрів:

- Рівень обрізання

  Всі звуки з нижчим рівнем гучності вважаються «тишею» (фоновий шум).

- Початкове поле

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

- Завершальне поле

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

- Пропускати зразки, коротші за

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

##### Параметри навчання

Параметри навчання

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

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

Цей пункт було введено після того, як розробники програми почали працювати з людьми, які мали проблему зі спазматичними рухами. Хоча під час навчання Simon може керувати оператор за допомогою миші, таким пацієнтам все ж потрібно якось читати те, що написано на екрані. Спершу таке читання було пов’язано зі значними проблемами, оскільки звичайний шрифт був надто дрібним, його було важко читати. Ось чому розробники реалізували можливість зміни гарнітури та розміру шрифту запиту щодо запису зразків.

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

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

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

Для оцінки параметрів звуку засобом калібрування використовується засіб виявлення голосової активності.

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

##### Остаточна обробка

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

Налаштування звуку: остаточна обробка

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

Нехай маємо програму process_audio, якій передаються назви файлів вхідних даних і результатів як параметри (приклад: `process_audio in.wav out.wav`). Тоді командою остаточної обробки буде: `process_audio %1 %2`. Замість %1 і %2 буде вставлено назву файла вхідних даних і назву файла результатів, відповідно.

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

##### Контекст

Кожен зразок, записаний за допомогою Simon, призначається до певної групи зразків.

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

Налаштовування звуку: контекст

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

Наприклад, на наведеному вище знімку вікна показано налаштування, де всі зразки користувача «peter» позначено міткою «peters_samples», а всі зразки користувача «mathias» — міткою «mathias_samples» (щоб дізнатися більше про налаштовування груп зразків, зверніться до розділу щодо налаштовування пристроїв), активна акустична модель міститиме власні зразки поточного користувача, якщо файл `/home/bedahr/.username` містить слово «peter» або «mathias».

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

#### Модель мовлення

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

##### Базова модель

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

Налаштовування базової моделі

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

Базові моделі Simon пакуються у файли формату `.sbm`.

Щоб додати базові моделі до вибраного набору, ви можете імпортувати локальні моделі (Відкрити модель Імпортувати), отримати моделі зі сховища у інтернеті (Відкрити модель Отримати) або створити нові моделі з файлів необроблених даних (Відкрити модель Створити на основі файлів моделі).

Імпортування базової моделі з інтернету

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

Створення базових моделей з необроблених файлів даних

Ви також можете експортувати вашу поточну активну модель за допомогою пункту Експортувати активну модель. У експортованому файлі SBM міститимуться всі дані вашої акустичної моделі (окрім поточного контексту), якими можна поділитися з іншими користувачами Simon.

##### Навчальні дані

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

Налаштовування навчальних даних

Вказана тут частота дискретизації є остаточною частотою дискретизації акустичної моделі. Її не пов’язано безпосередньо з частотою дискретизації запису. Ви самі маєте забезпечити відповідність зразків вказаному формату (зазвичай записом у точній відповідності з вказаною частотою дискретизації або остаточною обробкою зі зміною частоти дискретизації файлів; докладніше про це можна дізнатися з розділу щодо налаштовування звуку).

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

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

##### Профіль мови

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

Налаштовування профілю мови

#### Розширення моделі

Тут ви можете вказати адресу, яку буде використано для автоматичного імпортування даних BOMP. Типовою адресою є адреса копії даних на сервері спільноти Simon.

Розширення моделі

#### Розпізнавання

За допомогою цієї сторінки ви можете налаштувати розпізнавання та синхронізацію моделей з сервером Simond.

##### Сервер

За допомогою сторінки налаштування сервера ви можете вказати параметри з’єднання з Simond.

###### Загальне

Основна програма Simon встановлює з’єднання з сервером Simond (додаткові відомості можна знайти у розділі щодо архітектури комплексу програм).

Налаштування сервера: загальне

Для розрізнення окремих користувачів системи (один сервер Simond, звичайно ж, здатен обслуговувати декілька клієнтських програм Simon) у Simon і Simond використовуються облікові записи користувачів. Для кожного з користувачів визначається власна модель мовлення. Вказана тут пара користувач-пароль використовуватиметься для отримання доступу до Simond. Якщо ім’я користувача виявиться невідомим Simond або пароль буде вказано неправильно, встановити з’єднання з сервером не вдасться. Докладний опис створення записів користувачів у Simond можна знайти у підручнику з Simond.

Доступ до розпізнавання, яке виконується на боці сервера server, може бути отримано не завжди. Наприклад, розпізнавання неможливо розпочати, якщо не скомпільовано акустичної моделі користувача або моделі мови. Ці дані спочатку слід створити (під час синхронізації, якщо доступні всі складові: словник, граматика, навчальні дані). За допомогою позначення пункту автоматичного початку розпізнавання, щойно воно стане доступним, ви можете наказати Simon розпочинати розпізнавання, щойно буде отримано сигнал готовності від сервера (доступні всі потрібні компоненти).

За допомогою позначення пункту З’єднуватися під час запуску можна наказати Simon автоматично встановлювати з’єднання з вказаними серверами Simond, щойно буде завершено завантаження інтерфейсу користувача.

###### Мережа

Simon встановлює з’єднання з Simond за допомогою протоколу TCP/IP.

Налаштування сервера: мережа

У поточній версії (Simon 0.4), шифрування ще не передбачено.

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

У Simon передбачено підтримку налаштовування декількох серверів Simond. Це може бути корисним, якщо ви, наприклад, хочете користуватися Simon на ноутбуці, який встановлює з’єднання з різними серверами, залежно від того, де ви перебуваєте. Ви, наприклад, можете додати запис сервера, яким слід користуватися, коли ви вдома, і сервера, яким слід користуватися на роботі. Під час спроби встановлення з’єднання Simon намагатиметься з’єднатися з кожним із серверів (за пріоритетністю), аж доки не буде знайдено сервер, з яким можна з’єднатися.

Щоб додати запис сервера, просто вкажіть назву вузла або IP-адресу і порт (відокремлені двокрапкою, «:») або скористайтеся діалоговим вікном, яке можна відкрити за допомогою натискання кнопки з синьою стрілочкою, розташованої поряд з полем для введення даних.

##### Синхронізація і створення резервних копій моделей

Тут ви можете налаштувати синхронізацію моделей та відновити старіші версії вашої моделі мовлення.

Синхронізація і створення резервних копій моделей

Simon створює файли вхідних даних мовлення, які після цього компілюються і використовуються сервером Simond (докладніше про це у розділі щодо архітектури комплексу програм).

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

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

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

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

#### Дії

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

##### Розпізнавання

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

Для кожного з цих результатів буде встановлено рівень достовірності у межах від 0 до 1 (де 1 — 100% рівень достовірності).

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

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

Що ви мали на увазі?..

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

##### Шрифт вікна

Багато додатків до Simon мають графічний інтерфейс користувача.

Шрифти у інтерфейсах програми може бути налаштовано централізовано, незалежно від параметрів шрифтів операційної системи.

Введення числа нетиповим шрифтом

##### Списки

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

#### Синтез мовлення з тексту

У деяких частинах &kmyapplication;, зокрема діалоговому вікні додатка команд передбачено можливість озвучення тексту комп’ютерним диктором.

##### Модулі

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

У поточній версії програми передбачено такі модулі обробки:

- Записи

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

- Jovie

  Використовує систему розпізнавання мовлення Jovie. Потребує належного налаштовування Jovie.

- Вебслужба

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

Розпізнавання мовлення: вибір сценарію

##### Записи

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

Такі записані фрагменти впорядковуються за «наборами» для окремих мовців. Набори згодом можна імпортувати або експортувати з метою використання вже створених наборів іншими користувачами &kmyapplication;.

Розпізнавання мовлення: записування

##### Вебслужба

За допомогою модуля вебслужб програма &kmyapplication; здатна користуватися послугами рушіїв озвучення тексту з інтернет-інтерфейсом, зокрема MARY.

Розпізнавання мовлення: вебслужба

Ви можете вказати будь-яку адресу. &kmyapplication; замінить у ній всі записи «%1» на фрагменти тексту, який слід вимовити. Модуль має отримувати відповіді від сервера у форматі файлів `.wav`, які буде відтворено або виведено на пристрій за допомогою шару обробки звукових даних &kmyapplication;, відповідно до налаштувань звукових пристроїв.

#### Соціальна стільниця

Сценарії може бути вивантажено і отримано з інтерфейсу Simon.

Для цього використано можливості соціальної стільниці KDE та особливу категорію сценаріїв Simon на сайті kde-files.org.

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

Реєстрація, звичайно ж, безкоштовна.

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

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

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

Частота кадрів — це швидкість, з якою відеокамера створюватиме унікальні послідовні зображення, які називаються кадрами. Оптимальним є значення частоти кадрів у діапазоні від 5 до 15 кадрів. Така частота забезпечить належну швидкодію.

#### Досвідченим користувачам: коригування параметрів розпізнавання вручну

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

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

##### Julius

Загалом, передбачено дві частини налаштувань Julius, які можна скоригувати:

- adin.jconf

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

  Разом з Simon постачається типовий файл adin.jconf без будь-яких особливих параметрів. Ви можете внести зміни до цього загальносистемного файла. Внесені зміни вплинуть на роботу всіх користувачів, якщо за вашим комп’ютером працює декілька користувачів Simon з різними обліковими записами. Щоб внести зміни до налаштувань окремого користувача, скопіюйте цей файл до теки користувача (див. нижче) і внесіть зміни до копії.

- julius.jconf

  Налаштування сервера Simond безпосередньо впливають на розпізнавання. Цей файл буде оброблено libjulius і libsent безпосередньо.

  Разом з Simond постачається типовий файл julius.jconf. Кожного разу, коли до бази даних Simond додається новий запис користувача, Simond автоматично копіює ці загальносистемні налаштування до теки нового користувача. Після копіювання користувач, звичайно ж, може внести зміни, але ці зміни не стосуватимуться записів інших користувачів. Отже, можна змінити загально системні налаштування («шаблон») без внесення змін до налаштувань вже створених записів користувачів.

Шлях до файлів налаштувань Julius залежить від використаної вами програмної платформи:

##### Файли налаштувань Julius

Файл | Microsoft Windows | GNU/Linux
adin.jconf (система) | (шлях встановлення)\share\apps\Simon\adin.jconf | `kde4-config --prefix`/share/apps/Simon/adin.jconf
adin.jconf (користувач) | %appdata%\.kde\share\apps\Simon\adin.jconf | ~/.kde/share/apps/Simon/adin.jconf
julius.jconf (шаблон) | (шлях встановлення)\share\apps\Simond\default.jconf | `kde4-config --prefix`/share/apps/Simond/default.jconf
julius.jconf (користувач) | %appdata%\.kde\share\apps\Simond\models\(user)\active\julius.jconf | ~/.kde/share/apps/Simond/models/(user)/active/julius.jconf

## Додаткові можливості: створення сценаріїв за допомогою &kmyapplication;

У цій главі викладено настанови для досвідчених користувачів, яким хочеться створити власні сценарії.

Настанови щодо загальних принципів користування можна знайти у главі Користування &kmyapplication;: звичайним користувачам.

### Вступ

Для додавання нового сценарію вам слід спершу створити «оболонку» цього нового сценарію додаванням нового об’єкта сценарію з наступним відкриттям його у головному вікні &kmyapplication;.

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

Сценарій &kmyapplication; складається з таких компонентів:

- Словник

- Граматика

- Навчальні тексти

- Контекст

- Команди

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

### Розпізнавання мовлення: основи

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

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

Модель мовлення складається з таких окремих частин:

- Модель мови

- Акустична модель

#### Модель мови

Модель мови визначає словник та граматику, яку слід використовувати.

##### Словник

У словнику визначаються слова, які має розпізнавати процедура розпізнавання. У вашому словнику має бути визначено кожне зі слів, яким ви будете користуватися у Simon.

Кожен з записів у словнику відповідає точно одному «слову». На відміну від типового значення слова «слово», у Simon «слово» — це унікальне поєднання таких компонентів:

- Назви слова

  (самого писаного слова)

- Категорії

  (граматичної категорії, наприклад: «іменник», «дієслово» тощо)

- Вимови

  (того, як вимовляється слово; у Simon передбачено використання всіх фонетичних символів без спеціальних символів (наприклад кирилиці) та цифр)

Це означає, що форми множини і навіть відмінки одного слова є різними «словами» у Simon. Це важливо для отримання додаткових важелів керування при використанні навіть складної граматики.

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

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

##### Словник зразків

Слово | Категорія | Вимова
Комп’ютер | Іменник | k ax m p y uw t er
Інтернет | Іменник | ih n t er n eh t
Mail | Іменник | m ey l
close | Дієслово | k l ow s

###### Активний словник

Словник, яким користуються для розпізнавання, називатимемо активним словником.

###### Тіньовий словник

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

У Simon передбачено таку можливість. Такий великий еталонний словник називається у програмі «тіньовим словником». Такий тіньовий словник не створюється користувачем, а імпортується зі сторонніх джерел.

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

###### Профіль мови

Окрім тіньового словника, для надання допомоги у транскрибуванні слів Simon може використовувати профіль мови.

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

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

Таке автоматичне визначення транскрипції на основі записаного слова називається перетворенням з графем на фонеми.

Для забезпечення працездатності профілів мови у Simon слід встановити і належно налаштувати засіб перетворення графем на фонеми Sequitur G2P.

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

##### Граматика

Граматика визначає, які з комбінацій слів є правильними.

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

- Комп’ютер, Інтернет для відкриття вікна програми для перегляду інтернету

- Комп’ютер, Пошта

  Щоб відкрити вікно програми для роботи з електронною поштою

- Комп’ютер, закрити

  Щоб закрити поточне вікно

Відповідно до граматики української мови, у вашому словнику мають міститися такі слова:

##### Словник зразків

Слово | Категорія
Комп’ютер | Іменник
Інтернет | Іменник
Mail | Іменник
close | Дієслово

Для роботи з реченнями, визначеними вище, Simon знадобиться така граматика:

- «Іменник Іменник» для речень, подібних до «Комп’ютер Інтернет»

- «Іменник Дієслово» для речень, подібних до «Комп’ютер закрити»

Хоча все це має працювати, подібна схема також уможливлює комбінації «Комп’ютер Комп’ютер», «Інтернет Комп’ютер», «Інтернет Інтернет» тощо, які є очевидно зайвими. Щоб покращити точність розпізнавання, ви можете спробувати створити словник, який краще відбиває набір дій, які ви плануєте виконувати за допомогою Simon.

Важливо пам’ятати, що під час користування Simon ви визначаєте власну «мову». Це означає, що ваші можливості не обмежено правилами граматики, визначеними для будь-якої мови, якою ви бажаєте користуватися у Simon. Для простих випадків команди і керування варто, наприклад, створити нові граматичні правила, які усунуть відмінності між різними командами, спричинені граматичною інформацією, яку не пов’язано з вашим випадком використання.

У наведеному вище прикладі не має значення, що «закрити» — дієслово, а «комп’ютер» і «інтернет» — іменники. Варто брати до уваги не частини мови, а щось інше, що відбиває призначення цих слів у командах:

##### Покращений словник зразків

Слово | Категорія
Комп’ютер | Перемикач
Інтернет | Команда
Mail | Команда
close | Команда

Тепер змінимо граматику на таку:

- Перемикач Команда

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

#### Акустична модель

Акустична модель — вимова у придатному до читання комп’ютером форматі.

Розгляньмо такий зразок словника:

#### Словник зразків

Слово | Категорія | Вимова
Комп’ютер | Іменник | k ax m p y uw t er
Інтернет | Іменник | ih n t er n eh t
Mail | Іменник | m ey l
close | Дієслово | k l ow s

Вимова кожного слова складається зі звуків, які відокремлено один від одного паузами. Наприклад, вимова англійського слова «close» складається з таких звуків:

- k

- l

- ow

- s

Акустичною моделлю використовується факт, який полягає у тому, що вимовлені слова складаються зі звуків, так само, як записані слова складаються з літер. На основі цих даних слова можна поділити на звуки (які відповідають вимові), а потім зібрати результати визначення звуків знову у слова. Елементарні частинки такого поділу на звуки називаються «фонемами».

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

Це значить, що якщо ви додасте до моделі мови слово «clothes», у вашій акустичній моделі вже будуть дані щодо звучання частини слова «clo», оскільки у ній використано такі самі фонеми («k», «l», «ow»).

Для навчання програми акустичній моделі (іншими словами навчання тому, як вимовляються фонеми) ви можете виконати навчання її словам з моделі вашої мови. Тобто виконати процедуру, протягом якої Simon показуватиме вам слова, які ви вимовлятимете вголос. Оскільки ці слова вже є у вашому словнику, Simon вже відомі фонеми, з яких складаються ці слова, отже програма може «вивчити» вашу вимову цих слів.

### Сценарії

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

Керування сценаріями

#### Ієрархії сценаріїв

Ієрархії сценаріїв можна створювати перетягуванням пункту сценарію на інший пункт сценарію зі скиданням.

Керування сценаріями: ієрархії сценаріїв

Ієрархії сценаріїв мають два призначення:

- Система контекстів програми бере до уваги ієрархію сценаріїв: якщо буде вимкнено батьківський сценарій, всі дочірні сценарії також буде вимкнено.

- Якщо ви спробуєте експортувати сценарій, який має дочірні сценарії, &kmyapplication; надасть вам змогу експортувати всі ці сценарії як об’єднаний пакунок сценаріїв. У такий спосіб ви зможете переносити одразу декілька логічно залежних сценаріїв і ділитися ними з іншими користувачами (наприклад, один сценарій «Офіс» може містити допоміжні сценарії «Word», «Excel» тощо).

#### Додавання нового сценарію

Щоб додати новий сценарій, натисніть кнопку Додати. У відповідь буде відкрито нове діалогове вікно.

Додавання сценарію

Під час створення сценарію вам слід надати йому добру описову назву. Якщо ви пізніше маєте намір вивантажити сценарій до сховища файлів KDE, ми радимо вам використовувати певну схему іменування, хоча дотримання цієї схеми і не є обов’язковим: «[<мова>/<базова модель>] <назва>». Якщо, наприклад, вами було створено сценарій для англійської мови, який працюватиме з базовою моделлю Voxforge і керуватиме Mozilla Firefox, назва буде такою: «[EN/VF] Firefox». Якщо ваш сценарій не прив’язано до певного набору фонем (базової моделі), просто пропустіть другий теґ: «[EN] Firefox».

Номер версії сценарію є лише ознакою, за якою простіше розрізняти різні версії сценарію.

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

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

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

#### Редагування сценарію

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

Відкритим діалоговим вікном можна скористатися у той самий спосіб, що і діалоговим вікном додавання сценаріїв.

#### Експортування сценаріїв

Під час отримання сценаріїв програма отримує список з розділу сценаріїв Simon сайта OpenDesktop KDE-files.org.

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

Simon надає вам змогу вивантажувати дані безпосередньо за допомогою інтерфейсу Simon (Експортувати > Оприлюднити).

Майстер вивантаження сценаріїв: сторінка 1 з 4

Майстер вивантаження сценаріїв: сторінка 2 з 4

Майстер вивантаження сценаріїв: сторінка 3 з 4

Майстер вивантаження сценаріїв: сторінка 4 з 4

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

### Словник

Модуль словника визначає набір слів сценарію. Словник Simon

Типово буде показано активний словник. Щоб переглянути тіньовий словник, перейдіть на вкладку Тіньовий словник.

Для кожного слова визначається його «рівень розпізнавання». У поточному стані це просто лічильник кількості записів слова (окремо і разом з іншими словами).

Тіньовий словник

#### Додавання слів

Щоб додати слова до активного словника, скористайтеся майстром додавання слів.

Додавання слів у Simon, загалом кажучи, є двокроковим процесом:

- Визначення слова

- Початкове навчання

##### Визначення слова

По-перше, користувачеві слід вказати слово, яке слід додати. Вибір слова для додавання

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

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

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

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

У деяких словника, які можна імпортувати за допомогою Simon (SPHINX, HTK) не передбачено відмінностей між великими і малими літерами. Пропозиції з таких словників завжди буде показано великими літерами. Ви, звичайно ж, можете виправити регістр літер на той, який вам потрібен.

У деяких словниках, які можна імпортувати за допомогою Simon (SPHINX, PLS і HTK) взагалі не міститься граматичних даних. Всі слова з таких словників буде пов’язано з категорією Невідомі. Під час додавання таких слів вам слід вибрати належний термінал вручну.

###### Вибір категорії вручну

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

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

Нові категорії до спадного меню можна додавати за допомогою кнопки з зеленим знаком «плюс», розташованої поряд зі спадним меню.

###### Визначення фонетичної транскрипції вручну

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

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

(Автором цього підручника як тіньовий словник було імпортовано англійський словник HTK voxforge, який можна отримати зі сторінки voxforge.)

Слова «Firefox» у нашому тіньовому словнику немає, тому ніяких пропозицій показано не буде. Додавання невідомого слова

Втім, очевидно, що слово «firefox» складається з частин «fire» і «fox». Отже, давайте відкриємо вікна словника (ви можете не закривати вікно майстра) за допомогою кнопки Словник на головній панелі інструментів Simon.

Перемкніться на тіньовий словник натисканням заголовка вкладки Тіньовий словник.

Скористайтеся полем «Фільтр» над списком, щоб знайти слово «Fire»: Додавання невідомого слова: пошук вимови

Можна визначити, що слово «Fire» має транскрипцію «f ay r». Тепер виконаємо фільтрування за словом «fox» замість «Fire». У результаті матимемо таке: слово «Fox» має транскрипцію «f ao k s». Отже слово «firefox» матиме транскрипцію «f ay r f ao k s».

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

Тепер ми можемо вказати вимову і змінити категорію відповідним чином. Повністю визначене слово

##### Навчання слову

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

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

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

Приклад: нехай маємо граматичну конструкцію «Перемикач Команда» і слово «Комп’ютер» у категорії «Перемикач» вашого словника. Після цього додамо слово «Firefox», що належить до категорії «Команда». Тоді Simon автоматично попросить вас вимовити «Комп’ютер Firefox» — фразу, яка відповідно до вашої граматики є коректним реченням.

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

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

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

Залишилося лише записати зразки. Запис

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

#### Редагування слова

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

Редагування слова

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

#### Вилучити слово

Щоб вилучити слово з вашої моделі мови, позначте його у списку словника і натисніть кнопку Вилучити. Запис

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

- Пересунути слово до категорії Невикористані.

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

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

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

- Пересунути слово до тіньового словника

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

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

- Вилучити слово, але зберегти зразки

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

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

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

- Вилучити слово остаточно

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

  У разі вибору цього варіанта у системі не залишиться ніяких слідів ні самого слова, ні пов’язаних з ним зразків.

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

#### Особливе навчання

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

#### Імпортування словника

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

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

- Назва слова

- Категорія

- Фонетичне визначення

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

Імпортування словника: вступ

Починаючи з версії 0.3, ви можете імпортувати словники безпосередньо до активного словника. Головним призначенням пункту імпортування у інтерфейсі є полегшення переходу на Simon з нетипових рішень щодо розпізнавання мовлення та імпортування моделей попередніх версій програми (наприклад моделей, які використовувалися у Simon 0.2). Потреби у імпортуванні великих словників до активного словника не повинно виникнути.

Список доступних словників, якими можна скористатися у Simon, наведено у вікі Simon.

Програма Simon здатна імпортувати словники п’яти різних типів:

- HADIFIX

- HTK

- PLS

- SPHINX

- Julius

##### Словник HADIFIX

Simon може імпортувати словники HADIFIX.

Прикладом словника HADIFIX є словник німецької HADIFIX BOMP.

У словниках Hadifix зберігаються дані щодо категорій та вимови.

Через особливе виключення щодо умов ліцензування команда Simon має честь користуватися і пропонувати до отримання чудовий словник BOMP HADIFIX безпосередньо з інтерфейсу Simon.

Імпортування словника: автоматичне імпортування даних BOMP

За допомогою автоматичного імпортування даних у форматі BOMP після того, як ви вкажете ваше ім’я та адресу електронної пошти для команди з університету Бонна, безпосередньо отримати та імпортувати словник з сервера команди розробників Simon.

##### Словник HTK

Simon може імпортувати словники HTK.

Одним з прикладів словника HTK є англійський словник Voxforge.

У словниках Hadifix зберігаються дані щодо вимови, але не зберігаються дані щодо категорій. Всі слова з такого словника буде пов’язано з категорією Невідомі.

##### Словник PLS

Simon може імпортувати словники PLS.

Одним з прикладів словника PLS є словник німецької GPL з Voxforge.

У словниках PLS зберігаються дані щодо вимови, але не зберігаються дані щодо категорій. Всі слова з такого словника буде пов’язано з категорією Невідомі.

##### Словник SPHINX

Simon може імпортувати словники SPHINX.

Одним з прикладів словника SPHINX є цей словник мексиканської іспанської.

У словниках SPHINX зберігаються дані щодо вимови, але не зберігаються дані щодо категорій. Всі слова з такого словника буде пов’язано з категорією Невідомі.

##### Словник Julius

Simon може імпортувати словники Julius.

Одним з прикладів словників Julius є списки слів Simon 0.2.

У словниках Julius зберігаються дані щодо вимови та дані щодо категорій.

#### Створення профілю мови

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

Створення профілю мови

Після натискання кнопки Створити профіль &kmyapplication; виконає аналіз поточного тіньового словника і спробує визначити за ним правила транскрибування.

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

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

### Граматика

У Simon передбачено простий у використанні текстовий інтерфейс для внесення змін до граматики. Ви можете просто працювати зі списком всіх дозволених речень (звичайно ж, без розділових знаків) у спосіб, описаний вище. Граматика

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

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

#### Імпортування граматики

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

Simon може читати та імпортувати текстові файли, а також показує поле, у якому ви можете просто вказати текст для Simon.

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

#### Покращений словник зразків

Слово | Категорія
Комп’ютер | Перемикач
Інтернет | Команда
Mail | Команда
close | Команда

Нам хочеться, щоб Simon розпізнавав речення Комп’ютер Інтернет!. Отже, слід ввести текст за допомогою кнопки Імпортувати текст або створити простий текстовий файл з вмістом Комп’ютер Інтернет! (можна вказати будь-який знак пунктуації) і зберегти його з назвою `Simongrammar.txt`, щоб потім скористатися кнопкою Імпортувати файли. Імпортування граматики: введення тексту Імпортування граматики: текстовий файл Імпортування граматики: вибір файлів

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

У нашому прикладі це означає, що буде знайдено речення Комп’ютер Інтернет. Simon визначить, що Комп’ютер належить до категорії Перемикач, Інтернет — до категорії Команда. Отже, Simon вивчить, що Перемикач Команда є коректним реченням і додасть це речення до своєї граматики.

Під час імпортування вхідні дані буде автоматично поділено за знаками пунктуації (., -, ! тощо), отже згодиться будь-який звичайний текст. Засіб імпортування автоматично об’єднає дублікати конструкцій речень (навіть якщо ці дублікати зберігаються у різних файлах) і додасть сукупне речення (всі можливі комбінації), якщо слово пов’язано з декількома категоріями.

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

#### Перейменування категорій

За допомогою майстра перейменування категорій можна перейменовувати категорії у вашому активному словнику, вашому тіньовому словнику та у граматиці. Перейменування категорії

#### Об’єднання категорій

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

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

### Навчання

За допомогою модуля навчання ви можете покращити вашу акустичну модель.

У інтерфейсі ви побачите таблицю всіх встановлених навчальних текстів з трьома стовпчиками:

- Назва

  Описова назва тексту.

- Сторінки

  Кількість «сторінок», з яких складається текст. Кожній сторінці відповідає один запис.

- Рівень розпізнавання

  Подібний до відповідного значення у словнику. Відбиває ймовірність того, що Simon розпізнає слова (вищий рівень — більше ймовірність правильного розпізнавання). Рівень розпізнавання навчального тексту визначається як середній рівень розпізнавання всіх слів, з яких складається текст.

Навчання

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

- Зразки вашого мовлення

- Транскрипції цих зразків

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

Навчання: попередження щодо слів, яких не вистачає

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

Навчання (читання) навчальних текстів працює так само, як початкове навчання під час додавання нового слова.

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

Виконується навчання

#### Каталоги сховищ даних

Навчальні тексти зберігаються у двох місцях:

- Linux: `~/.kde/share/apps/Simon/texts`

  Windows: `%appdata%\.kde\share\apps\Simon\texts`

  Це тексти поточного користувача. Такі тексти можна вилучати і додавати за допомогою Simon (див. нижче).

- Linux: ``kde4-config --prefix`/share/apps/Simon/texts`

  Windows: `(тека встановлення)\share\apps\Simon\texts`

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

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

Файли XML (для кожного з текстів) можна просто пересувати з одного місця у інше, але для такого пересування, найімовірніше, вам потрібні будуть права доступу адміністратора системи.

#### Додавання текстів

Майстер імпортування навчальних текстів Для додавання текстів у майстрі передбачено доволі простий спосіб.

Під час імпортування текстових файлів Simon намагатиметься виявити окремі речення у автоматичному режимі і поділити текст на відповідні «сторінки» (записи). «Реченнями» за алгоритмом розпізнавання вважаються всі частини тексту між «звичайними» знаками пунктуації («.», «!», «?», «...», «"», тощо) та розривами рядків. Кожне таке «речення» буде розташовано на окремій сторінці.

У Simon передбачено підтримку двох різних джерел нових навчальних текстів.

##### Додавання навчальних текстів

Майстер імпортування навчальних текстів: додавання навчальних текстів Просте введення навчального тексту до поля введення тексту.

##### Локальні текстові файли

Майстер імпортування навчальних текстів: локальні текстові файли Програма Simon здатна імпортувати дані з текстових файлів з метою використання даних як навчальних текстів.

#### Інтерактивне навчання

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

Відповідний пункт можна знайти у меню словника Simon.

Особливе навчання: вибір слів

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

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

Особливе навчання: вивчення слів

Якщо навчання виконуватиметься для понад 9 слів, Simon автоматично поділить текст порівну між декількома сторінками.

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

### Контекст

У &kmyapplication; передбачено шар контексту, за допомогою якого ви можете дати знати Simon, у який спосіб слід автоматично змінювати налаштування відповідно до поточного контексту роботи.

Наприклад, ви можете повідомити &kmyapplication;, що команди, подібні до «Створити вкладку», слід виконувати, лише якщо запущено програму Mozilla Firefox і якщо вікно цієї програми є активним.

Дані щодо контексту можуть впливати на три основних параметри роботи програми:

- Вибір сценарію

- Групи зразків

- Активні мікрофони

#### Вибір сценарію

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

Контекст сценарію

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

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

У головному вікні &kmyapplication; також буде показано поточний список використаних сценаріїв. Пункти сценаріїв, які було вимкнено через вимоги до вмикання (умови контексту), у списку буде позначено світло-сірим кольором тексту та курсивом. На наведеному нижче знімку, наприклад, тимчасово вимкненим є сценарій для Amarok.

Розпізнавання вимкнених сценаріїв

Ті самі візуальні підказки (сірий колір та курсив для невиконаних критеріїв вмикання) також стосуються окремих умов щодо контексту у меню контексту.

#### Групи зразків

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

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

#### Умови контексту

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

Зазвичай, контекстні умови поєднуються на основі логічної операції «ТА». Наприклад, якщо вмикання ресурсу пов’язане з виконанням двох умов, А і Б, його буде увімкнено, лише якщо одночасно виконуються умови А і Б. Для моделювання альтернативних умов («А, або Б, або обидві умови») скористайтеся зв’язуванням умов на основі «або».

Якщо потрібно, умови можна інвертувати. Інвертування умови означатиме, що якщо умова виконуватиметься, вмикання не відбуватиметься, і навпаки.

##### Активне вікно

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

Умова активного вікна

##### &DBus;

За допомогою додатка умов &DBus; Simon може стежити за сторонніми програмами, які надаватимуть йому дані щодо свого стану за допомогою каналів &DBus;.

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

Умова &DBus;

Наприклад, на наведеному вище знімку умову &DBus; налаштовано таким чином, що вона виконується, якщо музичний програвач Tomahawk відтворює якийсь твір, і не виконується, якщо відтворення не відбувається.

##### Виявлення обличчя

Умова виявлення обличчя виконується, якщо шаром відеоідентифікації &kmyapplication; буде встановлено, щоб перед налаштованою відеокамерою хтось сидить.

Умова виявлення обличчя

##### Вміст файла

Цей додаток умови визначає умову, яка виконується, якщо у вказаному файлі містяться вказані дані.

Програма стежитиме за змінами у файлі.

Умова щодо вмісту файла

##### Виявлення губ

Умова виявлення руху губ виконується, якщо шаром відеоідентифікації &kmyapplication; буде встановлено, щоб перед налаштованою відеокамерою хтось сидить перед камерою і щось говорить (рухає губами).

Умова виявлення руху губ

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

##### Зв’язування умов «або»

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

В’язка умов «або» може складатися з довільної кількості умов, кожна з яких також може бути в’язкою умов «або».

Зв’язування умов «або»

##### Відкрито процес

Виконується, якщо буде виявлено процес з вказаною назвою виконуваного файла.

Умови контексту

### Команди

Якщо Simon увімкнено, і програмі вдалося розпізнати якісь дані, результат розпізнавання буде передано завантаженим додаткам (за вказаним пріоритетом) для обробки.

Діалогове вікно команд Simon

Систему команд можна порівняти з групою робітників. Кожному з них відомо, як виконувати певне завдання (наприклад, «Іван» знає, як запустити програму, а «Петрові» відомий спосіб відкрити теку тощо). Щойно Simon буде розпізнано певну команду, дані щодо неї буде передано «Івану», який перевірить, чи не було цю команду спрямовано йому. Якщо спосіб обробки цієї команди виявиться невідомим, він передасть дані «Петру» тощо. Якщо жоден з завантажених додатків не вважатиме команду призначеною йому, цю команду буде проігноровано. Порядок, у якому розпізнаний результат передаватиметься окремим командам (робітникам) визначається у параметрах команд (Команди Керування додатками).

Налаштування дій Simon

Кожен додаток можна пов’язати з «перемикачем». За допомогою перемикачів можна чітко розділити сфери відповідальності кожного з додатків.

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

На практиці ви можете створювати команди виконання програм, зокрема «Firefox» для відкриття вікна популярної програми для перегляду інтернету, або команди місць, зокрема «Google» для відкриття сторінки пошукової системи. Якщо ви призначите перемикач «Запустити» до додатка виконання програм, а перемикач «Відкрити» до додатка місць, вам потрібно буде сказати «Запустити Firefox» (замість простого «Firefox», якщо ви не використовуватимете перемикач для додатка виконання програм) і «Відкрити Google», щоб відкрити сторінку пошукової системи (замість простого «Google»).

Використання перемикачів, звичайно ж, не є обов’язковим, ви можете без проблем користуватися Simon без потреби у визначенні перемикачів додатків (хоча для багатьох додатків передбачено типовий перемикач — «Комп’ютер», який вам слід вилучити). Але навіть якщо ви використовуєте лише один перемикач для всіх команд (наприклад, «Комп’ютер» у командах «Комп’ютер, Firefox» і «Комп’ютер, Google»), використання перемикачів має ту перевагу, що значно зменшує кількість помилкових спрацьовувань.

У діалоговому вікні команд Simon у верхньому правому куті панелі налаштовування буде показано всю фразу, пов’язану з командою.

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

Кожна команда має власну назву (якою її можна викликати), піктограму і додаткові поля, перелік яких залежить від типу додатка (див. вище).

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

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

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

Налаштування команд голосового інтерфейсу

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

Деякі з додатків (наприклад додаток стільничної ґратки або додаток калькулятора) також можуть додавати власні пункти до меню Дії.

Вбудовування команди до головного вікна програми

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

Умови запуску команд можуть містити заповнювачі у форматі «%<номер>» (кожен такий заповнювач відповідає одному довільному слову), або у форматі «%%<номер>» (такий заповнювач відповідає довільній кількості решти слів). Наприклад, результат розпізнавання «Наступне вікно» відповідатиме умовам запуску «Наступне %1», «Наступне %%1» та «%%1», але не відповідатиме умовам «%1», «Наступне вікно %1» та «%%1 Наступне вікно».

#### Команди виконання програм

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

Команди виконання програм

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

Нехай виконуваним файлом є `C:\Program Files\Mozilla Firefox\firefox.exe`, а локальним файлом html — `C:\test file.html`. Тоді рядок для Виконуваного файла буде: `"C:\Program Files\Mozilla Firefox\firefox.exe" "C:\test file.html"`.

Пункт робочої теки визначає місце, звідки слід запускати програму. Якщо, наприклад, робочою текою є `C:\folder`, команда `"C:\Program Files\Mozilla Firefox\firefox.exe" file.html` визначатиме, що програма має працювати з файлом `C:\folder\file.html`.

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

##### Програми імпортування

Для полегшення налаштування у Simon передбачено діалогове вікно налаштування, за допомогою якого ви можете вибирати програми безпосередньо з меню &kde;.

Цим пунктом не можна скористатися у Microsoft Windows.

Програми імпортування

У цьому діалоговому вікні буде показано список всіх програм, які мають власні пункти у меню &kde; у відповідних категоріях.

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

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

#### Команди місць

За допомогою команд місць ви можете наказати Simon відкрити сторінку з будь-якою вказаною адресою. Оскільки Simon просто передає адресу обробникові адрес програмної платформи, можна користуватися будь-якими протоколами платформи, зокрема «remote:/» (у &Linux;/&kde;) або навіть «вебскороченнями» &kde;.

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

Місця

Щоб пов’язати з командою певну адресу, ви можете вказати її вручну у полі адреси (спочатку натисніть кнопку Вручну) або імпортувати за допомогою майстра імпортування записів місць.

##### Імпортування місць

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

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

Щоб додати віддалену адресу (HTTP, FTP тощо), виберіть пункт Віддалена адреса.

Імпортування місць: віддалена адреса

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

#### Команди скорочень

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

Команда імітуватиме натискання клавіш, наприклад &Ctrl;C або &Alt;F4.

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

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

Simon захопить скорочення і пов’яже його з командою.

Через технічні обмеження деякі з клавіатурних скорочень у Microsoft Windows не може бути перехоплено Simon (це зокрема скорочення &Ctrl;&Alt;Del і &Alt;F4). Вибрати ці скорочення можна зі списку, розташованого під вищезгаданою кнопкою скорочення.

Поле вибору невидиме на знімку вікна, наведеному вище, оскільки список буде показано, лише у версії Simon для Microsoft Windows.

#### Команди текстових макросів

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

Визначення команд текстових макросів

#### Команди списку

Команди списку створено з метою поєднання декількох команд (передбачено підтримку всіх типів команд) у одному списку. Користувач може просто вибрати зі списку пункт з певним номером, вимовивши відповідну цифру (від 1 до 9).

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

Визначення команд списку

Команди списку особливо корисні у випадках використання команд зі складними перемикачами або команд, які можна згрупувати за певною загальною ознакою. Типовим прикладом є команда «Меню запуску», яку призначено для показу списку програм, які слід запустити. За допомогою такого списку можна користуватися командами виконання програм з добрими описовими назвами (наприклад, «OpenOffice.org Writer 3.1») без потреби у додаванні відповідних слів до словника та визначення граматичних правил вмикання відповідних команд.

Команди різних типів, звичайно ж, можна поєднувати.

##### Вікно списку команд

Після виклику ця команда показує у центрі екрана список команд. Розміри списку буде автоматично підібрано за кількістю пунктів у цьому списку.

Визначення команд списку

Користувач може наказувати системі виконати команду, що міститься у списку, простим вимовленням її номера у списку (у нашому прикладі «Один» для запуску Mozilla Firefox).

Доки активним (показаним) є список команд, всі вхідні дані (інші команди, натискання клавіш тощо), які не спрямовано на керування списком, ігноруватимуться. Закрити вікно можна за допомогою натискання кнопки Скасувати або голосової команди «Cancel» («Скасувати»).

Якщо у списку буде більше 9 пунктів, Simon додасть до списку пункти «Далі» і «Назад» (команду «Нуль» буде пов’язано з пунктом «Назад», а команду «Дев’ять» з пунктом «Далі»). Список команд з декількома записами

##### Налаштування пунктів списку

Типово у списку команд використовуються наведені нижче слова. Щоб скористатися усіма можливостями списку команд, вам слід створити модель мови і акустичну модель, у якій буде передбачено такі «речення»:

- Нуль

- Один

- Два

- Три

- Чотири

- П’ять

- Шість

- Сім

- Вісім

- Дев’ять

- Скасувати

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

- Скористайтеся послідовністю пунктів Команди > Керування додатками > Загальне > Списки для налаштування довгого списку сценаріїв.

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

Команди списку використовуються іншими додатками, зокрема додатком стільничної ґратки. Налаштовування перемикачів впливає на показані списки.

#### Складені команди

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

Після розпізнавання відповідної команди буде виконано вказану послідовність команд. Між виконанням команд можна додавати паузи.

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

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

Визначення складених команд

За допомогою складених команд користувач може створювати складні «макроси». На наведеному вище знімку, можна бачити приклад складеної команди, яка виконує такі дії:

- Запускає Kopete (команда виконання програми)

- Чекає 2000 мс на завершення запуску Kopete

- Вводить «Mathias» (текстова макрокоманда), що призводить до вибору у списку контактів пункту «Mathias»

- Натискає Enter (команда скорочення)

- Чекає 1000 мс на відкриття вікна спілкування

- Пише «Hi!» (текстова макрокоманда). У тексті, пов’язаному з цією командою міститься символ нового рядка, отже повідомлення буде надіслано.

- Натиснути &Alt;F4 (команда скорочення), щоб закрити вікно спілкування

- Натиснути &Alt;F4 (команда скорочення), щоб закрити головне вікно &kopete;

#### Стільнична ґратка

За допомогою стільничної ґратки користувач може керувати вказівником миші за допомогою голосових команд.

Стільнична ґратка Додаток стільничної ґратки ділить вікно на дев’ять частин, які пронумеровано цифрами від 1 до 9. Після того, як буде вимовлено цифру, відповідну частину вікна буде знову поділено на дев’ять частин з номерами від 1 до 9 тощо. Такий поділ можна виконувати три рази. Після вибору четвертої за ліком частини вікно додатка стільничної ґратки буде закрито, а Simon виконає клацання кнопкою миші на вибраній вами ділянці.

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

Стільнична ґратка: вибір клацання

Доки додаток стільничної ґратки буде задіяно (показано), всі вхідні дані, не спрямовані на керування самим додатком (інші команди тощо) будуть ігноруватися. Щоб скасувати дії з додатком, просто скажіть «Cancel» («Скасувати»).

Додаток стільничної ґратки після завантаження створює власну сторінку налаштувань у вікні налаштувань програми.

Налаштовування стільничної ґратки Звичайно ж, перемикач, який викликатиме команду стільничної ґратки, можна налаштувати. Крім того, користувач може скористатися «справжньою» або «імітованою» прозорістю. Якщо у вашому графічному середовищі передбачено можливості композитного показу зображення («стільничні ефекти»), ви можете без проблем скористатися «справжньою» прозорістю, яка зробить стільничну ґратку прозорою. Якщо на вашій платформі не передбачено можливостей композитного показу, Simon імітуватиме прозорість, роблячи знімки вікон до показу стільничної ґратки і показуючи створений знімок під стільничною ґраткою.

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

Втім, майже підтримку композитного показу (справжньої прозорості) передбачено майже в усіх сучасних операційних системах.

Серед цих систем:

- Microsoft Windows 2000 або новіші (XP, Vista, 7)

- GNU/Linux з використанням композитного керування вікнами, зокрема за допомогою Compiz, KWin4, xcompmgr тощо.

Типово, у додатку стільничної ґратки для вибору окремих полів використовуються цифри. Для користування цим додатком у вашій моделі мови та акустичній моделях мають міститися такі «речення»:

- Один

- Два

- Три

- Чотири

- П’ять

- Шість

- Сім

- Вісім

- Дев’ять

- Скасувати

Щоб налаштувати ці перемикачі, просто налаштуйте команди, пов’язані з додатком.

Стільнична ґратка: налаштовування пунктів списку

#### Кількість входів

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

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

- Додавання слів «одинадцять», «дванадцять» тощо

  Хоча такий спосіб і виглядає як найприйнятніший, оскільки надає користувачеві змогу диктувати числа, подібні до «п’ятсотсімдесятдва», легко переконатися, що додати такі слова буде непросто, а ще важче буде навчити цим словам програму. А як щодо «двохтисячдев’ятисотдвох»? На якому числі слід зупинитися?

- Диктування слова за допомогою вимови окремих цифр

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

  Втім, багато програм (зокрема чудовий додаток перегляду сторінок у firefox без використання миші) покладаються на введення користувачем значної кількості цифр протягом доволі короткого проміжку часу (наприклад, той самий додаток типово чекатиме точно 500 мс на введення цифри). Отже, якщо вам потрібно ввести «52», вам доведеться сказати «П’ять (пауза) Два». Через потрібну вам паузу, програми (зокрема додаток перегляду без використання миші) вважатимуть, що після вимовлення «П’ять» команду вже завершено.

Додаток введення чисел, після його вмикання, відкриває подібний до калькулятора інтерфейс введення числа. Введені цифри можна виправляти за допомогою слова «Back» («Назад»). Передбачено можливість введення десяткової коми за допомогою слова «Comma» («Кома»). Після того, як буде вимовлено слово «Ok» («Гаразд») число буде передано до буфера введення з клавіатури. Оскільки голосові дані і виправлення обробляється самим додатком, програма, яка отримає введені дані, вважатиме, що між введенням окремих цифр було зафіксовано паузу у декілька мілісекунд. Додаток введення чисел

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

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

Додаток введення чисел

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

Типово, у додатку введення чисел використовуються голосові відповідники цифр для вибору цифр та ще пара команд керування. Для користування цим додатком у вашій моделі мови та акустичній моделях мають міститися такі «речення»:

- Нуль

- Один

- Два

- Три

- Чотири

- П’ять

- Шість

- Сім

- Вісім

- Дев’ять

- Назад

- Кома

- Гаразд

- Скасувати

Щоб налаштувати ці перемикачі, просто налаштуйте команди, пов’язані з додатком.

Додаток введення чисел

#### Диктування

Додаток диктування виконує запис результатів розпізнавання за допомогою імітування натискання клавіш.

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

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

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

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

#### Штучний інтелект

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

За допомогою систем синтезу мовлення з тексту комп’ютер може «розмовляти» з користувачем.

Для створення проявів «інтелекту» у додатку використовуються дані AIML. Передбачено підтримку більшості наборів AIML. Разом з додатком постачається ці дані для популярного бота A. L. I. C. E. та його німецької версії.

Додаток штучного інтелекту

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

Simon шукає набори даних AIML у такій теці:

- GNU/Linux: ``kde4-config --prefix`/share/apps/ai/aimls/`

- Microsoft Windows: `[тека встановлення (типово C:\Program Files\Simon 0.2\)]\share\apps\ai\aimls\`

Щоб додати новий набір, просто створіть нову теку з описовою назвою і скопіюйте до неї файли .aiml.

Для коригування профілю вашого бота внесіть зміни до файлів bot.xml і vars.xml у таких теках:

- GNU/Linux: ``kde4-config --prefix`/share/apps/ai/util/`

- Microsoft Windows: `[тека встановлення (типово C:\Program Files\Simon 0.2\)]\share\apps\ai\util\`

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

Рекомендуємо вам не використовувати умови вмикання для цього додатка, щоб «спілкування» виглядало природніше.

#### Калькулятор

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

Додаток калькулятора

Калькулятор розширює можливості додатка Введення чисел шляхом реалізації додаткових можливостей.

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

Додаток калькулятора: налаштовування

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

Додаток калькулятора: мінімалістичний інтерфейс

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

Після команди «Ok» («Гаразд») калькулятор типово запитає про дії з результатом. Ви можете, наприклад, наказати додаткові вивести обчислення, результат, результат і обчислення тощо. Окрім вибору варіанта з показаного списку після натискання кнопки Гаразд, можна також визначити дію за допомогою налаштувань додатка.

Додаток калькулятора: вибір режиму виведення результатів

#### Фільтр

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

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

Додаток фільтрування: налаштовування

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

Крім того, додаток реєструє команди голосового інтерфейсу для вмикання та вимикання фільтрування.

Загалом фільтр може перебувати у трьох станах:

- Неактивний

  Типовий стан. Всі результати розпізнавання буде просто передано без обробки.

- Напівактивний (якщо позначено пункт Двокрокова активація)

  - Якщо наступною командою буде команда «Вимкнути фільтр», фільтр буде переведено до стану «вимкнено».

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

- Активний

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

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

#### Навчання вимові

Навчання вимові у поєднанні з якісною статичною базовою моделлю може бути потужним інструментом покращення якості вашої вимови під час вивчення нових мов.

Навчання вимові

Цей додаток проситиме вас вимовити певні слова. Після вимовляння буде виконано розпізнавання слів і порівняння з моделлю мовлення, якою у цьому випадку має бути базова модель на основі записів людини, для якої мова є рідною. Simon показуватиме рівень розпізнавання (подібність вашої версії до версії, яка зберігається у базовій моделі).

Чим ближчою буде вимова до еталонної, тим вищим буде рівень розпізнавання.

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

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

Навчання вимові: налаштовування

#### Клавіатура

Додаток клавіатури показує віртуальну, керовану голосом, клавіатуру.

Клавіатура

Клавіатура складається з декількох вкладок, на кожній може містити багато клавіш. Сукупність вкладок і клавіш зібрано у «набори».

Ви можете вибрати набору у налаштуваннях, а можете створити власні «з нуля» за допомогою вікна налаштовування клавіатурних команд.

Клавіатура : налаштування

Кожній клавіші, зазвичай, відповідає один символ, але з клавішею можна пов’язати і цілі уривки тексту або навіть комбінації клавіш. Через це набори клавіш можуть містити особливі клавіші, зокрема клавішу «вибрати все» або клавішу «пароль» (яка набирає увесь ваш пароль).

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

Як і з усіма голосовими перемикачами, вилучення пов’язаної команди призводити і до вилучення кнопок.

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

Клавіатура: панель клавіш

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

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

Клавіатура: цифровий блок

Клавіші на цифровій панелі можна налаштувати на виконання команд голосового інтерфейсу.

#### Діалогове вікно

За допомогою додатка діалогів користувачі можуть керувати &kmyapplication;, надаючи відповіді у запрограмованому діалозі.

##### Компонування діалогу

У &kmyapplication; діалогом є послідовність різних станів програми. З кожним зі станів можна пов’язати текст та декілька варіантів відповідей.

Компонування діалогу

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

У тексті може бути використано пов’язані значення та шаблони.

Компонування діалогу: варіанти

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

Компонування діалогу: додавання варіанта

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

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

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

Компонування діалогу: аватар

##### Діалог: пов’язані значення

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

Наприклад, у тексті діалогу «Це $x$» запис «$x$» буде замінено пов’язаним значенням з назвою «x».

Пов’язані значення

Передбачено чотири типи пов’язаних значень:

- Статичне

  Пов’язані значення: статичні

  Статичні пов’язані значення завжди дорівнюють певному фрагменту тексту. Такі значення можуть бути корисними для персоналізації діалогу (наприклад замінюватися на ім’я користувача).

- QtScript

  Пов’язані значення: QtScript

  Пов’язані значення QtScript визначатимуться як результат виконання введеного коду мовою QtScript.

- Параметри команд

  Пов’язані значення: параметри команд

  Якщо у команді вмикання діалогу (команді &kmyapplication;, яка започатковує діалог) використовуються заповнювачі, доступ до визначення значень цих заповнювачів можна отримати за допомогою пов’язаних значень параметрів (аргументів) команди. Номер у полі Аргументt відповідає номеру заповнювача, доступ до якого вам потрібен.

  Наприклад, якщо діалог починається з команди «Викликати %1», а «n» пов’язане значення параметра команди, започаткування діалогу розпізнаванням голосової команди «Викликати Петра», призведе до заміни тексту діалогу «Ви справді хочете викликати $n$?» на «Ви справді хочете викликати Петра?».

- Рушій даних Плазми

  Пов’язані значення: рушій даних Плазми

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

##### Шаблонні варіанти

Подальшу параметризацію текстів діалогів можна виконати за допомогою шаблонних варіантів.

Шаблонні варіанти

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

Наприклад, шаблонний варіант «formal» на наведеному вище знімку, дасть змогу отримувати текст «Would you please {{{formal}}be quiet{{elseformal}}shut up{{endformal}}» або «Чи не могли б ви {{{formal}}потихше{{elseformal}}стулити пельку{{endformal}}» «Would you please be quit«» або «Would you please shut up», залежно від значення шаблонного варіанта «formal». Варіант з else можна пропустити, якщо він є непотрібним (наприклад, "Would you {{formal}}please {{endformal}}be quiet").

##### Аватари

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

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

Діалогове вікно: аватари

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

##### Виведення

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

Діалогове вікно: виведення даних

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

#### Akonadi

За допомогою додатка Akonadi &kmyapplication; може бути включено до інфраструктури системи керування особистими даними KDE.

Налаштування команд Akonadi

Додаток має два основних призначення:

- Виконувати команди Simon за розкладом

  Додаток Akonadi може спостерігати за певною збіркою (календарем) і реагувати на записи, резюме яких починається з вказаного префікса. Типово, таким префіксом є «[simon-command]«». Тобто, записи подій у форматі «[simon-command] <назва додатка>//<назва команди>» вмикатимуть відповідну команду &kmyapplication; у час початку події.

  Назви додатків і команд збігаються з пунктами, показаному у діалоговому вікні команд і необов’язково мають відповідати командам у тому самому сценарії, що і екземпляр додатка Akonadi.

- Показувати нагадування щодо подій у вказаному календарі

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

#### &DBus;

За допомогою додатка обробки команд &DBus; Simon може безпосередньо викликати експортовані методи сторонніх програм.

Наприклад, на наведеному нижче знімку викликається метод «Pause» («призупинити») інтерфейсу MPRIS музичного програвача Tomahawk.

Команда &DBus;

#### JSON

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

Команда JSON

#### VRPN

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

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

За допомогою сторінки налаштовування ви можете вказати порт, на якому має працювати сервер, та визначити довільний список кнопок. Кожен з цих об’єктів кнопок матиме лише один запис «button» (теоретично, у VRPN кнопці може відповідати декілька записів для натискання).

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

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

Наприклад, на наведеному вище знімку вікна визначено команду натискання з відпусканням («click») для кнопки VRPN з індексом 0 кнопкового пристрою, доступ до якого здійснюється за назвою «ButtonB@localhost».

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

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

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

&kmyapplication;

Авторські права на програму належать Peter Grasch peter.grasch@bedahr.org, Phillip Goriup, Tschernegg Susanne, Bettina Sturmann, Martin Gigerl, 2006–2009.

Авторські права на документацію належать Peter Grasch peter.grasch@bedahr.org, 2009.

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

&underFDL; &underGPL;

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

Настанови зі встановлення можна знайти у нашій вікі.

&documentation.index;