<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!-- Define an entity for your application if it is not part of KDE
       CVS -->
  <!ENTITY kmyapplication "<application
>KTTS</application
>">
  <!ENTITY kappname "&kmyapplication;"
><!-- replace kmyapplication here
                                            do *not* replace kappname-->
  <!ENTITY package "kdeaccessibility"
><!-- kdebase, kdeadmin, etc.  Leave
                                     this unchanged if your
                                     application is not maintained in KDE CVS -->
  <!ENTITY mbrola "<application
>MBROLA</application
>">
  <!ENTITY % imageobjectco.module "INCLUDE">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Russian "INCLUDE"
> <!-- ONLY If you are writing non-English 
                                     original documentation, change 
                                     the language here -->
    
  <!-- Do not define any other entities; instead, use the entities
       from entities/general.entities and $LANG/user.entities. -->
]>
<!-- kdoctemplate v0.9 January 10 2003
     Changes to comments to clarify entity usage January 10 2003
     Minor update to "Credits and Licenses" section on August 24, 2000
     Removed "Revision history" section on 22 January 2001
     Changed to Installation/Help menu entities 18 October 2001
     Other minor cleanup and changes 18 October 2001 
     FPI change and minor changes November 2002 -->

<!--
This template was designed by: David Rugge davidrugge@mindspring.com
with lots of help from: Eric Bischoff ebisch@cybercable.tm.fr
and Frederik Fouvry fouvry@sfs.nphil.uni-tuebingen.de
of the KDE DocBook team.

You may freely use this template for writing any sort of KDE documentation.
If you have any changes or improvements, please let us know.

Remember:
- in XML, the case of the <tags
> and attributes is relevant ;
- also, quote all attributes.

Please don't forget to remove all these comments in your final documentation,
thanks ;-).
-->

<!-- ................................................................ -->

<!-- The language must NOT be changed here. -->
<!-- If you are writing original documentation in a language other -->
<!-- than English, change the language above ONLY, not here -->
<book lang="&language;">

<!-- This header contains all of the meta-information for the document such
as Authors, publish date, the abstract, and Keywords -->

<bookinfo>
<title
>Справочник по &kmyapplication;</title>

<authorgroup>
<author
><personname
> <firstname
>Gary</firstname
> <othername
>R.</othername
> <surname
>Cramblitt</surname
> </personname
> <email
>garycramblitt@comcast.net</email
> </author>
</authorgroup>

<othercredit role="translator"
><firstname
>Иван</firstname
><surname
>Петров</surname
><affiliation
><address
><email
>pis00593@udmglzs.udmene.ru</email
></address
></affiliation
><contrib
>Перевод на русский</contrib
></othercredit
> 

<copyright>
<year
>2004-2005</year>
<holder
>Gary R. Cramblitt</holder>
</copyright>
<!-- Translators: put here the copyright notice of the translation -->
<!-- Put here the FDL notice.  Read the explanation in fdl-notice.docbook 
     and in the FDL itself on how to use it. -->
<legalnotice
>&FDLNotice;</legalnotice>

<!-- Date and version information of the documentation
Don't forget to include this last date and this last revision number, we
need them for translation coordination !
Please respect the format of the date (YYYY-MM-DD) and of the version
(V.MM.LL), it could be used by automation scripts.
Do NOT change these in the translation. -->

<date
>2005-05-04</date>
<releaseinfo
>1.04.00</releaseinfo>

<!-- Abstract about this handbook -->

<abstract>
<para
>&kmyapplication; - система синтеза речи KDE. Это модульная служба, позволяющая любым приложениям KDE (и не только) разговаривать, используя интерфейс DCOP. </para>

<para
>&kmyapplication; - реализация API синтеза речи KDE.</para>

</abstract>

<!-- This is a set of Keywords for indexing by search engines.
Please at least include KDE, the KDE package it is in, the name
 of your application, and a few relevant keywords. -->

<keywordset>
<keyword
>KDE</keyword>
<keyword
>специальные возможности</keyword>
<keyword
>kdeaccessibility</keyword>
<keyword
>TTS</keyword>
<keyword
>Синтез речи</keyword>
<keyword
>KTTSD</keyword>
<keyword
>kttsmgr</keyword>
<keyword
>festival</keyword>
<keyword
>flite</keyword>
<keyword
>hadifix</keyword>
<keyword
>MBROLA</keyword>
<keyword
>freetts</keyword>
<keyword
>epos</keyword>
<keyword
>SSML</keyword>
</keywordset>

</bookinfo>

<!-- The contents of the documentation begin here.  Label
each chapter so with the id attribute. This is necessary for two reasons: it
allows you to easily reference the chapter from other chapters of your
document, and if there is no ID, the name of the generated HTML files will vary
from time to time making it hard to manage for maintainers and for the CVS
system. Any chapter labelled (OPTIONAL) may be left out at the author's
discretion. Other chapters should not be left out in order to maintain a
consistent documentation style across all KDE apps. -->

<!-- ====================================================================== -->

<chapter id="introduction">
<title
>Введение</title>

<!-- The introduction chapter contains a brief introduction for the
application that explains what it does and where to report
problems. Basically a long version of the abstract.  Don't include a
revision history. (see installation appendix comment) -->

<para
>&kmyapplication; - это подсистема синтеза речи KDE. Она предоставляет программистам KDE простой интерфейс (API) к системам синтеза речи для использования в их программах. Кроме того, она также имеет некоторые приятные возможности для обычных пользователей.</para>

<para
>Возможности для пользователей:</para>

<itemizedlist>
<listitem
><para
>Произнесение содержимого текстовых файлов.</para
></listitem>
<listitem
><para
>Произнесение оповещений KDE (KNotify).</para
></listitem>
<listitem
><para
>Произнесение, частично или полностью, текста web-страницы в Konqueror.</para
></listitem>
<listitem
><para
>Произнесение, частично или полностью, текста в текстовом редакторе Kate, включая те случаи, когда Kate встроен в другое приложение KDE.</para
></listitem>
<listitem
><para
>Длинный текст разбивается на предложения. Пользователь может возвращаться на предыдущее предложение или абзац, прослушивать снова, делать паузу или останавливать воспроизведение.</para
></listitem>
<listitem
><para
>Вывод звука производится через aRts или GStreamer (версии 0.8.7 или выше)</para
></listitem>
<listitem
><para
>Пользовательские фильтры для замены неправильно произносимых слов, выбора синтезаторов произношения, преобразование XML-документов.</para
></listitem>
</itemizedlist>

<para
>Возможности для программистов:</para>

<itemizedlist>
<listitem
><para
>Система приоритетов для вывода звуковых предупреждений и сообщений, появляющихся на экране во время произнесения обычных текстов.</para
></listitem>
<listitem
><para
>Модульная архитектура для поддержки широкого спектра движков синтеза речи.</para
></listitem>
<listitem
><para
>Поддержка синтеза речи из командной строки с использованием DCOP-утилит KDE.</para
></listitem>
<listitem
><para
>Легковесный и простой в использовании интерфейс для приложений, использующих голосовой вывод.</para
></listitem>
<listitem
><para
>Приложения не должны заботиться о конфликтах со звуковым устройством.</para
></listitem>
<listitem
><para
>БУДУЩЕЕ: обеспечить поддержку языков голосовой разметки, таких как VoiceXML, Sable, Java Speech Markup Language (JSML) и Speech Markup Meta-language (SMML).</para
></listitem>
<listitem
><para
>БУДУЩЕЕ: Обеспечить поддержку встроенных голосовых маркеров.</para
></listitem>
<listitem
><para
>Асинхронность для предотвращения блокировки системы.</para
></listitem>
</itemizedlist>

<para
>&kmyapplication; на самом деле состоит из нескольких программ: <variablelist>

<varlistentry>
<term
><command
>kttsd</command
></term>
<listitem
><para
>служба синтеза речи KDE, это приложение без графического интерфейса, к которому другие программы обращаются через DCOP. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>kttsmgr</command
></term>
<listitem
><para
>приложение с графическим интерфейсом для настройки и управления kttsd. kttsmgr располагается в системном лотке. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>libkhtmlkttsdplugin</command
></term>
<listitem
><para
>Модуль Konqueror, который позволяет произносить, частично или полностью, текст на web-странице. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>ktexteditor_kttsd</command
></term>
<listitem
><para
>Модуль для текстового редактора Kate, который позволяет произносить текстовый файл, частично или полностью. </para
></listitem
></varlistentry>

</variablelist>
</para>

<!-- ...................................................................... -->

<sect1 id="support">
<title
>Поддержка</title>
<para
>В добавок к базе данных KDE Bugzilla (<ulink url="http://bugs.kde.org/"
>http://bugs.kde.org/</ulink
>), обсуждение &kmyapplication; в настоящее время ведётся в списке рассылки kde-accessibility. Подписаться на него можно по адресу <ulink url="https://mail.kde.org/mailman/listinfo/kde-accessibility"
>https://mail.kde.org/mailman/listinfo/kde-accessibility</ulink
>. Разработчиков также можно найти в IRC (irc.kde.org, #kde-accessibility). </para>
</sect1>

</chapter>

<!-- ====================================================================== -->

<chapter id="using-kapp">
<title
>Использование &kmyapplication;</title>

<para>
<warning
><para
>Перед тем, как использовать &kmyapplication;, необходимо установить как минимум один движок синтеза речи и убедиться в том, что он работает. См. <xref linkend="installation"/>. </para
></warning
></para>

<!-- ...................................................................... -->


<sect1 id="starting-kttsmgr">
<title
>Запуск <command
>kttsmgr</command
></title>

<para
>Чтобы запустить систему &kmyapplication;, наберите в Konsole следующую команду: </para>

<para
><userinput
>kttsmgr</userinput
></para>

<para
>или воспользуйтесь меню KDE.</para>

<para
>Если вы запускаете <command
>kttsmgr</command
> в первый раз, или если вы не настроили ни одного диктора, появится экран <guilabel
>Дикторы</guilabel
>. См. <xref linkend="configure-plugin"/>. Если вы уже настроили хотя бы одного диктора, то появится экран <guilabel
>Общие</guilabel
>. См. <xref linkend="general"/>.</para>

</sect1>

<!-- ...................................................................... -->


<sect1 id="configure-plugin">
<title
>Настройка модулей синтеза речи</title>

<para
>Большинство систем синтеза речи (text-to-speech, сокращённо - TTS) поддерживают несколько языков и голосов, позволяют настраивать характеристики речи. Диктор (talker) - это комбинация значений таких параметров, как: язык, система синтеза речи, голос и пол, громкость, скорость. Для начала работы с &kmyapplication; нужно настроить хотя бы одного диктора.</para>

 

<para
>При передаче текста &kmyapplication;, приложения могут также указывать дополнительные атрибуты, для выбора диктора. Например, если приложение потребует англоязычного диктора с женским голосом, то, если такой у вас имеется, он будет использован вместо диктора по умолчанию. Если у вас не будет такого диктора, будет использован наиболее похожий на него, например мужской английский. Для подробностей, см. <xref linkend="filters"/>.</para>

<para
>При нажатии на вкладку <guilabel
>Дикторы</guilabel
> в <command
>kttsmgr</command
>, откроется соответствующий экран. Он появляется также при запуске <command
>kttsmgr</command
> без настроенных движков.</para>

<para>
<screenshot>
<screeninfo
>Менеджер синтеза речи KDE (вкладка Дикторы).</screeninfo>
	<mediaobjectco>
		<imageobjectco>
			<areaspec units="calspair">
				<area id="pt-talker-1" coords="1 1"/>
				<area id="pt-talker-2" coords="1 1"/>
				<area id="pt-talker-3" coords="1 1"/>
				<area id="pt-talker-4" coords="1 1"/>
				<area id="pt-talker-5" coords="1 1"/>
				<area id="pt-talker-6" coords="1 1"/>
			</areaspec>
			<imageobject>
				<imagedata fileref="talkers.png" format="PNG"/>
			</imageobject>
		</imageobjectco>
		<textobject>
			<phrase
>Менеджер синтеза речи KDE (вкладка Дикторы)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-talker-1"
><para
>Добавить нового диктора.</para
></callout>
<callout arearefs="pt-talker-2"
><para
>Здесь выводятся все настроенные <guilabel
>дикторы</guilabel
>. <guilabel
>Дикторы</guilabel
> с большим приоритетом находятся в начале списка. Самый верхний движок используется если в приложении не указан иной.</para
></callout>
<callout arearefs="pt-talker-3"
><para
>Щёлкните по движку в списке чтобы выделить его и нажмите на эту кнопку для его удаления.</para
></callout>
<callout arearefs="pt-talker-4"
><para
>Щёлкните по движку в списке чтобы выделить его и нажмите на эту кнопку для вызова диалога настройки модуля синтеза. См. ниже.</para
></callout>
<callout arearefs="pt-talker-5"
><para
>Щёлкните по движку в списке чтобы выделить его и нажмите на эту кнопку для того чтобы спустить его на одну строчку ниже. Чем ниже в списке находится движок, тем меньший приоритет он имеет.</para
></callout>
<callout arearefs="pt-talker-6"
><para
>Нажмите на одну из этих кнопок, чтобы применить изменения, сделанные в запущенной системе &kmyapplication;.</para
></callout>
</calloutlist>
</para>

<para
>При нажатии на кнопку <guibutton
>Добавить</guibutton
> появляется экран <guilabel
>Добавление диктора</guilabel
>.</para>

<para>
	<screenshot>
		<screeninfo
>Экран добавления диктора.</screeninfo>
		<mediaobjectco>
			<imageobjectco>
				<areaspec units="calspair">
					<area id="pt-addtalker-1" coords="1 1"/>
					<area id="pt-addtalker-2" coords="1 1"/>
					<area id="pt-addtalker-3" coords="1 1"/>
				</areaspec>
				<imageobject>
					<imagedata fileref="addtalker.png" format="PNG"/>
				</imageobject>
			</imageobjectco>
			<textobject>
				<phrase
>Экран добавления диктора</phrase>
			</textobject>
		</mediaobjectco>
	</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-addtalker-1"
><para
>Модуль синтеза речи можно выбрать либо по имени <guilabel
>Синтезатора</guilabel
>, либо по <guilabel
>Языку</guilabel
>, который синтезатор поддерживает. Для этого необходимо выбрать переключатель рядом с соответствующим блоком. Когда установлен переключатель <guilabel
>Язык</guilabel
>, блок <guilabel
>Язык</guilabel
> показывает все языки, поддерживаемые всеми доступными синтезаторами, а блок <guilabel
>Синтезатор</guilabel
> показывает синтезаторы, которые поддерживают выбранный язык. Когда установлен переключатель <guilabel
>Синтезатор</guilabel
>, блок <guilabel
>Синтезатор</guilabel
> показывает все доступные синтезаторы, а блок <guilabel
>Язык</guilabel
> показывает только те языки, которые поддерживает выбранный из них.</para
></callout>
<callout arearefs="pt-addtalker-2"
><para
>Выберите язык и модуль синтезатора.</para
></callout>
<callout arearefs="pt-addtalker-3"
><para
>Большинство синтезаторов автоматически настраиваются используя значения по умолчанию. Новый диктор появится в списке на вкладке <guilabel
>Дикторы</guilabel
>. Для просмотра или настройки конфигурации диктора, нажмите кнопку <guibutton
>Изменить</guibutton
>.</para
></callout>
</calloutlist>
</para>

<para
>При нажатии на кнопку <guibutton
>Добавить</guibutton
> на вкладке <guilabel
>Дикторы</guilabel
> и добавлении нового диктора, или при нажатии кнопки <guibutton
>Изменить</guibutton
>, появляется экран <guilabel
>Настройка диктора</guilabel
>. Каждый модуль синтеза имеет собственный экран <guilabel
>Настройки диктора</guilabel
>. Здесь приведен пример настройки модуля Festival Interactive. Особенности настройки каждого модуля описаны в разделе <xref linkend="configuration"/>.</para>

<para>
<screenshot>
<screeninfo
>Настройка диктора</screeninfo>
	<mediaobjectco>
		<imageobjectco>
			<areaspec units="calspair">
				<area id="pt-prop-1" coords="1 1"/>
				<area id="pt-prop-2" coords="1 1"/>
				<area id="pt-prop-3" coords="1 1"/>
				<area id="pt-prop-4" coords="1 1"/>
				<area id="pt-prop-5" coords="1 1"/>
				<area id="pt-prop-6" coords="1 1"/>
				<area id="pt-prop-7" coords="1 1"/>
			</areaspec>
			<imageobject>
				<imagedata fileref="festivalintconf.png" format="PNG"/>
			</imageobject>
		</imageobjectco>
		<textobject>
			<phrase
>Настройка диктора</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-prop-1"
><para
>Укажите путь к исполняемому файлу программы Festival. Если Festival находится в переменной окружения PATH, просто введите <userinput
><replaceable
>festival</replaceable
></userinput
>.</para
></callout>
<callout arearefs="pt-prop-2"
><para
>Нажмите для поиска доступных голосов.</para
></callout>
<callout arearefs="pt-prop-3"
><para
>Выберите голос.</para
></callout>
<callout arearefs="pt-prop-4"
><para
>Выберите кодировку, в которой нужно посылать текст программе Festival. Например, западные языки используют ISO 8859-1, центральные, такие как чешский и словацкий, - ISO 8859-2, украинский и русский - KOI8-U (модификация KOI8-R).</para
></callout>
<callout arearefs="pt-prop-5"
><para
>Нажмите для проверки. Вы должны услышать как произносится тестовое предложение.</para
></callout>
<callout arearefs="pt-prop-6"
><para
>Настройте громкость, скорость произнесения и высоту голоса (тон) синтезируемой речи. Если какие-то настройки недоступны (отображается серым цветом), это значит, что выбранный голос не поддерживает их изменение.</para
></callout>
<callout arearefs="pt-prop-7"
><para
>Некоторые голоса настолько велики, что для их загрузки требуется несколько секунд. После установки этого флажка они будут загружаться при запуске KTTSD, сохраняя тем самым время перед произнесением первого предложения (ценой использования большего количества памяти).</para
></callout>
</calloutlist>
</para>

<para
>Нажмите кнопку <guibutton
>OK</guibutton
> чтобы сохранить изменения в настройке диктора.</para>

<warning
><para
>Обязательно нажмите кнопку <guibutton
>Применить</guibutton
>, иначе сделанные вами изменения не будут применены к работающей системе &kmyapplication;. </para
></warning>

<para
>После того, как вы убедились в том, что тест отработал нормально, можно приступать к использованию &kmyapplication;. Вернитесь на вкладку <guilabel
>Общие</guilabel
> и установите флажок <guilabel
>Включить систему синтеза речи (KTTSD)</guilabel
>. Это запустит демон KDE TTS. См. <xref linkend="general"/>. После этого можно использовать &kmyapplication; для произнесения предложений. Перейдите на вкладку <guilabel
>Задания</guilabel
> для создания и управления текстовыми заданиями. См. <xref linkend="jobmgr"/> </para>

</sect1>

<!-- ...................................................................... -->


<sect1 id="general">
<title
>Запуск KTTSD и настройка общих параметров</title>

<para
>После настройки хотя бы одного диктора можно запустить систему синтеза речи. Нажмите на вкладку <guilabel
>Общие</guilabel
>. Появится экран <guilabel
>Общие</guilabel
>. В этом экране можно также настроить некоторые общие параметры. </para>

<para>
	<screenshot>
		<screeninfo
>Менеджер синтеза речи KDE (вкладка Общие).</screeninfo>
		<mediaobjectco>
			<imageobjectco>
				<areaspec units="calspair">
					<area id="pt-gen-1" coords="1 1"/>
					<area id="pt-gen-2" coords="1 1"/>
					<area id="pt-gen-3" coords="1 1"/>
					<area id="pt-gen-4" coords="1 1"/>
                    <area id="pt-gen-5" coords="1 1"/>
                    <area id="pt-gen-6" coords="1 1"/>
				</areaspec>
				<imageobject>
					<imagedata fileref="general.png" format="PNG"/>
				</imageobject>
			</imageobjectco>
			<textobject>
				<phrase
>Менеджер синтеза речи KDE (вкладка Общие)</phrase>
			</textobject>
		</mediaobjectco>
	</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-gen-1"
><para
>Установите этот флажок, чтобы активировать систему &kmyapplication;. Это запустит демон синтеза речи KDE (KTTSD). Если KTTSD запустился нормально, то появится вкладка <guilabel
>Задания</guilabel
>. После запуска KTTSD можно начинать добавлять и выполнчт текстовые задания. См. <xref linkend="jobmgr"/>. Снятие этого флажка остановит KTTSD и деактивирует систему синтеза речи KDE. <note
><para
>Если этот флажок недоступен, это значит что не настроен ни один диктор  (или вы забыли нажать кнопку <guilabel
>Применить</guilabel
>). См. <xref linkend="configure-plugin"/>.</para
></note>
</para
></callout>
<callout arearefs="pt-gen-2"
><para
>Если установлен этот флажок, то при работе <command
>kttsmgr</command
> в системном лотке появляется пиктограмма. В этом режиме при нажатии кнопки <guilabel
>OK</guilabel
> или <guilabel
>Отмена</guilabel
>  <command
>kttsmgr</command
> не завершает работу. Вместо этого его окно исчезает, но <command
>kttsmgr</command
> продолжает работать в системном лотке. Для восстановления окна надо щёлкнуть на пиктограмме. Для выхода из <command
>kttsmgr</command
> надо щёлкнуть правой кнопкой на пиктограмме в системном лотке и выбрать <guilabel
>Выход</guilabel
>. Если этот флажок не установлен, то пиктограмма не появляется в системном лотке. Нажатие кнопок <guilabel
>OK</guilabel
> или <guilabel
>Отмена</guilabel
> завершает работу <command
>kttsmgr</command
>. <note
><para
>При выходе из <command
>kttsmgr</command
>, &kmyapplication; остаётся запущенным если установлен флажок <guilabel
>Включить систему синтеза речи (KTTSD)</guilabel
>.</para
></note>
<note
><para
>Эта опция не вступит в силу до следующей загрузки <command
>kttsmgr</command
>.</para
></note>
<note
><para
>Эта опция не оказывает воздействия если <command
>kttsmgr</command
> запущен в Центре управления KDE.</para
></note>
</para
></callout>
<callout arearefs="pt-gen-3"
><para
>Если этот флажок установлен, то при запуске <command
>kttsmgr</command
> показывается окно <command
>kttsmgr</command
>. Если он не установлен, то при запуске <command
>kttsmgr</command
> в системном лотке появляется пиктограмма <command
>kttsmgr</command
>, а окно не появляется. Для того, чтобы появилось окно, необходимо щёлкнуть по пиктограмме в системном лотке.</para
></callout>
<callout arearefs="pt-gen-4"
><para
>Если этот флажок установлен и <command
>kttsmgr</command
> не запущен, он будет появляться в системном лотке во время выполнения заданий KTTSD. Это позволит управлять им.</para
></callout>
<callout arearefs="pt-gen-5"
><para
>Если этот флажок установлен и <command
>kttsmgr</command
> появляется автоматически в системном лотке во время выполнения заданий KTTSD, он также будет убран оттуда по завершении заданий.</para
></callout>
<callout arearefs="pt-gen-6"
><para
>Обязательно нажмите на эту кнопку чтобы сохранить настройки.</para
></callout>
</calloutlist>
</para>

</sect1>

<!-- ...................................................................... -->


<sect1 id="jobmgr">
<title
>Управление текстовыми заданиями</title>

<para
>При нажатии на вкладку <guilabel
>Задания</guilabel
> в <command
>kttsmgr</command
> появляется экран <guilabel
>Задания</guilabel
>.</para>

<para>
<screenshot>
<screeninfo
>Менеджер синтеза речи KDE (вкладка Задания).</screeninfo>
	<mediaobjectco>
		<imageobjectco>
			<areaspec units="calspair">
				<area id="pt-jobmgr-1" coords="1 1"/>
				<area id="pt-jobmgr-2" coords="1 1"/>
				<area id="pt-jobmgr-3" coords="1 1"/>
				<area id="pt-jobmgr-4" coords="1 1"/>
				<area id="pt-jobmgr-5" coords="1 1"/>
				<area id="pt-jobmgr-6" coords="1 1"/>
				<area id="pt-jobmgr-7" coords="1 1"/>
			</areaspec>
			<imageobject>
				<imagedata fileref="jobs.png" format="PNG"/>
			</imageobject>
		</imageobjectco>
		<textobject>
			<phrase
>Менеджер синтеза речи KDE (вкладка Задания)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-jobmgr-1"
><para
>Здесь выводятся текстовые задания, находящиеся в очереди. К каждому из них прилагаются дополнительные данные, как-то: приложение, добавившее задание, номер текущего предложения и их общее количество. Поле <guilabel
>Диктор</guilabel
> содержит идентификатор диктора, его также можно найти в столбце <guilabel
>ID</guilabel
> на вкладке <guilabel
>Дикторы</guilabel
>. </para
></callout>
<callout arearefs="pt-jobmgr-2"
><para
>Кнопки этой панели инструментов позволяют запускать, удалять и приостанавливать текстовые задания. Выберите задание из списка выше и нажмите на одну из кнопок.</para
></callout>
<callout arearefs="pt-jobmgr-3"
><para
>Кнопки этой панели инструментов позволяют переходить на предыдущее или следующее предложение в задании, выбранном в списке выше (не все задания состоят из нескольких частей).</para
></callout>
<callout arearefs="pt-jobmgr-4"
><para
>Кнопки этой панели инструментов позволяют произнести текст, находящийся в буфере обмена KDE, или открыть файл для произнесения. Также, можно обновить список текстовых заданий. См. <xref linkend="selecttalker"/>.</para
></callout>
<callout arearefs="pt-jobmgr-5"
><para
>Здесь выводится текущее предложение.</para
></callout>
<callout arearefs="pt-jobmgr-6"
><para
>При нажатии на кнопку <guibutton
>OK</guibutton
> все изменения, сделанные в других экранах (если они есть), сохраняются и <command
>kttsmgr</command
> сворачивается в системный лоток. При нажатии на пиктограмму в системном лотке программа восстанавливается на экране.</para
></callout>
<callout arearefs="pt-jobmgr-7"
><para
>Перенесите этот разделитель чтобы настроить размер списка заданий и панели <guilabel
>Текущее предложение</guilabel
>.</para
></callout>
</calloutlist>
</para>

<note
><para
>Вкладка <guilabel
>Задания</guilabel
> появляется только когда запущен KTTSD. Если вы не видите вкладку <guilabel
>Задания</guilabel
>, то перейдите на вкладку <guilabel
>Общие</guilabel
> и установите флажок <guilabel
>Включить синтез речи (KTTSD)</guilabel
>.</para>
</note>

<note
><para
>Если у вас не установлен aRts, вы можете использовать GStreamer, выберите его на вкладке <guilabel
>Звук</guilabel
>. См. <xref linkend="audio"/>.</para
></note>

<note
><para
>Здесь выводятся только текстовые задания. Для подробностей о типах заданий &kmyapplication;, обратитесь к разделу <xref linkend="filters"/>.</para
></note>

</sect1>

<!-- ...................................................................... -->

<sect1 id="audio">
<title
>Параметры звука</title>

<para
>При нажатии на вкладку <guilabel
>Звук</guilabel
> в <command
>kttsmgr</command
> появляется экран <guilabel
>Звук</guilabel
>.</para>

<para>
    <screenshot>
        <screeninfo
>Менеджер синтеза речи KDE (вкладка Звук).</screeninfo>
        <mediaobjectco>
            <imageobjectco>
                <areaspec units="calspair">
                    <area id="pt-audio-1" coords="1 1"/>
                    <area id="pt-audio-2" coords="1 1"/>
                    <area id="pt-audio-3" coords="1 1"/>
                    <area id="pt-audio-4" coords="1 1"/>
                    <area id="pt-audio-5" coords="1 1"/>
                </areaspec>
                <imageobject>
                    <imagedata fileref="audio.png" format="PNG"/>
                </imageobject>
            </imageobjectco>
            <textobject>
                <phrase
>Менеджер синтеза речи KDE (вкладка Звук)</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-audio-1"
><para
>Выберите метод вывода звука. Если <guilabel
>GStreamer</guilabel
> отмечен серым цветом то, или &kmyapplication; был собран без поддержки GStreamer, или &kmyapplication; не может загрузить необходимые библиотеки GStreamer. </para
></callout>
<callout arearefs="pt-audio-2"
><para
>Если для вывода звука выбран GStreamer, то здесь необходимо выбрать метод приёма звука GStreamer. Если в списке нет ни одного метода, то необходимо установить хотя бы один. См. <xref linkend="requirements"/>. </para
></callout>
<callout arearefs="pt-audio-3"
><para
>Настройте скорость произнесения. 50% - это примерно в два раза медленнее нормального, а 200% - примерно в два раза быстрее. Чтобы эта опция работала, необходимо, чтобы была установлена утилита <command
>sox</command
>. </para
></callout>
<callout arearefs="pt-audio-3"
><para
>Если установлен этот флажок, &kmyapplication; будет копировать временные звуковые файлы (.wav файлы) в указанный каталог. Выберите любой каталог на жестком диске, но вы должны иметь право на запись в этот каталог. Это может быть полезно если вы хотите создать звуковые фразы для других целей. Файлы будут иметь имена вида <filename
>kttsd-J-SS</filename
>, где <filename
>J</filename
> - это номер задания, а <filename
>SS</filename
> - это номер предложения. Существующие файлы с теми же именами удаляются. <emphasis
>Не забывайте выключить этот флажок, иначе жёсткий диск может переполниться</emphasis
>. </para
></callout>
<callout arearefs="pt-audio-5"
><para
>Обязательно нажмите кнопку <guibutton
>Применить</guibutton
> иначе сделанные вами изменения не будут применены к работающей системе &kmyapplication;. </para
></callout>
</calloutlist>
</para>

<note
><para
>Существует два способа настройки скорости в &kmyapplication;. У большинства <guilabel
>движков</guilabel
> есть установка <guilabel
>Скорость</guilabel
> в их диалоге настройки, который можно вызвать нажав кнопку <guibutton
>Изменить</guibutton
> на экране <guilabel
>Движки</guilabel
>. Настройка <guilabel
>Скорость</guilabel
> на вкладке <guilabel
>Звук</guilabel
> является дополнительной и обычно может использоваться даже если движок не поддерживает установку скорости. Чтобы эти настройки работали, на компьютере должна быть установлена утилита <command
>sox</command
> (для Debian: <command
>apt-get install sox</command
>). Параметры скорости игнорируются при озвучивании текста, содержащего SSML (см. <xref linkend="ssml"/>).</para
></note>

</sect1>

<!-- ...................................................................... -->

<sect1 id="interruption">
<title
>Настройки прерывания текста</title>

<para
>При переходе на вкладку <guilabel
>Прерывание</guilabel
> в <command
>kttsmgr</command
> появляется экран <guilabel
>Прерывание</guilabel
>.</para>

<para>
<screenshot>
<screeninfo
>Менеджер синтеза речи KDE (Вкладка прерывание).</screeninfo>
	<mediaobjectco>
		<imageobjectco>
			<areaspec units="calspair">
				<area id="pt-interruption-1" coords="1 1"/>
				<area id="pt-interruption-2" coords="1 1"/>
				<area id="pt-interruption-3" coords="1 1"/>
				<area id="pt-interruption-4" coords="1 1"/>
			</areaspec>
			<imageobject>
				<imagedata fileref="interruption.png" format="PNG"/>
			</imageobject>
		</imageobjectco>
		<textobject>
			<phrase
>Менеджер синтеза речи KDE (Вкладка прерывание)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para
>Этот экран позволяет настроить специальные действия, которые происходят когда текстовое задание прерывается другим сообщением с большим приоритетом. Существует четыре типа текстовых заданий с которыми работает &kmyapplication;: <itemizedlist>
<listitem
><para
>Обычный текст.</para
></listitem>
<listitem
><para
>Сообщения.</para
></listitem>
<listitem
><para
>Предупреждения.</para
></listitem>
<listitem
><para
>Чтение содержимого экрана.</para
></listitem>
</itemizedlist>
</para>

<para
>Чтение содержимого экрана имеет наивысший приоритет. Оно зарезервировано для приложений чтения с экрана. Чтение содержимого экрана приостанавливает все остальные сообщения. Как только чтение содержимого экрана будет закончено, все приостановленные задания автоматически возобновятся. </para>

<para
>Предупреждения имеют меньший приоритет. Они зарезервированы для сообщений с высоким приоритетом, таких, например, как "перегрев CPU." Предупреждения приостанавливают обычные сообщения и текст. Как только чтение предупреждения будет закончено, все приостановленные задания автоматически возобновятся.</para>

<para
>Предупреждения имеют ещё меньший приоритет. Сообщения приостанавливают обычные текстовые задания. KMouth - это пример приложения, которое использует сообщения. Например, при чтении длинного текста с веб-страницы можно использовать KMouth чтобы поприветствовать входящего в комнату человека.</para>

<para
>Все четыре вида заданий, за исключением чтения содержимого экрана, есть очереди. Если приложение запрашивает чтение содержимого экрана в то время как &kmyapplication; производит другое чтение содержимого экрана, то произносимое сообщение останавливается и снимается.</para>

<para
>Когда текстовое задание прерывается сообщением, предупреждением или чтением содержимого экрана, &kmyapplication; добавляет звуковые эффекты в поток этого экрана.</para>

<para>
<calloutlist>
<callout arearefs="pt-interruption-1"
><para
>Это сообщение произносится при прерыванииобычного текстового задания.</para
></callout>
<callout arearefs="pt-interruption-2"
><para
>Этот аудио файл воспроизводится каждый раз когда прерывается текстовое задание. Если указан и <guilabel
>Предварительный звук</guilabel
>, и <guilabel
>Предварительное сообщение</guilabel
>, то <guilabel
>Предварительный звук</guilabel
> воспроизводится перед <guilabel
>Предварительным сообщением</guilabel
>.</para
></callout>
<callout arearefs="pt-interruption-3"
><para
>Это сообщение произносится при возобновлении прерванного текстового задания.</para
></callout>
<callout arearefs="pt-interruption-4"
><para
>Этот звуковой файл воспроизводится при возобновлении прерванного текстового задания. Он воспроизводится последним.</para
></callout>
</calloutlist>
</para>

<note
><para
>Настройки этого экрана применяются только к обычным текстовым заданиям. Сообщения, предупреждения и чтение содержимого экрана не имеют специальных действий когда они прерываются сообщением с более высоким приоритетом.</para
></note>

</sect1>

<!-- ...................................................................... -->


<sect1 id="web">
<title
>Произнесение текста из веб-страниц</title>

<para
>При использовании обозревателя интернета KDE Konqueror можно произносить текст с отображаемой веб-страницы. Для начала убедитесь в том, что &kmyapplication; запущен. Выделите текст, который надо произнести, и в главном меню выберите <menuchoice
> <guisubmenu
>Сервис</guisubmenu
> <guisubmenu
>Произнести текст </guisubmenu
></menuchoice
>. <action
>Через некоторое время начнется произнесение текста.</action
> </para>

<tip
><para
>Обычно желательно выделить текст для произнесения на веб-странице. Можно этого и не делать, но в этом случае вы услышите большое количество HTML-заголовков и других невидимых тегов.</para
></tip>

</sect1>

<!-- ...................................................................... -->


<sect1 id="kate">
<title
>Произнесение текста из текстового редактора Kate</title>

<para
>При использовании текстового редактора KDE (Kate) можно произносить отображаемый текст. Для начала убедитесь в том, что &kmyapplication; запущен. Выделите текст который надо произнести и в главном меню выберите <menuchoice
> <guisubmenu
>Сервис</guisubmenu
> <guisubmenu
>Произнести текст </guisubmenu
></menuchoice
>. <action
>Через некоторое время начнется произнесение текста.</action
> </para>

<tip
><para
>Нет необходимости сначала выделять текст. В этом случае файл произносится целиком.</para
></tip>

<tip
><para
>Это также работает если Kate встроен в другие приложения, такие, например, как Konqueror или Quanta.</para
></tip>

</sect1>

<!-- ...................................................................... -->

<sect1 id="knotify">
<title
>Озвучивание уведомлений (KNotify)</title>

<para
>KNotify это подсистема уведомлений KDE, которая уведомляет вас о событиях настроенных в системе KDE. &kmyapplication; можно настроить для произнесения текстовых уведомлений.</para>

<para
>Например, Konversation, KDE клиент для IRC, позволяет настроить широкий спектр уведомлений. Например, можно настроить Konversation так, чтобы уведомлять вас при появлении в IRC канале сообщения с вашим ником. Используя &kmyapplication; можно сделать так, чтобы KDE произносил текст такого IRC сообщения.</para>

<para
>В общем, если приложение поддерживает Knotify, то в меню <guilabel
>Настройка</guilabel
> появится меню <guilabel
>Уведомления</guilabel
>. Особенности настройки каждого приложения с Knotify отличаются от приложения к приложению.</para>

<para
>Для того, чтобы &kmyapplication; произносил уведомления Knotify, запустите <command
>kttsmgr</command
>, перейдите на вкладку <guilabel
>Уведомления</guilabel
> и выберите блок <guilabel
>Госовые уведомления (Knotify)</guilabel
>. Затем нажмите кнопку <guibutton
>Применить</guibutton
>.</para>

<para>
<screenshot>
<screeninfo
>Менеджер синтеза речи KDE (вкладка Уведомления).</screeninfo>
	<mediaobjectco>
		<imageobjectco>
			<areaspec units="calspair">
				<area id="pt-notify-1" coords="1 1"/>
				<area id="pt-notify-2" coords="1 1"/>
				<area id="pt-notify-3" coords="1 1"/>
				<area id="pt-notify-4" coords="1 1"/>
				<area id="pt-notify-5" coords="1 1"/>
				<area id="pt-notify-6" coords="1 1"/>
				<area id="pt-notify-7" coords="1 1"/>
				<area id="pt-notify-8" coords="1 1"/>
				<area id="pt-notify-9" coords="1 1"/>
				<area id="pt-notify-10" coords="1 1"/>
			</areaspec>
			<imageobject>
				<imagedata fileref="notifications.png" format="PNG"/>
			</imageobject>
		</imageobjectco>
		<textobject>
			<phrase
>Менеджер синтеза речи KDE (вкладка Уведомления)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-notify-1"
><para
>Включить озвучивание уведомлений KDE. Если флажок снят, все остальные параметры на этом экране недоступны.</para
></callout>
<callout arearefs="pt-notify-2"
><para
>Не озвучивать уведомления с собственным звуком.</para
></callout>
<callout arearefs="pt-notify-3"
><para
>Добавить или удалить события. </para
></callout>
<callout arearefs="pt-notify-4"
><para
>Это событие приведёт к произнесению сообщения, посылаемого Konversation когда ваш ник упоминается в Internet Relay Chat. </para
></callout>
<callout arearefs="pt-notify-5"
><para
>Для остальных событий Konversation, никаких действий производиться не будет.</para
></callout>
<callout arearefs="pt-notify-6"
><para
>Вообще, для событий, не указанных явно в списке,никаких действий производиться не будет.</para
></callout>
<callout arearefs="pt-notify-7"
><para
>Указать, что делать при получении программой &kmyapplication; события:</para>
<para>
<variablelist>
<varlistentry>
<term
>Произнести имя события</term>
<listitem
><para
>То, что вы видите в списке событий на этом экране.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Произнести текст уведомления</term>
<listitem
><para
>Произнести текст уведомления.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Не озвучивать уведомление</term>
<listitem
><para
>Не озвучивать уведомление.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Произнести указанный текст</term>
<listitem
><para
>Произнести текст, введенный в поле справа.</para
></listitem>
</varlistentry>
</variablelist>
</para>
</callout>
<callout arearefs="pt-notify-8"
><para
>Если вы выбрали <guilabel
>Произнести указанный текст</guilabel
>, введите сообщение, которое хотите услышать при наступлении события. Доступны следующие подстановки:</para>
<para>
<variablelist>
<varlistentry>
<term
>%e</term>
<listitem
><para
>Имя события</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%a</term>
<listitem
><para
>Приложение, которое инициализировало событие</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%m</term>
<listitem
><para
>Сообщение, посланное приложением</para
></listitem>
</varlistentry>
</variablelist>
</para>
</callout>
<callout arearefs="pt-notify-9"
><para
>Протестируйте сообщение, нажав здесь.</para
></callout>
<callout arearefs="pt-notify-10"
><para
>Вы можете указать атрибуты желаемого диктора для уведомлений. <command
><userinput
>по умолчанию</userinput
></command
> - использовать первого диктора в списке. См. <xref linkend="selecttalker"/>. </para
></callout>
</calloutlist>
</para>

<para
>Обратите внимание, что есть три уровня событий. Если указано действие для определённого события или определённого приложения, выполняется оно. Иначе, если указано действие для остальных событий определённого приложения, выполняется оно. И, если действие указано для всех остальных событий в <guilabel
>По умолчанию (все остальные)</guilabel
>, то выполняется оно.</para>

<para
>Событие <guilabel
>все уведомления</guilabel
> для приложения <guilabel
>По умолчанию (все остальные)</guilabel
> нельзя удалить из списка. Также, вы можете выбрать, на уведомления какого вида реагировать:</para>

<variablelist>
<varlistentry>
<term
>нет</term>
<listitem
><para
>Не производить ни каких действий.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>уведомления-диалоги</term>
<listitem
><para
>Уведомления, которые требуют ваших действий.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>пассивные всплывающие окна</term>
<listitem
><para
>Уведомления, которые не требуют ваших действий и исчезнут автоматически через некоторое время.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>пассивные и уведомления-диалоги</term>
<listitem
><para
>Активные и пассивные уведомления.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>все уведомления</term>
<listitem
><para
>Все уведомления, вне зависимости от того, появляются они на экране или нет.</para
></listitem>
</varlistentry>
</variablelist>

<tip
><para
>С помощью фильтров автозамены можно очистить сообщения от непроизносимого текста. Так, файл <filename
>kmail.xml</filename
>, поставляемый с &kmyapplication;, удаляет теги <command
>br</command
> <command
>b</command
> из сообщений KMail, а также <command
>/local/inbox/</command
>. См. <xref linkend="stringreplacer"/>. </para
></tip>

<para
>С помощью кнопок <guibutton
>Сохранить</guibutton
> и <guibutton
>Загрузить</guibutton
> можно сохранять и использовать параметры уведомлений. Загруженные параметры j,]tlbyz.ncz c ntreobvb.</para>

<note
><para
>Обязательно нажмите кнопку <guibutton
>Применить</guibutton
> или <guibutton
>OK</guibutton
>, иначе сделанные вами изменения не будут применены к работающей системе &kmyapplication;.</para
></note>

</sect1>

<!-- ...................................................................... -->

<sect1 id="ssml">
<title
>SSML</title>

<para
>Язык разметки синтеза речи (SSML) - это стандарт w3c разметки текста для голосового вывода. Он обеспечивает теги для управления голосами, скоростью произнесения, громкостью, полом, высотой (тоном). Он также обеспечивает теги для управления тем, как произносятся слова, например, произнесение аббревиатур. SSML - это часть спецификации VoiceXML, которая также является стандартом w3c.</para>

<para
>В настоящее время &kmyapplication; обеспечивает только базовую и очень общую поддержку SSML. В настоящее существуют следующие ограничения.</para>

<itemizedlist>
<listitem
><para
>Работает только с дикторами Festival Interactive и Hadifix.</para
></listitem>
<listitem
><para
>Необходимо установить <command
>rab_diphone</command
> (Английский мужской) голос, так как Festival по умолчанию использует этот голос при произнесении SSML.</para
></listitem>
<listitem
><para
>При произнесении текста, содержащего SSML, игнорируется настройка <guilabel
>Скорость</guilabel
> на экране <guilabel
>Звук</guilabel
>.</para
></listitem>
<listitem
><para
>Если <guilabel
>Скорость</guilabel
> и <guilabel
>высота голоса</guilabel
> в диалоге настройки Festival не установлены на 100%, то скорее всего SSML текст будет произноситься монотонно.</para
></listitem>
</itemizedlist>

<para
>Следующий пример текста может быть использован для экспериментов с SSML.</para>

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

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

<para
>В следующей версии &kmyapplication; планируется расширить поддержку SSML. </para>

</sect1>

<!-- ...................................................................... -->

<sect1 id="filters">
<title
>Фильтры</title>

<para
>Фильтры - это дополнительная возможность &kmyapplication;, они не требуются для выполнения основных его операций.</para>

<para
>Фильтры используются для предварительной обработки текста перед тем, как он будет передан движку синтеза речи. Они используются для улучшения качества речи, подстановки неправильно произносимых слов или аббревиатур, выбора подходящего языка и диктора для произнесения, для обхода ограничений синтезаторов речи и их голосов.</para>

<!-- ...................................................................... -->

<sect2 id="msg-types">
<title
>Типы сообщений в &kmyapplication;</title>

<para
>Чтобы понять как использовать фильтры, полезно сначала понять как &kmyapplication; обрабатывает текст. Его источником может быть один из нижеперечисленных.</para>

<para>
<itemizedlist>
<listitem
><para
>Чтение содержимого экрана.</para
></listitem>
<listitem
><para
>Предупреждения.</para
></listitem>
<listitem
><para
>Сообщения</para
></listitem>
<listitem
><para
>Текстовые задания</para
></listitem>
</itemizedlist>
</para>

<para
>Тип определяется приложением, отправляющим текст &kmyapplication;.</para>

<para
>Чтение содержимого экрана имеет наивысший приоритет. Оно зарезервировано для приложений чтения с экрана. Чтение содержимого экрана приостанавливает все остальные сообщения. Как только чтение содержимого экрана будет закончено, все приостановленные задания автоматически возобновятся. </para>

<para
>Предупреждения имеют меньший приоритет. Они зарезервированы для важных сообщений, таких, например, как "перегрев CPU". Предупреждения приостанавливают обычные сообщения и текст. Как только чтение предупреждения закончено, все приостановленные задания автоматически возобновляются.</para>

<para
>Сообщения имеют ещё меньший приоритет. Они приостанавливают обычные текстовые задания. KMouth - пример приложения, которое использует сообщения. Например, при чтении длинного текста с веб-страницы можно использовать KMouth чтобы поприветствовать входящего  в комнату человека.</para>

<para
>Всё остальное - обычные текстовые задания. Таким заданием является и создаваемое на вкладке <guilabel
>Задания</guilabel
>. Они используются для длинных, не срочных, текстов.KSayit - пример приложения, которое использует текстовые задания.</para>

<para
>Все четыре вида заданий, за исключением чтения содержимого экрана, есть очереди. Если приложение запрашивает чтение содержимого экрана в то время как &kmyapplication; производит другое чтение содержимого экрана, то произносимое сообщение останавливается и снимается.</para>

</sect2>

<!-- ...................................................................... -->

<sect2 id="filter-types">
<title
>Типы фильтров</title>

<para
>The first thing you must know about filters is that they are never applied to Screen Reader Output. They are applied to Warnings, Messages, and Text jobs, and also KDE notifications (KNotify).</para>

<para
>Существует два типа фильтров -- обычные фильтры и фильтры с определением границ предложений (SBD). Последние делят текст на отдельные предложения. Это позволяет &kmyapplication; быстрее начинать произнесение, так как нужно передать синтезатору только первое предложение, а не всё текстовое задание целиком. Они также позволяют перемещаться вперёд или назад по предложениям на вкладке <guilabel
>Задания</guilabel
>, а также останавливать и приостанавливать текстовые задания, если сам синтезатор не поддерживает это. </para>

<para
>Обычные фильтры обрабатывают текст и передают его следующему фильтру. Существует три вида обычных фильтров. </para>

<para>
<itemizedlist>
<listitem
><para
>Автозамена.</para
></listitem>
<listitem
><para
>Преобразователь XML</para
></listitem>
<listitem
><para
>Выбор диктора.</para
></listitem>
</itemizedlist>
</para>

<note
><para
>Фильтры построены по модульной архитектуре. В будущем могут появиться дополнительные виды фильтров.</para
></note>

<para
>Фильтры автозамены заменяют части текста другим текстом. Заменяемый текст может совпадать либо со словом, либо с регулярным выражением. У &kmyapplication; есть предопределённые фильтры автозамены для произнесения аббревиатур, произнесения смайликов в чате, таких как ":-)", или переформатирования сообщений с уведомлениями от Konversation или KMail в более понятную форму. </para>

<para
>Преобразователи XML используют файлы языка трансформирования стиля XML (XSLT) для трансформирования XML файлов из одного формата в другой. В &kmyapplication; есть несколько XSLT-файлов для преобразования XHTML в SSML. </para>

<para
>Фильтры выборы диктора позволяют перенаправлять задания дикторам в зависимости от содержимого файла или в зависимости от приложения, которое отправляет его &kmyapplication;. Например, если вы настроили диктора с женским голосом на вкладке <guilabel
>Движки</guilabel
>, вы можете направлять текст от KSayIt этому диктору. См. <xref linkend="configure-plugin"/>. </para>

<para
>Для каждого вида фильтров есть настраиваемые правила, определяющие когда он должен применятьсяк произносимому тексту. Если фильтр принимает решение, что он не должен применяться, то текст без изменения передаётся следующему фильтру.</para>

<para
>When a Text Job, Message, Warning, or KDE Notification message is sent to &kmyapplication;, it passes through each of the enabled filters you have configured in the screen below. The order is from top to bottom. After passing through each of the ordinary filters listed in the top portion of the screen, Text Jobs are passed to the <guilabel
>Sentence Boundary Detector</guilabel
> (SBD) filters. (KDE Notifications, Warnings, and Messages never pass through SBD filters.) Unlike ordinary filters, the first SBD filter that makes changes to the text stops any further filtering. </para>

</sect2>

<!-- ...................................................................... -->

<sect2 id="configure-filters">
<title
>Настройка фильтров</title>

<para
>Для использования фильтров, надо перейти на вкладку <guilabel
>Фильтры</guilabel
> в <command
>kttsmgr</command
>.</para>

<para>
    <screenshot>
        <screeninfo
>Менеджер синтеза речи KDE (вкладка Фильтры).</screeninfo>
        <mediaobjectco>
            <imageobjectco>
                <areaspec units="calspair">
                    <area id="pt-filters-1" coords="1 1"/>
                    <area id="pt-filters-2" coords="1 1"/>
                    <area id="pt-filters-3" coords="1 1"/>
                    <area id="pt-filters-4" coords="1 1"/>
                    <area id="pt-filters-5" coords="1 1"/>
                    <area id="pt-filters-6" coords="1 1"/>
                    <area id="pt-filters-7" coords="1 1"/>
                    <area id="pt-filters-8" coords="1 1"/>
                </areaspec>
                <imageobject>
                    <imagedata fileref="filters.png" format="PNG"/>
                </imageobject>
            </imageobjectco>
            <textobject>
                <phrase
>Менеджер синтеза речи KDE (вкладка Фильтры)</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-filters-1"
><para
>Это список всех настроенных обычных фильтров. Если флажок  у фильтра не установлен, то он неактивен и будет пропущен. Фильтры используются в указанном порядке, сверху вниз.</para
></callout>
<callout arearefs="pt-filters-2"
><para
>Щёлкните здесь чтобы добавить новый фильтр. Укажите тип добавляемого фильтра. После выбора типа смотрите диалоги настройки ниже.</para
></callout>
<callout arearefs="pt-filters-3"
><para
>Удалить фильтр.</para
></callout>
<callout arearefs="pt-filters-4"
><para
>Щёлкните здесь чтобы изменить настройки фильтра. Смотрите диалоги настройки ниже.</para
></callout>
<callout arearefs="pt-filters-5"
><para
>Для передвижения фильтра вверх или вниз по списку нажмите на эти кнопки.</para
></callout>
<callout arearefs="pt-filters-6"
><para
>Это фильтры определения границ предложений. При первом запуске &kmyapplication; стандартный детектор границ предложений настраивается автоматически. Можно изменить настройку этого фильтра или добавить дополнительные детекторы границ предложений, но новичкам не рекомендуется изменять их.</para
></callout>
<callout arearefs="pt-filters-7"
><para
>Выпадающий список позволяет добавлять, удалять, редактировать или изменять порядок фильтров определения границ предложений.</para
></callout>
<callout arearefs="pt-filters-8"
><para
>Обязательно нажмите на эту кнопку чтобы сохранить настройки.</para
></callout>
</calloutlist>
</para>

</sect2>

<!-- ...................................................................... -->

<sect2 id="stringreplacer">
<title
>Настройка фильтров автозамены</title>

<para
>Фильтры автозамены настраиваются путём добавления слов и регулярных выражений,  с которыми должно проводиться сравнение. При нахождении в тексте совпадений со словом или регулярным выражением, они заменяются указанными строками. Сравнение не зависит от регистра.</para>

<para>
    <screenshot>
        <screeninfo
>Автозамена</screeninfo>
        <mediaobjectco>
            <imageobjectco>
                <areaspec units="calspair">
                    <area id="pt-stringreplacer-1" coords="1 1"/>
                    <area id="pt-stringreplacer-2" coords="1 1"/>
                    <area id="pt-stringreplacer-3" coords="1 1"/>
                    <area id="pt-stringreplacer-4" coords="1 1"/>
                    <area id="pt-stringreplacer-5" coords="1 1"/>
                    <area id="pt-stringreplacer-6" coords="1 1"/>
                    <area id="pt-stringreplacer-7" coords="1 1"/>
                    <area id="pt-stringreplacer-8" coords="1 1"/>
                    <area id="pt-stringreplacer-9" coords="1 1"/>
                </areaspec>
                <imageobject>
                    <imagedata fileref="stringreplacer.png" format="PNG"/>
                </imageobject>
            </imageobjectco>
            <textobject>
                <phrase
>Автозамена</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-stringreplacer-1"
><para
>Введите имя фильтра. Можно использовать любое уникальное имя, которое вам нравится.</para
></callout>
<callout arearefs="pt-stringreplacer-2"
><para
>Это список слов и регулярных выражений. Фильтр ищет совпадения для каждой строки в поле <guilabel
>Текст</guilabel
>, заменяя совпавшую строку строкой из поля <guilabel
>Заменить на</guilabel
>. Фильтры используются в указанном порядке, сверху вниз.</para
></callout>
<callout arearefs="pt-stringreplacer-3"
><para
>Щёлкните здесь чтобы добавить в список новое слово или регулярное выражение.</para
></callout>
<callout arearefs="pt-stringreplacer-4"
><para
>Щёлкните чтобы переместить выделенное слово или регулярное выражение по списку.</para
></callout>
<callout arearefs="pt-stringreplacer-5"
><para
>Щёлкните здесь чтобы изменить существующее слово или регулярное выражение из списка.</para
></callout>
<callout arearefs="pt-stringreplacer-6"
><para
>Щёлкните чтобы удалить выделенное слово или регулярное выражение из списка.</para
></callout>
<callout arearefs="pt-stringreplacer-7"
><para
>Эти кнопки используются для того чтобы загрузить список слов или регулярных выражений из файла, сохранить текущий список в файл или очистить весь список. При загрузке из файла его элементы добавляются к существующему списку.</para
></callout>
<callout arearefs="pt-stringreplacer-8"
><para
>Если это поле не пусто, то фильтр применяется только если язык диктора текстового задания совпадает с введенным здесь. Если при выборе удерживать <keycap
>&Ctrl;</keycap
>, то можно выбрать несколько языков.</para
></callout>
<callout arearefs="pt-stringreplacer-9"
><para
>Если это поле не пусто, то фильтр применяется только если текст передаётся одним из указанных здесь приложений. Можно указать несколько приложений, разделённых запятыми. Например: <command
><userinput
>konversation,kmail</userinput
></command
></para>
<tip
><para
><guilabel
>ID приложения</guilabel
> можно определить используя программу <command
>kdcop</command
> (при этом оно должно быть запущено). Номера в конце следует отбросить. Например, если kdcop показывает ID приложения <command
>kopete-3432</command
>, то вам надо просто ввести <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
</calloutlist>
</para>

<para
>Фильтр автозамены будет применяться только если выполняются все непустые условия, указанные в блоке <guilabel
>Применять этот фильтр когда</guilabel
>. Если нет заполненных условий, фильтр будет применяться ко всем текстам.</para>

<para
>При сравнении регистр не учитывается.</para>

<para
>Фильтр автозамены при сравнении слов использует регулярные выражения следующего вида: <command
>\s<userinput
>word</userinput
>\s</command
>. Другими словами, слово должно иметь ограничители (пробелы) с каждой стороны.</para>

<para
>Обсуждение того как писать регулярные выражения выходят за пределы этого справочника. Если у вас установлен редактор регулярных выражений KDE, то на экранах <guilabel
>Добавить</guilabel
> и <guilabel
>Изменить</guilabel
> становятся доступны кнопки, которые помогают конструировать регулярные выражения. Редактор регулярных выражений входит в пакет <command
>kdeutils</command
>.</para>

<para
>В &kmyapplication; есть несколько файлов со списками слов, включая смайлики, такие как ":-)", некоторые аббревиатуры, часто используемые в IRC или приложениях мгновенной передачи сообщений, список других аббревиатур. Также есть список специальных символов, которые не может обрабатывать текущая версия голоса Polish Festival. Если вы разработали полезный для вас список слов, используйте кнопку <guibutton
>Сохраниить</guibutton
>, чтобы сохранить их в файл, и отправьте команде &kmyapplication; для включения в следующую версию.</para>

</sect2>

<!-- ...................................................................... -->

<sect2 id="xmltransformer">
<title
>Настройка фильтров преобразования XML</title>

<para
>Фильтры преобразования XML используют файлы XSLT для преобразования XML из одного формата в другой. XSLT, язык преобразования стиля XML, - это стандартный язык w3c для осуществления таких преобразований. Он может использоваться только с правильно сформированным XML. Также, в вашей системе должна быть установлена утилита <command
>xsltproc</command
>.</para>

<para>
    <screenshot>
        <screeninfo
>Преобразователь XML</screeninfo>
        <mediaobjectco>
            <imageobjectco>
                <areaspec units="calspair">
                    <area id="pt-xmltransformer-1" coords="1 1"/>
                    <area id="pt-xmltransformer-2" coords="1 1"/>
                    <area id="pt-xmltransformer-3" coords="1 1"/>
                    <area id="pt-xmltransformer-4" coords="1 1"/>
                    <area id="pt-xmltransformer-5" coords="1 1"/>
                    <area id="pt-xmltransformer-6" coords="1 1"/>
                </areaspec>
                <imageobject>
                    <imagedata fileref="xmltransformer.png" format="PNG"/>
                </imageobject>
            </imageobjectco>
            <textobject>
                <phrase
>Преобразователь XML</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-xmltransformer-1"
><para
>Введите имя фильтра. Можно использовать любое уникальное имя, которое вам нравится.</para
></callout>
<callout arearefs="pt-xmltransformer-2"
><para
>Введите полный путь к файлу XSLT, который будет осуществлять преобразование.</para
></callout>
<callout arearefs="pt-xmltransformer-3"
><para
>Укажите путь к утилите <command
>xsltproc</command
>. Если xsltproc находится в переменной окружения PATH, просто введите <command
><userinput
>xsltproc</userinput
></command
>.</para
></callout>
<callout arearefs="pt-xmltransformer-4"
><para
>Если это поле пусто, то фильтр применяется только когда в XML указан корневой элемент. Это отличает одну форму XML от другой.</para
></callout>
<callout arearefs="pt-xmltransformer-5"
><para
>Если это поле не пустое, то фильтр будет применяться только если в XML есть спецификация <command
><![CDATA[<!DOCTYPE]]></command
>, начинающаяся со введенной строки. Например, <command
><userinput
>html</userinput
></command
> будет совпадать с <command
><![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>]]></command
>. </para
></callout>
<callout arearefs="pt-xmltransformer-6"
><para
>Если это поле не пусто, то фильтр применяется только если текст передаётся одним из указанных здесь приложений. Можно указать несколько приложений, разделённых запятыми. Например: <command
><userinput
>konversation,kmail</userinput
></command
></para>
<tip
><para
><guilabel
>ID приложения</guilabel
> можно определить используя программу <command
>kdcop</command
> (при этом оно должно быть запущено). Номера в конце следует отбросить. Например, если kdcop показывает ID приложения <command
>kopete-3432</command
>, то вам надо просто ввести <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
</calloutlist>
</para>

<para
>Фильтр преобразования XML будет применяться только если он удовлетворяет всем заполненным условиям, указанным в блоке <guilabel
>Применить этот фильтр когда</guilabel
>. Если нет заполненных условий, фильтр будет применяться ко всем текстам. И всё же желательно не допускать этого, т.к. большинство заданий вероятно будут не в XML.</para>

</sect2>

<!-- ...................................................................... -->

<sect2 id="talkerchooser">
<title
>Настройка фильтров выбора диктора</title>

<para
>Фильтры выбора диктора используются для того, чтобы отправлять текст тому диктору, который настроен на вкладке <guilabel
>Дикторы</guilabel
>, или любому диктору с соответствующими атрибутами. Например, можно указать, что текст от <command
>kmail</command
> должен проговариваться диктором, настроенным на женский голос. См. <xref linkend="configure-plugin"/>.</para>

<para
>Перед тем, как &kmyapplication; начинает отправлять текст каждому из фильтров, для произнесения текста выбирается диктор. Он выбирается исходя из соответствия атрибутов, указанных приложением, которое отправляет текст, и атрибутов диктора, указанных на вкладке <guilabel
>Дикторы</guilabel
>. Фильтр выбора диктора позволяет изменить выбранного таким образом диктора. </para>

<para>
    <screenshot>
        <screeninfo
>Выбор диктора</screeninfo>
        <mediaobjectco>
            <imageobjectco>
                <areaspec units="calspair">
                    <area id="pt-talkerchooser-1" coords="1 1"/>
                    <area id="pt-talkerchooser-2" coords="1 1"/>
                    <area id="pt-talkerchooser-3" coords="1 1"/>
                    <area id="pt-talkerchooser-4" coords="1 1"/>
                    <area id="pt-talkerchooser-5" coords="1 1"/>
                </areaspec>
                <imageobject>
                    <imagedata fileref="talkerchooser.png" format="PNG"/>
                </imageobject>
            </imageobjectco>
            <textobject>
                <phrase
>Выбор диктора</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-talkerchooser-1"
><para
>Введите имя фильтра. Можно использовать любое уникальное имя, которое вам нравится.</para
></callout>
<callout arearefs="pt-talkerchooser-2"
><para
>Если это поле не пусто, то фильтр будет применяться только если текст содержит введенное регулярное выражение. Если редактор регулярных выражений KDE установлен, то, для облегчения ввода регулярного выражения, при нажатии на кнопку просмотра, он будет запущен.</para>
<tip
><para
>Для улучшения производительности, попробуйте "привязать" регулярное выражение к началу строки. Другими словами начните регулярное выражение с <command
><userinput
><![CDATA[^]]></userinput
></command
>.</para
></tip
></callout>
<callout arearefs="pt-talkerchooser-3"
><para
>Если это поле не пусто, то фильтр применяется только если текст передаётся одним из указанных здесь приложений. Можно указать несколько приложений, разделённых запятыми. Например: <command
><userinput
>konversation,kmail</userinput
></command
></para>
<tip
><para
><guilabel
>ID приложения</guilabel
> можно определить используя программу <command
>kdcop</command
> (при этом оно должно быть запущено). Номера в конце следует отбросить. Например, если kdcop показывает ID приложения <command
>kopete-3432</command
>, то вам надо просто ввести <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
<callout arearefs="pt-talkerchooser-4"
><para
>Здесь указываются атрибуты предпочитаемого диктора для произнесения текста. Если в тексте встречаются указанные выше условия фильтра, то будет выбран диктор, наиболее соответствующий указанным здесь атрибутам. Нажмите кнопку справа чтобы выбрать диктора. См. <xref linkend="selecttalker"/>.</para
></callout>
<callout arearefs="pt-talkerchooser-5"
><para
>С помощью этих кнопок можно сохранить и восстановить параметры выбора диктора.</para
></callout>
</calloutlist>
</para>

<para
>Фильтр выбора диктора будет применяться к тексту только если все заполненные условия встречаются в блоке <guilabel
>Применить этот фильтр когда</guilabel
>. Нужно заполнить хотя бы одно.</para>

<para
>Простейший путь узнать, как настраивается выбор диктора - это эксперимент. Отключите выбор диктора и отправьте какой-либо текст. На вкладке <guilabel
>Задания</guilabel
> обратите внимание на используемого диктора. Включите выбор диктора, введите некоторые атрибуты и попытайтесь снова, чтобы увидеть результаты вашего выбора. Естественно, для того, чтобы выбор диктора работал, необходимо чтобы было настроено несколько дикторов.</para>

</sect2>

<!-- ...................................................................... -->

<sect2 id="sbd">
<title
>Настройка фильтров определения границ предложений</title>

<para
>Фильтры определения границ предложений разбивают текст на отдельные предложения. Это важно потому что это</para>

<itemizedlist>
<listitem
><para
>позволяет &kmyapplication; начинать произносить текст быстрее, т.к. необходимо синтезировать только первое предложение, а не весь текст, что может быть очень долго, </para
></listitem>
<listitem
><para
>позволяет переходить вперёд и назад по предложениям на вкладке <guilabel
>Задания</guilabel
> и </para
></listitem>
<listitem
><para
>позволяет приостанавливать или останавливать текстовые задания на вкладке <guilabel
>Задания</guilabel
> даже если у синтезатора речи нет такой возможности.</para
></listitem>
</itemizedlist>

<para
>Именно поэтому стандартный фильтр определения границ предложений автоматически настраивается при первом запуске <command
>kttsmgr</command
> и не может быть выключен (хотя вы можете удалить его). Не рекомендуется изменять этот фильтр если вы не уверены в том, что вы делаете.</para>

<para
>Тем не менее, для того, чтобы решить некоторые проблемы, можно добавить дополнительные SBD-фильтры. Например, на февраль 2005, у польского голоса Festival есть назойливый атрибут произнесения знаков препинания. Он, например, будет произносить точки в конце каждого предложения. Настроить фильтр автозамены для удаления знаков препинания в предложении невозможно, так как это помешает стандартному SBD-фильтру распознавать предложения. Вместо этого можно создать модифицированный SBD-фильтр, который распознаёт предложения и одновременно удаляет знаки препинания. Чтобы сделать это, необходимо добавить SBD-фильтр и использовать кнопку <guibutton
>Загрузить</guibutton
>, чтобы загрузить файл <filename
>polish_festival_sbdrc</filename
>, который поставляется вместе с &kmyapplication;.</para>

<para
>SBD-фильтр работает следующим образом: при совпадении регулярного выражения, обозначающего конец предложения, он добавляет символ табуляции (десятичную 8) на границах предложений (все символы табуляции автоматически удаляются из текста перед началом обработки). Заметьте, что стандартный SBD-фильтр сохраняет знаки препинания. </para>

<para
>SBD filters are never applied to KDE Notification messages (knotify), Warnings, Messages, or Screen Reader Outputs.</para>

<para
>Если вы случайно удалили стандартный фильтр определения границ предложений, то вы можете восстановить его загрузив файл <filename
>standard_sbdrc</filename
>, который поставляется с &kmyapplication;.</para>

</sect2>

</sect1>

<!-- ...................................................................... -->

<sect1 id="selecttalker">
<title
>Выбор диктора</title>

<para
>Вы можете настроить любое количество дикторов - см. <xref linkend="configure-plugin"/>. Когда приложение посылает текст &kmyapplication;, оно может также указать желаемые атрибуты, которыми должен обладать диктор, выполняющий задание. &kmyapplication; подберёт самого близкого по ним. Например, если приложение потребует англоязычного диктора с женским голосом, то, если такой у вас имеется, он будет использован вместо диктора по умолчанию. Если же его у вас нет, но есть с мужским голосом, будет использован он. Если приложение не передаст никаких атрибутов, будет использован первый из списка на вкладке <guilabel
>Дикторы</guilabel
>.</para>

<para
>При передаче желаемых атрибутов, приложения могут обозначить их приоритет. Например, атрибут "звучность" (напротив: "мягкость") может иметь больший приоритет, чем пол. Естественно, наибольший приоритет имеет атрибут "язык".</para>

<para
>С помощью экрана <guilabel
>Выбор диктора</guilabel
>, вы можете перекрыть атрибуты диктора, передаваемые приложением. Этот экран появляется</para>

<itemizedlist>
<listitem
><para
>при нажатии кнопки <guibutton
>Сменить диктора</guibutton
> на вкладке <guilabel
>Задания</guilabel
>,</para
></listitem>
<listitem
><para
>при нажатии на кнопку <guibutton
>Диктор</guibutton
> в диалоге <guilabel
>Настройка фильтров</guilabel
>, или</para
></listitem>
<listitem
><para
>при нажатии на кнопку <guibutton
>Диктор</guibutton
> на вкладке <guilabel
>Уведомления</guilabel
>.</para
></listitem>
</itemizedlist>

<para>
    <screenshot>
        <screeninfo
>Выбор диктора</screeninfo>
        <mediaobjectco>
            <imageobjectco>
                <areaspec units="calspair">
                    <area id="pt-selecttalker-1" coords="1 1"/>
                    <area id="pt-selecttalker-2" coords="1 1"/>
                    <area id="pt-selecttalker-3" coords="1 1"/>
                    <area id="pt-selecttalker-4" coords="1 1"/>
                    <area id="pt-selecttalker-5" coords="1 1"/>
                </areaspec>
                <imageobject>
                    <imagedata fileref="selecttalker.png" format="PNG"/>
                </imageobject>
            </imageobjectco>
            <textobject>
                <phrase
>Выбор диктора</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para
>Этот экран предлагает три способа указания желаемых атрибутов диктора</para>

<itemizedlist>
<listitem
><para
>Использовать диктора по умолчанию (верхний в списке на вкладке <guilabel
>Дикторы</guilabel
>).</para
></listitem>
<listitem
><para
>Использовать ближайший диктор, т.е. имеющий наибольшее количество совпадающих с указанными атрибутов.</para
></listitem>
<listitem
><para
>Использовать диктор, наиболее близкий к полному набору атрибутов. Последний задаётся конкретным диктором, который и используется до тех пор, пока вы его не удалите/измените. В этом случае будет использован ближайший диктор.</para
></listitem>
</itemizedlist>

<para>
<calloutlist>
<callout arearefs="pt-selecttalker-1"
><para
>Выберите способ указания атрибутов с помощью этих кнопок.</para
></callout>
<callout arearefs="pt-selecttalker-2"
><para
>Выберите желаемые атрибуты. Оставьте пустым поле атрибута, если для вас не важно его значение.</para
></callout>
<callout arearefs="pt-selecttalker-3"
><para
>Отметьте флажки возле атрибутов, имеющих больший приоритет, чем остальные.</para
></callout>
<callout arearefs="pt-selecttalker-4"
><para
>Язык - автоматически имеет наибольший приоритет.</para
></callout>
<callout arearefs="pt-selecttalker-5"
><para
>Этот список дикторов, настроенных в &kmyapplication;. Выбором одного из них, вы устанавливаете значение всех атрибутов в соответствии с этим диктором. Если, затем, вы удалите этого диктора, будет использован другой, ближайший к нему (с аналогичными значениями атрибутов).</para
></callout>
</calloutlist>
</para>

<para
>Атрибут <guilabel
>Язык</guilabel
> имеет особое значение потому, что текст может стать непонятным если будет произноситься диктором, язык которого отличается от языка текста. Поэтому язык - автоматически "предпочитаемый" атрибут. Если вы указываете язык, то он будет использоваться вместо выбранного, но если вы оставите это поле пустым, то будет использоваться уже выбранный в &kmyapplication;. Если приложение, отправляющее текст &kmyapplication;, не указывает язык, то &kmyapplication; использует язык самого верхнего диктора из настроенных на вкладке <guilabel
>Дикторы</guilabel
>. Т.е. самый верхний диктор должен иметь язык интерфейса ваших программ.</para>

<tip
><para
>Чтобы очистить все атрибуты в секции <guilabel
>Использовать самого близкого диктора</guilabel
>, отметьте <guilabel
>Диктор по умолчанию</guilabel
>, затем нажмите снова на <guilabel
>Использовать самого близкого диктора</guilabel
>.</para
></tip>

</sect1>

</chapter>

<!-- ====================================================================== -->

<chapter id="commands">
<title
>Меню</title>

<!-- (OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
application windows and their menubar and toolbar commands for easy reference.
Also include any keys that have a special function but have no equivalent in the
menus or toolbars. This may not be necessary for small apps or apps with no tool
or menu bars. -->

<para
>В процессе написания</para>

</chapter>

<!--

<sect1 id="kapp-mainwindow">
<title
>The main &kmyapplication; window</title>

<sect2>
<title
>The File Menu</title>
<para>
<variablelist>
<varlistentry>
<term
><menuchoice>
<shortcut>
<keycombo action="simul"
>&Ctrl;<keycap
>N</keycap
></keycombo>
</shortcut>
<guimenu
>File</guimenu>
<guimenuitem
>New</guimenuitem>
</menuchoice
></term>
<listitem
><para
><action
>Creates a new document</action
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice>
<shortcut>
<keycombo action="simul"
>&Ctrl;<keycap
>S</keycap
></keycombo>
</shortcut>
<guimenu
>File</guimenu>
<guimenuitem
>Save</guimenuitem>
</menuchoice
></term>
<listitem
><para
><action
>Saves the document</action
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice>
<shortcut>
<keycombo action="simul"
>&Ctrl;<keycap
>Q</keycap
></keycombo>
</shortcut>
<guimenu
>File</guimenu>
<guimenuitem
>Quit</guimenuitem>
</menuchoice
></term>
<listitem
><para
><action
>Quits</action
> &kmyapplication;</para
></listitem>
</varlistentry>
</variablelist>
</para>

</sect2>

-->

<!-- ====================================================================== -->

<chapter id="developers">
<title
>Руководство разработчика</title>

<para
>&kmyapplication; предоставляет два интерфейса (API): </para>

<itemizedlist>
<listitem
><para
>KDE Text-to-Speech API, для добавления поддержки синтеза речи в свои приложения. Это интерфейс DCOP.</para
></listitem>
<listitem
><para
>KTTSD Plugin API, для модулей поддержки движков синтеза речи.</para
></listitem>
</itemizedlist>

<para
>Далее даётся краткое описание DCOP-интерфейса синтеза речи. Более полную документацию можно найти на сайте <ulink url="http://accessibility.kde.org/developer/kttsd/"
>KDE Accessibility</ulink
> (http://accessibility.kde.org). </para>


<!-- ...................................................................... -->


<sect1 id="dcop-interface">
<title
>DCOP-интерфейс &kmyapplication;</title>

<para
>Приложения должны направлять свои запросы объекту <command
>KSpeech</command
> программы <command
>kttsd</command
>, . </para>

<para
>Например, введите следующие команды в Konsole.</para>

<para
>Если KTTSD не запущен</para>

<para
><userinput
>kttsd</userinput
></para>

<para
>Для добавления в очередь текстового задания</para>

<para
><userinput
>dcop kttsd KSpeech setText "<replaceable
>text</replaceable
>" "<replaceable
>talker</replaceable
>"</userinput
></para>

<para
>где <userinput
><replaceable
>text</replaceable
></userinput
> - текст, который следует произнести, <userinput
><replaceable
>talker</replaceable
></userinput
> - код языка, например <userinput
><replaceable
>en</replaceable
></userinput
>, <userinput
><replaceable
>cy</replaceable
></userinput
>.</para>

<para
>Пример.</para>

<para
><userinput
>dcop kttsd KSpeech setText "This is a test." "en"</userinput
></para>

<para
>Чтобы добавленное задание было выполнено</para>

<para
><userinput
>dcop kttsd KSpeech startText <replaceable
>0</replaceable
></userinput
></para>

<para
>Здесь <userinput
>0</userinput
> отвечает последнему добавленному заданию. Также, можно явно указать номер задания.</para>

<para
>Чтобы остановить текущее задание</para>

<para
><userinput
>dcop kttsd KSpeech stopText 0</userinput
></para>

<para
>В зависимомсти от того, какой модуль синтеза речи используется, синтез речи может быть остановлен не сразу.</para>

<para
>Чтобы просмотреть другие доступные команды, выполните</para>

<para
><userinput
>dcop kttsd KSpeech</userinput
></para>

<para
>или обратитесь к <ulink url="http://accessibility.kde.org/developer/kttsd/"
> KDE Text-to-Speech API</ulink
>.</para>

</sect1>

</chapter>

<!-- ====================================================================== -->

<chapter id="faq">
<title
>Вопросы и ответы</title>
&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
<qandaentry>
<question>
<para
>Я получаю сообщение о сбое во время запуска <command
>kttsmgr</command
>. Я добавил поддержку отладки при сборке, но всё равно не получил никаких отладочных сообщений.</para>
</question>
<answer>
<para
>Вероятно, это был сбой GStreamer, который привёл к сбою и  &kmyapplication;. Попробуйте "зарегистрировать" GStreamer. Для GStreamer 0.8x, выполните команду <command
>gst-register-0.8</command
>. Если это не помогло, возможно версия GStreamer не совместима с прогаммой.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Мне нужно с чего-то начать. Как полностью остановить &kmyapplication;?</para>
</question>
<answer>
<para
>В введите следующие команды в Konsole: <programlisting
>killall kttsd
killall kttsmgr
</programlisting>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Как посмотреть вывод отладочной информации от <command
>kttsd</command
>?</para>
</question>
<answer>
<para
>Откройте два окна Konsole. В первом запустите <command
>kttsd</command
>, а затем во втором <command
>kttsmgr</command
>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>У меня есть дополнительный голос Festival который я загрузил из интернет. Я установил его и я могу использовать его с Festival, но я не вижу его в <command
>kttsmgr</command
>.</para>
</question>
<answer>
<para
>Добавьте в файл <command
>$KDEHOME/share/apps/kttsd/festivalint/voices</command
> новый голос. Остальные записи можно использовать как пример. Если вы успешно добавили новый голос, пожалуйста пришлите заплатку разработчикам, а также ссылку, по которой вы получили файл с голосом.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Ни один из поддерживаемых синтезаторов речи не поддерживает необходимый мне язык. Где я могу найти синтезатор для моего языка?</para>
</question>
<answer>
<para
>Google(tm) is your friend. Если вы ещё не успели с ним подружиться, вам может помочь эта <ulink url="http://tcts.fpms.ac.be/synthesis/mbrola/mbrtts.html"
>ссылка</ulink
>. Если вы найдёте движок синтеза который поддерживает ваш язык и вы хотите добавить его поддержку в &kmyapplication;, пожалуйста свяжитесь с командой разработчиков. Особенно приветствуются движки с открытым кодом. Если вы знаете коммерческий синтезатор, возможно вы сможете убедить разработчика предоставить бесплатную копию команде разработчиков &kmyapplication;. Пока что возможно вам удастся запустить синтезатор используя <guilabel
>командный</guilabel
> модуль. См. <xref linkend="using-with-command"/>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>&kmyapplication; говорит слишком медленно. Как мне ускорить его?</para>
</question>
<answer>
<para
>Вам нужен параметр <guilabel
>Скорость</guilabel
> на вкладке <guilabel
>Звук</guilabel
>. Для этого требуется утилита <command
>sox</command
>. Некоторые модули синтеза речи (отдельные голоса), такие как Festival Interactive, также имеют аналогичный параметр в своей конфигурации.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Это помогло, но web-страницы всё равно озвучиваются слишком медленно.</para>
</question>
<answer>
<para
>Параметр скорости игнорируется при озвучивании HTML (это из-за того, что HTML преобразовывается в SSML, в котором могут присутствовать свои теги скорости). Попробуйте отключить фильтр преобразования HTML в XML (см. <xref linkend="filters"/>), либо вы можете отредактировать .xsl файл и увеличить скорость по умолчанию ("rate").</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>У меня не получается сделать так, чтобы web-страницы озвучивались женским голосом. Я настроил соответствующего диктора Festival.</para>
</question>
<answer>
<para
>Версия Festival 1.95 beta игнорирует тег SABLE GENDER. Во избежание ошибок, этот тег опускается. То же самое касается и тега голоса.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Я настроил фильтр преобразования HTML в XML, но web-страницы не озвучиваются вообще при использовании Festival.</para>
</question>
<answer>
<para
>Из-за ошибки в Festival 1.95 beta, вам нужно установить голос <command
>rab_diphone</command
> (British male). Также, убедитесь, что утилита <command
>xsltproc</command
> установлена в вашей системе.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Определённые символы приводят к ошибкам, приводящим к пропусканию целых предложений и т.п. Как мне это исправить?</para>
</question>
<answer>
<para
>Убедитесь, что параметр <guilabel
>Кодировка</guilabel
> установлен правильно. Возможно, вам поможет фильтр автозамены. Если ошибки происходят на символах пунктуации, вам нужно обратиться к фильтрам определения границ предложений (Sentence Boundary Detector). См. <xref linkend="filters"/>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Я добавил фильтр автозамены, написанный мной, и теперь &kmyapplication; не позволяет перемещаться по предложениям. На вкладке <guilabel
>Задания</guilabel
> программа говорит, что задания имеют одно предложение. Что я сделал не так?</para>
</question>
<answer>
<para
>Не удаляйте символы пунктуации (точка, знак вопроса и восклицания, запятая, точка с запятой). Для этого, вам придётся использовать фильтр определения границ предложений (Sentence Boundary Detector).</para>
</answer>
</qandaentry>
</qandaset>
</chapter>

<!-- ====================================================================== -->

<chapter id="credits">

<!-- Include credits for the programmers, documentation writers, and
contributors here. The license for your software should then be included below
the credits with a reference to the appropriate license file included in the KDE
distribution. -->

<title
>Авторские права и лицензирование</title>

<para
>&kmyapplication; </para>
<para
>Авторские права на программу &copy; 2002 Джош Пабло Эзеквель Фернандез (Jos&#233; Pablo Ezequiel "Pupeno" Fern&#225;ndez) <email
>pupeno@kde.org</email
> </para>
<para
>Текущий разработчик: Гарри Крэмблитт (Gary Cramblitt) <email
>garycramblitt@comcast.net</email
> </para>
<para
>Участники: <itemizedlist>
<listitem
><para
>Олаф Шмидт (Olaf Schmidt) <email
>ojschmidt@kde.org</email
></para>
</listitem>
<listitem
><para
>Гуннар Шми Дт (Gunnar Schmi Dt) <email
>gunnar@schmi-dt.de</email
></para>
</listitem>
<listitem
><para
>Пол Гайяннарос (Paul Giannaros) <email
>ceruleanblaze@gmail.com</email
></para>
</listitem>
</itemizedlist>
</para>

<para
>Авторские права на документацию &copy; 2004 Гарри Крэмблитт (Gary Cramblitt) <email
>garycramblitt@comcast.net</email
> </para>

<para
>Перевод на русский язык: Иван Петров <email
>pis00593@udmglzs.udmene.ru</email
></para
> 
&underFDL; &underGPL; <note
><para
>Синтезаторы речи, используемые &kmyapplication;, распространяются по условиям их лицензий. Подробности можно узнать в документации по каждому движку или на соответствующем веб-сайте. Некоторые голоса также имеют собственные лицензии.</para
></note>

</chapter>

<!-- ====================================================================== -->

<appendix id="installation">
<title
>Установка</title>

<!-- ...................................................................... -->


<sect1 id="getting-kapp">
<title
>Получение &kmyapplication;</title>

<!-- This first entity contains boiler plate for applications that are
part of KDE CVS.  You should remove it if you are releasing your
application --> 

<para
>&install.intro.documentation; </para>

<para
>(Будущее) Команда установки для Debian: <command
>apt-get install kdeaccessibility</command
></para>

<note>
<para
>Ссылки на двоичные пакеты и пакеты с исходными кодами находятся на веб-сайте модуля <ulink url="http://accessibility.kde.org/developer/kttsd/"
>KDE Accessibility</ulink
> (http://accessibility.kde.org).</para>

<para
>Если у вас есть доступ к хранилищу KDE, то вы можете загрузить &kmyapplication;, выбрав модуль <command
>kdeaccessibility</command
>. &kmyapplication; будет находиться в каталоге <command
>kttsd</command
>. Также можно загрузить ночной снимок kdeaccessibility с <ulink url="ftp://ftp.kde.org/pub/kde/unstable/latest/kdeaccessibility.tar.bz2"
>ftp://ftp.kde.org/pub/kde/unstable/latest/kdeaccessibility.tar.bz2</ulink
></para>
</note>

</sect1>

<!-- ...................................................................... -->


<sect1 id="requirements">
<title
>Требования</title>

<para
>Обязательные требования:</para>

<para>
<itemizedlist>
<listitem
><para
>KDE версии 2.3 или более поздняя.</para
></listitem>
<listitem
><para
>Движок синтеза речи. В настоящее время поддерживаются следующие языки и движки.</para>

<para>
<informaltable id="synth-engines">
<tgroup cols="2">
<tbody>

<row>
<entry
>Festival</entry>
<entry
>Американский и британский английский, испанский, немецкий, финский, чешский, польский, русский, итальянский, канадский французский, суахили, зулусский</entry>
</row>

<row>
<entry
>Festival Lite (flite)</entry>
<entry
>Английский</entry>
</row>

<row>
<entry
>Hadifix (MBROLA и txt2pho)</entry>
<entry
>Немецкий</entry>
</row>

<row>
<entry
>Epos</entry>
<entry
>Чешский, Словацкий</entry>
</row>

<row>
<entry
>FreeTTS</entry>
<entry
>Английский</entry>
</row>

</tbody>
</tgroup>
</informaltable>
</para>

<para
>Он также может работать с любыми синтезаторами, которые могут быть запущены командой в Konsole.</para>

<note
><para
>Приведенный ниже список может быть не полным или устаревшим. Спецификации каждого движка содержат полный список поддерживаемых языков. Также, посетите <ulink url="http://accessibility.kde.org/developer/kttsd/index.php"
>сайт &kmyapplication;</ulink
> за дополнительной информацией, не вошедшей в настоящее руководство. </para
></note>

<note>
<para
>&kmyapplication; использует гибкую модульную архитектуру движков синтеза речи. Если вы хотите добавить в &kmyapplication; новый движок, свяжитесь с командой разработчиков. </para>
</note>

<para
>За инструкциями для каждого из движков отдельно обратитесь  к разделу <xref linkend="configuration"/>. </para>

</listitem>
</itemizedlist>
</para>

<para
>Дополнительные компоненты:</para>

<para>
<itemizedlist>

<listitem>
<para
>Утилита <command
>sox</command
> необходима для общей настройки скорости произнесения, но она не обязательна. Пользователи Debian могут установить sox командой <command
>apt-get install sox</command
>. Sox включен в большинство дистрибутивов &Linux;.</para>
</listitem>

<listitem>
<para
>Утилита <command
>xsltproc</command
> необходима для поддержки SSML и для фильтра преобразования XML, но она не обязательна. Пользователи Debian могут установить xsltproc командой <command
>apt-get install xsltproc</command
>.</para>
</listitem>

<listitem>
<para
>GStreamer версии 0.8.7 или старше. По умолчанию &kmyapplication; для вывода звука использует aRts, но если вы установите GStreamer, то можно использовать его. GStreamer можно получить с </para>

<para
><ulink url="http://gstreamer.freedesktop.org/"
>http://gstreamer.freedesktop.org/</ulink
></para>
</listitem>

</itemizedlist>
</para>

</sect1>

<!-- ...................................................................... -->


<sect1 id="compilation">
<title
>Сборка и установка</title>

<!-- This entity contains the boilerplate text for standard -->
<!-- compilation instructions.  If your application requires any -->
<!-- special handling, remove it, and replace with your own text. -->

<!-- &install.compile.documentation; -->

<para
>Для того, чтобы скомпилировать &kmyapplication;, необходимы свежие (KDE 3.4 или выше) файлы разработки KDE, включая kdelibs и arts.</para>

<para
>Если вы скачали архивный файл с &kmyapplication;, то зарегистрируйтесь в системе как обычный пользователь, распакуйте архив в подходящий каталог, перейдите в этот каталог и выполните следующие команды.</para>

<programlisting
>./configure
make
</programlisting>

<para
>Если у вас есть файлы разработки GStreamer 0.8.7 или выше, и вы хотите скомпилировать &kmyapplication; с поддержкой GStreamer, то, вместо этих команд, введите следующие.</para>

<programlisting
>./configure --enable-kttsd-gstreamer
make
</programlisting>

<para
>По умолчанию приведенные выше команды установят &kmyapplication; в <filename
>/opt/kde3</filename
>. Если этот каталог не указан в путях $<envar
>KDEDIRS</envar
>, возможно вам понадобится указать опцию <userinput
>--prefix=<replaceable
>target</replaceable
></userinput
>. Например,</para>

<programlisting
>./configure --prefix=/usr/local
make
</programlisting>

<note
><para
>В системах, основанных на Debian, приложения, компилируемые из исходных кодов, обычно устанавливаются в каталог <filename
><replaceable
>/usr/local</replaceable
></filename
>. </para
></note>

<para
>Зарегистрируйтесь в системе как root и установите &kmyapplication; используя следующие команды.</para>

<programlisting
>su
make install
</programlisting>

<para
>Если вы загрузили исходные коды &kmyapplication; из хранилища, или загрузили ночной снимок модуля, для компиляции и установки используйте следующие команды. </para>

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

</sect1>

<!-- ...................................................................... -->


<sect1 id="configuration">
<title
>Настройка</title>

<para
>Перед тем как использовать &kmyapplication; убедитесь что движок синтеза речи работает. Следуйте инструкциям, поставляемым вместе с движком.</para>

<tip>
<para
>В некоторых случаях потребуется дать право на запись в аудио устройство.</para>
<para
><userinput
>chmod a+rw <replaceable
>/dev/dsp*</replaceable
></userinput
></para>
</tip>

<!-- ...................................................................... -->


<sect2 id="using-with-festival">
<title
>Использование Festival (Interactive)</title>

<para
>Festival - это один из лучших свободных движков синтеза речи с открытым исходным кодом. Качество голоса обычно довольно высокое и поддерживает довольно много голосов и языков. Во многих голосах можно управлять громкостью, скоростью произнесения и тоном (высотой голоса) из &kmyapplication;.</para>

<para
>Название синтезатора: <guilabel
>Festival Interactive</guilabel
></para>

<para
>Ссылка: <ulink url="http://www.cstr.ed.ac.uk/projects/festival/"
> http://www.cstr.ed.ac.uk/projects/festival/</ulink
> </para>

<para
>Команда установки для Debian: <userinput
>apt-get install festival</userinput
></para>

<para
>Необходимо установить хотя бы один язык. Следуйте инструкциям, поставляемым вместе с Festival. Для озвучивания содержания web-страниц, нужно установить голос <command
>rab_diphone</command
> (британский мужской). </para>

<para
>Дополнительные английские голоса для festival доступны по адресу</para>

<para
><ulink url="http://hts.ics.nitech.ac.jp/"
>http://hts.ics.nitech.ac.jp/</ulink
>. </para>

<para
>Дополнительные испанские, английские и немецкие голоса доступны по адресу</para>

<para
><ulink url="http://cslu.cse.ogi.edu/tts/download/"
>http://cslu.cse.ogi.edu/tts/download/</ulink
></para>

<para
>Для этих голосов необходимо скомпилировать дополнительный модуль, поэтому у вас должны быть исходные коды Festival. Немецкие голоса имеют ограничения в распространении. </para>

<para
>Мужской финский голос доступен на </para>

<para
><ulink url="http://www.ling.helsinki.fi/suopuhe/download/"
> http://www.ling.helsinki.fi/suopuhe/download/</ulink
>. </para>

<para
>Польский мужской голос доступен на </para>

<para
><ulink url="http://www.artegence.com/download/voicexml/speech/festival_polish_voice.tgz"
> http://www.artegence.com/download/voicexml/speech/festival_polish_voice.tgz</ulink
>. </para>

<para
>Русский мужской голос доступен на </para>

<para
><ulink url="http://nshmyrev.narod.ru/festival/festival.html"
>http://nshmyrev.narod.ru/festival/festival.html </ulink
></para>

<para
>Для того, чтобы использовать этот голос, необходим Festival 1.95 beta или выше. Этот голос всё ещё находится на ранней стадии разработки. Распакуйте в <filename
>festival/lib/voices/russian/</filename
>. Код голоса русского диктора - <userinput
>msu_ru_nsh_diphone</userinput
>. Необходимо использовать одно-байтовую кириллическую кодировку, например <userinput
>KOI8-U</userinput
>.</para>

<para
>Итальянские голоса для Festival 1.95 beta доступны по адресу</para>

<para
><ulink url="http://www.csrf.pd.cnr.it/TTS/It-FESTIVAL-download.htm"
> http://www.csrf.pd.cnr.it/TTS/It-FESTIVAL-download.htm</ulink
>.</para>

<para
>Если вы получили сообщение об ошибках CRC при распаковке, попробуйте загрузить файлы ещё раз.</para>

<para
>Суахили и зулусский голоса для Festival 1.95 beta доступны по адресу</para>

<para
><ulink url="http://www.llsti.org/"
>http://www.llsti.org/</ulink
>.</para>

<para
>К сожалению, доступный там хинди не работает с &kmyapplication;.</para>

<para
>Коммерческие голоса, включая канадский французский, можно купить у Cepstral, LLC:</para>

<para
><ulink url="http://www.cepstral.com/"
>http://www.cepstral.com/</ulink
></para>

<para
>FAQ на их странице поддержки содержит инструкции по подключению их голосов к Festival.</para>

<para
>Festival обычно включается в дистрибутивы &Linux;. Проверьте диски дистрибутива на его наличие.</para>

<note>
<para
>При использовании польского или чешского языка убедитесь, что в опции <guilabel
>Кодировка</guilabel
> указана <userinput
>ISO 8859-2</userinput
>. </para>
<para
>При использовании русского языка, убедитесь что в опции <guilabel
>Кодировка</guilabel
> указана одно-байтовая кириллическая кодировка, такая как <userinput
>KOI8-R</userinput
>. </para>
</note>

<!-- ...................................................................... -->


<sect3 id="festival-with-mbrola">
<title
>Использование Festival с &mbrola;</title>

<para
>Festival можно использовать в сочетании с синтезатором &mbrola;. В этом режиме Festival осуществляет лексический анализ, а &mbrola; воспроизводит звук. Исполняемые файлы &mbrola; и голоса &mbrola; можно загрузить с</para>

<para
><ulink url="http://festvox.org/mbrola/"
>http://festvox.org/mbrola/</ulink
>.</para>

<para
>Следуйте инструкциям, содержащимся в файле <filename
>readme.txt</filename
>.</para>

<para
>Заметьте что &mbrola; это не полная система синтеза речи. &mbrola; синтезирует речь из файлов дифонов. Вы должны установить дополнительные программы которые могут создавать дифоны. В комбинации с Festival, Festival создаёт дифоны необходимые для &mbrola;. Для создания дифонов из немецкого текста можно использовать <command
>txt2pho</command
>. Для получения дополнительной информации, обратитесь к разделу <xref linkend="using-with-hadifix"/>.</para>

<para
>Существует три метода использования Festival с &mbrola;.</para>

<para>
<itemizedlist>
<listitem
><para
><link linkend="mbrola-wrappers"
>Интерфейс &mbrola;</link
>. На момент написания этого руководства этот метод ограничивался только английскими голосами.</para
></listitem>
<listitem
><para
><link linkend="ims-german-festival"
>IMS German Festival</link
>.</para
></listitem>
<listitem
><para
><link linkend="festival-czech"
>Festival-Czech</link
>.</para
></listitem>
</itemizedlist>
</para>

<!-- ...................................................................... -->

<sect4 id="mbrola-wrappers">
<title
>Использование Festival с интерфейсами &mbrola;</title>

<para
>В этом методе добавляется дополнительный ("прослоечный") код интерфейса, чтобы Festival мог использовать файлы голосов &mbrola;. Заметьте, что файлы голосов &mbrola; <emphasis
>не</emphasis
> устанавливаются в дерево каталогов &mbrola;. Вместо этого они устанавливаются в <filename
>festival/lib/</filename
>. Инструкции находятся на</para>

<para
><ulink url="http://www.cstr.ed.ac.uk/projects/festival/mbrola.html"
>http://www.cstr.ed.ac.uk/projects/festival/mbrola.html</ulink
></para>

</sect4>

<!-- ...................................................................... -->

<sect4 id="ims-german-festival">
<title
>Использование IMS German Festival</title>

<para
>IMS German Festival - это модифицированная версия Festival, использующая немецкие голоса &mbrola;. Она работает или с Festival 1.4.1, или с Festival 2.0 (1.95beta). Для начала, установите Festival и &mbrola;, если вы ещё не сделали этого. Затем загрузите IMS German Festival с</para>

<para
><ulink url="http://www.ims.uni-stuttgart.de/phonetik/synthesis/festival_opensource.html"
> http://www.ims.uni-stuttgart.de/phonetik/synthesis/festival_opensource.html</ulink
>.</para>

<para
>Следуйте инструкциям в файле <filename
>README</filename
>, который находится в загруженном файле (заметьте что при использовании с Festival 2.0 <emphasis
>не</emphasis
> обязательно применять архив с <filename
>исправлениями</filename
>, но необходимо пересобрать festival). В конце добавьте следующие строки в файл <filename
>festival/lib/siteint.scm</filename
>:</para>

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

<para
>перед строкой</para>

<para>
<programlisting
>(provide 'siteinit)
</programlisting>
</para>

<para
>На некоторых системах необходимо отредактировать файл <filename
>/etc/festival.scm</filename
>. Добавьте только те строки, которые относятся к установленным немецким голосам. Подставьте правильный путь для <userinput
><replaceable
>/usr/local/mbrola</replaceable
></userinput
>. Также, заметьте что (на момент написания настоящей документации) IMS German Festival не работает с немецкими голосами de4, de5 и de6.</para>

</sect4>

<!-- ...................................................................... -->

<sect4 id="festival-czech">
<title
>Использование Festival-Czech</title>

<para
>Этот метод использует специальный код, чтобы включить синтез речи используя Festival с чешским голосом &mbrola;. Загрузите Festival и &mbrola; и убедитесь что они работают. Затем загрузите Festival-Czech:</para>

<para
><ulink url="http://www.freebsoft.org/festival-czech"
>http://www.freebsoft.org/festival-czech</ulink
></para>

<note
><para
>В следующих процедурах подставьте правильные пути там, где это необходимо.</para
></note>

<para
>Распакуйте загруженный файл в подходящий каталог и создайте лексикон. Исполняемый файл Festival должен быть в <envar
>PATH</envar
>. </para>

<para>
<programlisting
>cd /usr/local
tar xvfz festival-czech.tar.gz
cd festival-czech
make
</programlisting>
</para>

<para
>Загрузите голос <filename
>cz2</filename
> с веб-сайта &mbrola; и распакуйте его в каталог &mbrola;.</para>

<para>
<programlisting
>cd /usr/local/mbrola
mkdir cz2
cd cz2
unzip cz2-001009.zip
</programlisting>
</para>

<para
>Добавьте следующие строки в файл <filename
>festival/lib/siteint.scm</filename
>.</para>

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

<para
>перед строкой</para>

<para>
<programlisting
>(provide 'siteinit)
</programlisting>
</para>

<para
>На некоторых системах необходимо отредактировать файл <filename
>/etc/festival.scm</filename
>.</para>

</sect4>

</sect3>

</sect2>

<!-- ...................................................................... -->

<sect2 id="using-with-flite">
<title
>Использование с Festival Lite (flite)</title>

<para
>Festival Lite - это свободный движок с открытым кодом который в настоящее время поддерживает ограниченное количество голосов и языков. Он достаточно неприхотлив за счёт некоторого ухудшения качества голоса. Вы не сможете настраивать высоту, громкость или скорость этого движка из &kmyapplication;.</para>

<para
>Название синтезатора: <guilabel
>Festival Lite (flite)</guilabel
></para>

<para
>Ссылка: <ulink url="http://www.speech.cs.cmu.edu/flite/index.html"
> http://www.speech.cs.cmu.edu/flite/index.html</ulink
> </para>

<para
>Команда установки для Debian: <userinput
>apt-get install flite</userinput
></para>

<para
>flite обычно включают в дистрибутивы &Linux;. Проверьте диски дистрибутива есть ли он там.</para>

<para
>Скомпилируйте и установите flite в соответствии с инструкциями в файле <filename
>README</filename
>, который поставляется с ним.</para>

</sect2>

<!-- ...................................................................... -->


<sect2 id="using-with-hadifix">
<title
>Использование с Hadifix (&mbrola; и txt2pho)</title>

<para
>Hadifix - это двухступенчатый движок синтеза основанный на дифонах. Утилита <command
>txt2pho</command
> конвертирует текст в дифоны, а движок &mbrola; синтезирует из них звук. Качество голоса высокое, но поддержка языков достаточно ограничена. Можно контролировать голос, тон, скорость и громкость из <application
>kttsmgr</application
>. </para>

<para
>Название синтезатора: <guilabel
>Hadifix</guilabel
></para>

<para
>Ссылка: см. ниже</para>

<para
>Команда установки для Debian: нет</para>

<para
>Если у вас ещё не установлен Hadifix. установите его:</para>

<procedure>
<step
><para
>Загрузите исполняемый файл MBROLA с <ulink url="http://festvox.org/mbrola/"
> http://festvox.org/mbrola/</ulink
>.</para
></step>
<step
><para
>Установите &mbrola; в каталог <filename
>/usr/local/mbrola</filename
>.</para
></step>
<step
><para
>Загрузите хотя бы один файл немецкого языка с сайта &mbrola;. Распакуйте в каталог <filename
>/usr/local/mbrola</filename
>.</para
></step>
<step
><para
>Загрузите txt2pho с</para>
<para
><ulink url="http://www.ikp.uni-bonn.de/dt/forsch/phonetik/hadifix/HADIFIXforMBROLA.html"
> http://www.ikp.uni-bonn.de/dt/forsch/phonetik/hadifix/HADIFIXforMBROLA.html</ulink
>.</para>
</step>
<step
><para
>Распакуйте txt2pho в <filename
>/usr/local/txt2pho</filename
>.</para
></step>
<step
><para
>Исправьте файл <command
>txt2phorc</command
> и укажите в нём правильные пути.</para
></step>
<step
><para
>Скопируйте <command
>txt2phorc</command
> в <filename
>~/.txt2phorc</filename
>, или в <filename
>/etc/txt2pho</filename
>. Заметьте что в последнем случае необходимо удалить буквы "rc" в имени файла.</para
></step>
<step
><para
>В <application
>kttsmgr</application
> выберите немецкий язык (<guilabel
>de</guilabel
>) и добавьте <guilabel
>Hadifix</guilabel
>.</para
></step>
<step
><para
>На экране <guilabel
>Настройка диктора</guilabel
> настройте голос и пути к &mbrola; и txt2pho.</para
></step>
<step
><para
>Нажмите кнопку <guibutton
>Тест</guibutton
> для проверки.</para
></step>
</procedure>

</sect2>

<!-- ...................................................................... -->


<sect2 id="using-with-epos">
    <title
>Использование с Epos</title>

<para
>Epos - это свободный чешский и словацкий движок с открытым исходным кодом. Он нетребователен к ресурсам за счёт некоторого ухудшения качества голоса. Вы не сможете настраивать громкость этого движка из &kmyapplication;.</para>

<para
>Название синтезатора: <guilabel
>Epos TTS Synthesis System</guilabel
></para>

<para
>Ссылка: <ulink url="http://epos.ure.cas.cz/"
> http://epos.ure.cas.cz/</ulink
> </para>

<para
>Команда установки для Debian: <userinput
>apt-get install epos</userinput
></para>

<para
>Запустите <application
>kttsmgr</application
>. На вкладке <guilabel
>Дикторы</guilabel
> нажмите кнопку <guibutton
>Добавить</guibutton
>. Выберите чешский или словацкий язык и <guilabel
>Систему синтеза речи Epos</guilabel
>. Если исполняемые файлы клиента и сервера epos находятся не в <envar
>PATH</envar
>, то укажите пути к этим исполняемым файлам на экране <guilabel
>Настройка диктора</guilabel
>. Поля опций позволяют передать дополнительные параметры серверу и клиенту. Для получения информации наберите в <application
>Konsole</application
> <userinput
>epos -h</userinput
> или <userinput
>say -h</userinput
>.</para>

</sect2>

<!-- ...................................................................... -->


<sect2 id="using-with-freetts">
    <title
>Использование с FreeTTS</title>

<para
>FreeTTS - это свободный движок синтеза речи с открытым кодом, написанный на Java(tm). Это значит, что для того, чтобы использовать его, вам необходимо установить программное обеспечение Java Virtual Machine. В настоящее время у него ограниченная поддержка голосов и языков. Вы не сможете настраивать тон, громкость и скорость этого движка из &kmyapplication;.</para>

<para
>Название синтезатора: <guilabel
>FreeTTS</guilabel
></para>

<para
>Ссылка: <ulink url="http://sourceforge.net/projects/freetts/"
> http://sourceforge.net/projects/freetts/</ulink
> </para>

<para
>Команда установки для Debian: нет</para>

</sect2>

<!-- ...................................................................... -->


<sect2 id="using-with-command">
    <title
>Использование модуля команд</title>

<para
>Модуль команд позволяет использовать &kmyapplication; с любым синтезатором речи, который может быть запущен командой из <application
>Konsole</application
>.</para>

<para
>Название синтезатора: <guilabel
>Команда</guilabel
></para>

<para
>Ссылка: нет</para>

<para
>Команда установки для Debian: нет</para>

<para
>В идеале вы должны использовать команду, которая синтезирует во временный аудио (wav) файл, вместо того чтобы отправлять произнесенный текст напрямую в устройство вывода звука.</para>

<para
>Если синтезатор речи требует, чтобы текст был перекодирован в кодировку, отличную от кодировки системы, вам необходимо указать параметр <command
>%f</command
> при передаче текста движку. &kmyapplication; перекодирует текст в указанную вами кодировку когда будет записывать текст во временный файл. Если вы передаёте текст из командной строки используя параметр <command
>%t</command
>, то он будет перекодирован в кодировку локали вашей системы. Вы также можете использовать опцию <guilabel
>Отправлять данные как стандартный вход</guilabel
> чтобы решить эту проблему в случае, если движок принимает текст со стандартного входа. Например, вот пример команды, которая отправляет в Festival польский текст в кодировке ISO 8859-2 и удаляет непроизносимые знаки препинания:</para>

<para
><command
>cat %f | tr '(){}[]"' ' ' | festival --tts --language polish</command>
</para>

</sect2>

<!-- ====================================================================== -->

</sect1>

</appendix>

&documentation.index;
</book>

<!--
Local Variables:
mode: xml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

vim:tabstop=2:shiftwidth=2:expandtab 
-->
