<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY ktts "<application
>KTTS</application
>">
  <!ENTITY kappname "&ktts;">
  <!ENTITY package "kdeaccessibility">
  <!ENTITY mbrola "<application
>MBROLA</application
>">
  <!ENTITY % imageobjectco.module "INCLUDE">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Brazilian-Portuguese "INCLUDE">
]>
<!-- Note to translators: KTTSD is meant to be built under KDE
     versions 3.2 and later.  Please avoid entities that won't
     be defined under those KDE versions.  Thanks.
-->

<!-- 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
>O manual do &ktts;</title>

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

<othercredit role="translator"
><firstname
>Marcus</firstname
><surname
>Gama</surname
><affiliation
><address
><email
>marcus.gama@gmail.com</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 

</authorgroup>

<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-07-31</date>
<releaseinfo
>1.05.00</releaseinfo>

<!-- Abstract about this handbook -->

<abstract>
<para
>&ktts; - o sistema sintetizador de voz do &kde; - é um serviço baseado em plug-ins que permite a qualquer aplicativo (&kde; e não &kde;) falar com a interface de &DCOP;. </para>

<para
>O &ktts; pretende ser a implementação da API de sintetizador de voz do &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
>acessibilidade</keyword>
<keyword
>kdeaccessibility</keyword>
<keyword
>TTS</keyword>
<keyword
>Sintetizador de voz</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
>Introdução</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
>O &ktts; é um subsistema no &kde; para produzir um sintetizador de voz (TTS). Ele oferece uma API comum para os programadores do &kde; usarem as capacidades de sintetizador de voz para as seus aplicativos. Ele oferece alguns bons recursos também para os usuários finais.</para>

<para
>Recursos para o usuário:</para>

<itemizedlist>
<listitem
><para
>Falar o conteúdo de um arquivo de texto.</para
></listitem>
<listitem
><para
>Falar os eventos de notificação do &kde; (KNotify).</para
></listitem>
<listitem
><para
>Falar todo ou parte do texto de uma página da Internet no &konqueror;.</para
></listitem>
<listitem
><para
>Falar todo ou parte do texto no editor de texto &kate;, incluindo as instâncias em que o &kate; está incorporado em outro aplicativo do &kde;.</para
></listitem>
<listitem
><para
>O texto comprido é processado em frases. O usuário poderá fazer o backup por frase ou parágrafo, repetir, pausar e parar a reprodução.</para
></listitem>
<listitem
><para
>Saída de áudio através do &arts;, ALSA, GStreamer (versão 0.8.7 ou posterior) ou aKode.</para
></listitem>
<listitem
><para
>Filtros configuráveis pelo usuário para substituir as palavras erradas, escolher os sintetizadores de voz e transformar os documentos em &XML;/XHTML.</para
></listitem>
</itemizedlist>

<para
>Recursos para o programador:</para>

<itemizedlist>
<listitem
><para
>Um sistema de prioridades para o resultado do leitor da tela, dos avisos e das mensagens, enquanto reproduz ainda os textos normais.</para
></listitem>
<listitem
><para
>Uma arquitetura baseada em plug-ins para suportar uma grande variedade de sintetizadores e controladores de voz.</para
></listitem>
<listitem
><para
>Permite a geração de fala a partir da linha de comando (ou através de scripts), usando os utilitários de &DCOP; do &kde;.</para
></listitem>
<listitem
><para
>Oferece uma interface leve e fácil de usar para os aplicativos gerarem conteúdos falados.</para
></listitem>
<listitem
><para
>Os aplicativos não precisam se preocupar com a conteção sobre o dispositivo de voz.</para
></listitem>
<listitem
><para
>FUTURO: Oferecer o suporte para as linguagens de formatação de voz, como o VoiceXML, o Sable, a &Java; Speech Markup Language (JSML) e a Speech Markup Meta-language (SMML).</para
></listitem>
<listitem
><para
>FUTURO: Oferecer um suporte limitado para marcadores de voz embutidos.</para
></listitem>
<listitem
><para
>Assíncrono, para evitar o bloqueio do sistema.</para
></listitem>
</itemizedlist>

<para
>O &ktts; consiste de fato em vários programas: <variablelist>

<varlistentry>
<term
><command
>kttsd</command
></term>
<listitem
><para
>o daemon sintetizador de voz do &kde;, que é um aplicativo não gráfico que oferece os serviços de sintetizador de voz aos aplicativos através do &DCOP;. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>kttsmgr</command
></term>
<listitem
><para
>um aplicativo de &GUI; para configurar e controlar o kttsd. O kttsmgr fica na área de notificação. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>libkhtmlkttsdplugin</command
></term>
<listitem
><para
>Um plug-in para o navegador da Internet &konqueror; que lhe permite falar todo ou parte do texto numa página da Internet. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>ktexteditor_kttsd</command
></term>
<listitem
><para
>Um plug-in para o editor de texto &kate; que lhe permite falar todo ou parte de um arquivo de texto. </para
></listitem
></varlistentry>

</variablelist>
</para>

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

<sect1 id="support">
<title
>Suporte</title>
<para
>Além da base de dados do Bugzilla do &kde; ( <ulink url="http://bugs.kde.org/"
>http://bugs.kde.org/</ulink
> ), as discussões sobre o &ktts; ocorrem atualmente na lista de discussão kde-accessibility. Inscreva-se em <ulink url="https://mail.kde.org/mailman/listinfo/kde-accessibility"
> https://mail.kde.org/mailman/listinfo/kde-accessibility</ulink
>. A equipe de desenvolvimento também costuma aparecer no IRC (irc.kde.org, canal #kde-accessibility). </para>
</sect1>

</chapter>

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

<chapter id="using-kapp">
<title
>Usando o &ktts;</title>

<para>
<warning
><para
>Antes de poder usar o &ktts;, você deverá instalar pelo menos um motor de síntese de voz e garantir que ele funciona. Veja em <xref linkend="installation"/>. </para
></warning
></para>

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


<sect1 id="starting-kttsmgr">
<title
>Iniciando o <command
>kttsmgr</command
></title>

<para
>Para iniciar o sistema do &ktts;, digite o seguinte comando num &konsole; </para>

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

<para
>ou clique no &ktts; no menu do &kde;.</para>

<para
>Se for a primeira vez que você executa o <command
>kttsmgr</command
>, ou se ainda não configurou nenhum locutor, a janela de <guilabel
>Locutores</guilabel
> será exibida. Veja em <xref linkend="configure-plugin"/>. Se você já tiver configurado pelo menos um locutor, a janela <guilabel
>Geral</guilabel
> aparece. Veja em <xref linkend="general"/>.</para>

</sect1>

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


<sect1 id="configure-plugin">
<title
>Configurando os plug-ins de síntese (Locutores)</title>

<para
>A maioria dos sintetizadores de voz (TTS) oferecem vários idiomas e vozes e poderão oferecer vários sexos, volumes e taxas. Você poderá configurar mais que uma instância de um sintetizador. Cada combinação de idioma, sintetizador, voz, som, volume e taxa chama-se um locutor. É preciso configurar pelo menos um locutor antes de poder iniciar o &ktts; e começar a falar o texto.</para>

<note
><para
>Vários locutores para o mesmo sintetizador é semelhante a várias filas de impressão para uma única impressora física.</para
></note>

<para
>Quando os aplicativos enviam texto para o &ktts;, poderão indicar os atributos para fazer a síntese. Por exemplo, um aplicativo poderá pedir uma locutora feminina inglesa. Se você tiver configurador um locutor com o idioma inglês e do sexo feminino, será usado esse locutor, caso contrário será usado o locutor que mais se aproxima dessas características. Para saber mais como o &ktts; escolhe os locutores, veja em <xref linkend="filters"/>.</para>

<para
>Quando você clica na aba <guilabel
>Locutores</guilabel
> do <command
>kttsmgr</command
>, a janela de <guilabel
>Locutores</guilabel
> aparece. Esta janela aparece também automaticamente se iniciar o <command
>kttsmgr</command
> e não tiver configurado nenhum locutor.</para>

<para>
<screenshot>
<screeninfo
>O gerenciador do sintetizador de voz do &kde; (aba locutores).</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
>O gerenciador do sintetizador de voz do &kde; (aba locutores)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-talker-1"
><para
>Clique para adicionar um novo locutor.</para
></callout>
<callout arearefs="pt-talker-2"
><para
>Todos os <guilabel
>Locutores</guilabel
> estão listados aqui. Os <guilabel
>Locutores</guilabel
> de maior prioridade encontram-se no topo. O locutor do topo será usado para falar, quando um aplicativo não indicar nenhum locutor específico.</para
></callout>
<callout arearefs="pt-talker-3"
><para
>Clique num locutor da lista para selecioná-lo e clique neste botão para removê-lo.</para
></callout>
<callout arearefs="pt-talker-4"
><para
>Clique em um locutor da lista para selecioná-lo e clique neste botão para mostrar a janela de configuração do plug-in de síntese. Veja abaixo.</para
></callout>
<callout arearefs="pt-talker-5"
><para
>Clique num locutor da lista para selecioná-lo e clique neste botão para descê-lo uma posição na lista. Quanto mais baixo estiver um locutor na lista, menor a sua prioridade.</para
></callout>
<callout arearefs="pt-talker-6"
><para
>Clique num destes botões para aplicar as alterações que tenha feito ao sistema &ktts; em execução.</para
></callout>
</calloutlist>
</para>

<para
>Quando clicar no botão <guilabel
>Adicionar</guilabel
>, a janela para <guilabel
>Adicionar um locutor</guilabel
> aparece.</para>

<para>
	<screenshot>
		<screeninfo
>A tela para adicionar locutor.</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
>A tela para adicionar locutor</phrase>
			</textobject>
		</mediaobjectco>
	</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-addtalker-1"
><para
>Você poderá selecionar um plug-in de síntese de voz pelo nome do <guilabel
>Sintetizador</guilabel
> ou pelo <guilabel
>Idioma</guilabel
> que o sintetizador consegue falar. Assinale a opção ao lado da área correspondente. Quando o botão do <guilabel
>Idioma</guilabel
> estiver assinalado, a área do <guilabel
>Idioma</guilabel
> mostra todos os idiomas suportados por todos os sintetizadores disponíveis e a área do <guilabel
>Sintetizador</guilabel
> mostra apenas os que suportam o idioma escolhido. Quando estiver a opção do <guilabel
>Sintetizador</guilabel
> selecionada, a área do <guilabel
>Sintetizador</guilabel
> mostra todos os que se encontram disponíveis e a do <guilabel
>Idioma</guilabel
> mostra apenas os idiomas suportados pelo sintetizador escolhido.</para
></callout>
<callout arearefs="pt-addtalker-2"
><para
>Escolha aqui o idioma e o plug-in de síntese.</para
></callout>
<callout arearefs="pt-addtalker-3"
><para
>Quando clicar aqui, a maioria dos plug-ins de síntese configurar-se-ão automaticamente, escolhendo uma configuração padrão. Irá aparecer um novo locutor na lista da aba <guilabel
>Locutores</guilabel
>. Clique no botão <guilabel
>Editar</guilabel
> para mostrar ou editar a configuração do locutor.</para
></callout>
</calloutlist>
</para>

<para
>Quando você clica no botão <guilabel
>Adicionar</guilabel
> da aba <guilabel
>Locutores</guilabel
> e adiciona um locutor ou clica no botão <guibutton
>Configurar</guibutton
>, a tela de <guilabel
>Configuração do locutor</guilabel
> aparece. Cada plug-in de voz possui uma tela de <guilabel
>Configuração do locutor</guilabel
> diferente. O exemplo a seguir é para configuração do Festival Interative. Para mais detalhes específicos sobre cada tipo de plug-in, veja <xref linkend="configuration"/>.</para>

<para>
<screenshot>
<screeninfo
>Configuração do locutor</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
>Configuração do locutor</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-prop-1"
><para
>Indique a localização do programa executável do Festival. Se o Festival estiver na sua variável de ambiente PATH, basta inserir <userinput
><replaceable
>festival</replaceable
></userinput
>.</para
></callout>
<callout arearefs="pt-prop-2"
><para
>Clique para procurar por vozes disponíveis.</para
></callout>
<callout arearefs="pt-prop-3"
><para
>Selecione uma voz.</para
></callout>
<callout arearefs="pt-prop-4"
><para
>Selecione uma codificação de caracteres para o texto a enviar para o Festival. Para as vozes que são reconhecidas pelo &ktts;, esta opção será obtida automaticamente. De um modo geral, os idiomas ocidentais usam a codificação ISO 8859-1. Os idiomas do leste da Europa, por outro lado, como o checo e o eslovaco, usam o ISO 8859-2.</para
></callout>
<callout arearefs="pt-prop-5"
><para
>Clique para testar. Você deverá ouvir agora uma frase de teste falada.</para
></callout>
<callout arearefs="pt-prop-6"
><para
>Use estas opções para controlar o volume, a velocidade da síntese e o tom da voz sintetizada. Se qualquer uma destas opções estiver desabilitada (em cinza), a voz escolhida não suporta mudanças.</para
></callout>
<callout arearefs="pt-prop-7"
><para
>Algumas vozes, como as do MultiSyn, são tão grandes que necessitam de vários segundos para serem carregadas. Se assinalar esta opção, fará com que elas sejam carregadas na inicialização do KTTSD, poupando deste modo algum tempo (com a contrapartida de usar mais memória), antes da primeira frase ser sintetizada.</para
></callout>
</calloutlist>
</para>

<para
>Clique no botão <guibutton
>OK</guibutton
> para salvar a configuração do locutor.</para>

<warning
><para
>Certifique-se de clicar no botão <guibutton
>Aplicar</guibutton
>, caso contrário as suas alterações não farão efeito no sistema &ktts; em execução. </para
></warning>

<para
>Assumindo que o teste funcionou, você já está quase pronto para começar a usar o &ktts;. Volte agora à aba <guilabel
>Geral</guilabel
> e assinale a opção <guilabel
>Ativar o sistema sintetizador de voz (KTTSD)</guilabel
>. Isto irá iniciar o daemon do sintetizador de voz do &kde;. Veja em <xref linkend="general"/>. Você poderá começar a usar agora o &ktts; para dizer o texto. Clique na aba <guilabel
>Tarefas</guilabel
> para criar e gerenciar as tarefas de texto. Veja em <xref linkend="jobmgr"/>. </para>

</sect1>

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


<sect1 id="general">
<title
>Iniciando o KTTSD e configurando as opções gerais</title>

<para
>Logo que tenha configurado pelo menos um locutor, você poderá iniciar o sistema sintetizador de voz do &kde;. Clique na aba <guilabel
>Geral</guilabel
>. Neste caso, aparecerá a janela <guilabel
>Geral</guilabel
>. Você poderá também configurar algumas opções gerais nesta janela. </para>

<para>
	<screenshot>
		<screeninfo
>O gerenciador do sintetizador de voz do &kde; (aba geral).</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
>O gerenciador do sintetizador de voz do &kde; (aba geral)</phrase>
			</textobject>
		</mediaobjectco>
	</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-gen-1"
><para
>Assinale esta opção para ativar o sistema &ktts;. Isto irá iniciar o daemon do sintetizador de voz do &kde; (KTTSD). Se o KTTSD iniciar com sucesso, irá aparecer a aba <guilabel
>Tarefas</guilabel
>. Logo que o KTTSD tenha sido iniciado, você poderá começar a criar e a falar as tarefas de texto. Veja em <xref linkend="jobmgr"/>. Se desligar a opção, irá parar o KTTSD e desativar o sistema de TTS do &kde;. <note
><para
>Se esta opção estiver desativada, você ainda não configurou nenhum locutor (ou então se esqueceu de clicar no botão <guilabel
>Aplicar</guilabel
>). Veja em <xref linkend="configure-plugin"/>.</para
></note>
</para
></callout>
<callout arearefs="pt-gen-2"
><para
>Quando esta opção estiver assinalada, aparece um ícone na bandeja do sistema, sempre que o <command
>kttsmgr</command
> estiver em execução. Neste modo, clicar em <guilabel
>OK</guilabel
> ou em <guilabel
>Cancelar</guilabel
> não fará com que o <command
>kttsmgr</command
> saia. Em vez disso, a janela desaparece, mas o <command
>kttsmgr</command
> continua a rodar na bandeja do sistema. Clique no ícone para restaurar a janela. Para sair do <command
>kttsmgr</command
>, clique com o botão direito no ícone da bandeja do sistema e selecione <guilabel
>Sair</guilabel
>. Quando estiver desligada a opção, não aparecerá nenhum ícone na área de notificação. Clicar em <guilabel
>OK</guilabel
> ou em <guilabel
>Cancelar</guilabel
>, sairá do <command
>kttsmgr</command
>. <note
><para
>Após o <command
>kttsmgr</command
> sair, o &ktts; ele continua em execução se a opção para <guilabel
>Ativar o sistema sintetizador de voz (KTTSD)</guilabel
> estiver assinalada.</para
></note>
<note
><para
>Esta opção não fará efeito até à próxima vez em que o <command
>kttsmgr</command
> for iniciado.</para
></note>
<note
><para
>Esta opção não terá efeito quando o <command
>kttsmgr</command
> estiver em execução no &kcontrol;.</para
></note>
</para
></callout>
<callout arearefs="pt-gen-3"
><para
>Quando esta opção estiver assinalada, a tela do <command
>kttsmgr</command
> aparece quando iniciar o <command
>kttsmgr</command
>. Se estiver desligada, o ícone do <command
>kttsmgr</command
> aparecerá na área de notificação quando o <command
>kttsmgr</command
> for iniciado, apesar da tela não aparecer. Clique no ícone da bandeja para que ela então apareça.</para
></callout>
<callout arearefs="pt-gen-4"
><para
>Quando esta opção estiver assinalada e o <command
>kttsmgr</command
> ainda não estiver rodando, ele irá aparecer na área de notificação, sempre que o KTTSD estiver falando. Isto lhe fornece uma oportunidade para parar ou gerenciar de outra forma qualquer a fala.</para
></callout>
<callout arearefs="pt-gen-5"
><para
>Quando esta opção estiver assinalada e o <command
>kttsmgr</command
> aparecer automaticamente na área de notificação quando estiver falando, ele irá também desaparecer automaticamente, depois da fala.</para
></callout>
<callout arearefs="pt-gen-6"
><para
>Certifique-se de clicar aqui para salvar suas configurações.</para
></callout>
</calloutlist>
</para>

</sect1>

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


<sect1 id="jobmgr">
<title
>Gerenciando as tarefas de texto</title>

<para
>Quando você clica na aba <guilabel
>Tarefas</guilabel
> do <command
>kttsmgr</command
>, a tela de <guilabel
>Tarefas</guilabel
> aparece.</para>

<para>
<screenshot>
<screeninfo
>O gerenciador do sintetizador de voz do &kde; (aba tarefas).</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
>O gerenciador do sintetizador de voz do &kde; (aba tarefas)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-jobmgr-1"
><para
>Todas as tarefas de texto que existem atualmente na fila de espera aparecem aqui, juntamente com o aplicativo que colocou a tarefa na fila, o estado atual da mesma, o número de frases na tarefa e o número de frase atual. O <guilabel
>ID do locutor</guilabel
> corresponde à coluna <guilabel
>ID</guilabel
> na janela de <guilabel
>Locutores</guilabel
>. </para
></callout>
<callout arearefs="pt-jobmgr-2"
><para
>Os botões nesta barra de ferramentas permitem-lhe iniciar, remover e pausar as tarefas de texto. Selecione uma tarefa na lista abaixo e clique em um destes botões.</para
></callout>
<callout arearefs="pt-jobmgr-3"
><para
>Os botões nesta barra de ferramentas permitem-lhe avançar ou recuar na frase dentro da tarefa selecionada na lista acima. (Nem todas as tarefas possuem várias partes.)</para
></callout>
<callout arearefs="pt-jobmgr-4"
><para
>Os botões nesta barra de ferramentas permitem-lhe falar o texto na área de transferência do &kde; ou abrir um arquivo de texto para falar. Você pPoderá também atualizar a lista de tarefas de texto ou modificar o locutor de uma tarefa. Veja em <xref linkend="selecttalker"/>.</para
></callout>
<callout arearefs="pt-jobmgr-5"
><para
>A frase que está sendo falada atualmente aparece aqui.</para
></callout>
<callout arearefs="pt-jobmgr-6"
><para
>Quando clicar em <guibutton
>OK</guibutton
>, todas as alterações de configuração nas outras telas são aplicadas (se existirem) e o <command
>kttsmgr</command
> será minimizado para a área de notificação. Clique no ícone da área de notificação para restaurar a tela.</para
></callout>
<callout arearefs="pt-jobmgr-7"
><para
>Arraste esta divisória para dimensionar a listagem das tarefas e os painéis da <guilabel
>Frase atual</guilabel
>.</para
></callout>
</calloutlist>
</para>

<note
><para
>A aba <guilabel
>Tarefas</guilabel
> só aparece quando o KTTSD está em execução. Se não conseguir ver a aba <guilabel
>Tarefas</guilabel
>, vá à aba <guilabel
>Geral</guilabel
> e assinale a opção <guilabel
>Ativar o sintetizador de voz (KTTSD).</guilabel
></para>
</note>

<note
><para
>Se você não tiver o subsistema de áudio do &arts; instalado, mas tiver o ALSA, o GStreamer ou o aKode instalados, clique na aba <guilabel
>Áudio</guilabel
>). Veja em <xref linkend="audio"/>.</para
></note>

<note
><para
>Só são listadas e controladas nesta janela as tarefas de texto. O resultado da leitura da tela, os avisos e as mensagens não são apresentados. Para mais informações sobre os tipos de mensagens do &ktts;, veja em <xref linkend="filters"/>.</para
></note>

</sect1>

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

<sect1 id="audio">
<title
>Configurações de áudio</title>

<para
>Quando você clica na aba <guilabel
>Áudio</guilabel
> do <command
>kttsmgr</command
>, a tela de <guilabel
>Áudio</guilabel
> aparece.</para>

<para>
    <screenshot>
        <screeninfo
>O gerenciador do sintetizador de voz do &kde; (aba áudio).</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
>O gerenciador do sintetizador de voz do &kde; (aba áudio)</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-audio-1"
><para
>Selecione o método de saída de áudio aqui. Se um componente estiver em cinza, ou o &ktts; foi compilado sem o suporte para esse plug-in de áudio, ou o &ktts; foi incapaz de carregar as bibliotecas necessárias. </para
></callout>
<callout arearefs="pt-audio-2"
><para
>Se o GStreamer ou o aKode estiverem selecionados para a saída de áudio, escolha o método de 'sink' (canal) de áudio do GStreamer. Se não estiver listado nenhum 'sink', você terá que instalar pelo menos um. Se estiver selecionado o ALSA, escolha o dispositivo PCM aqui. Veja em <xref linkend="requirements"/>. </para
></callout>
<callout arearefs="pt-audio-3"
><para
>Ajuste a velocidade da fala aqui. 50% é aproximadamente duas vezes mais lento que o normal, enquanto 200% é aproximadamente duas vezes mais rápido. Você deve ter o utilitário <command
>sox</command
> instalado para esta configuração funcionar. </para
></callout>
<callout arearefs="pt-audio-4"
><para
>Quando esta opção estiver assinalada, o &ktts; irá copiar os arquivos de áudio temporários (arquivos .wav) para a pasta indicada. Escolha qualquer pasta no seu disco rígido, mas você precisa de ter acesso de escrita para ela. Isto poderá ser útil para criar os arquivos de áudio de voz para outros fins. Os arquivos terão nomes no formato <filename
>kttsd-T-FF</filename
>, onde o <filename
>T</filename
> é o número da tarefa e o <filename
>FF</filename
> é o número da frase. Os arquivos existentes com o mesmo nome serão removidos. <emphasis
>Não se esqueça de desligar esta opção, caso contrário o seu disco rígido ficará cheio rapidamente!</emphasis
> </para
></callout>
<callout arearefs="pt-audio-5"
><para
>Certifique-se de clicar no botão <guibutton
>Aplicar</guibutton
> para tornar efetivas as opções novas no sistema &ktts; em execução. </para
></callout>
</calloutlist>
</para>

<note
><para
>Existem duas formas de ajustar a velocidade no &ktts;. Muitos dos <guilabel
>Locutores</guilabel
> possuem uma configuração de <guilabel
>Velocidade</guilabel
> nas suas janelas de configuração, que poderão ser acessadas clicando-se em <guibutton
>Editar</guibutton
> na janela de <guilabel
>Locutores</guilabel
>. Esta opção de <guilabel
>Velocidade</guilabel
> da janela de <guilabel
>Áudio</guilabel
> é adicional em relação à velocidade do Locutor e pode ser usada de um modo geral, mesmo que o Locutor não suporte uma opção de velocidade. Para funcionar, você deverá ter o utilitário <command
>sox</command
> instalado no seu sistema (usuários do Debian: <command
>apt-get install sox</command
>). Da mesma forma, esta opção de velocidade é ignorada ao falar o texto que contenha SSML. (Veja em <xref linkend="ssml"/>)</para
></note>

<note
><para
>A lista de dispositivos ALSA inclui todos os dispositivos PCM do ALSA e plug-ins que estejam configurados no seu sistema. Muitas das opções não irão funcionar. Você terá que experimentar e encontrar um dispositivo que funcione. Se tiver dúvidas, escolha o <guilabel
>padrão</guilabel
>.</para
></note>

</sect1>

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

<sect1 id="interruption">
<title
>Configurações de interrupção do texto</title>

<para
>Quando clicar na aba <guilabel
>Interrupção</guilabel
> do <command
>kttsmgr</command
>, irá aparecer a tela de <guilabel
>Interrupção</guilabel
>.</para>

<para>
<screenshot>
<screeninfo
>O gerenciador do sintetizador de voz do &kde; (aba interrupção).</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
>O gerenciador do sintetizador de voz do &kde; (aba interrupção)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para
>Esta janela permite-lhe indicar algumas ações especiais a tomar quando uma tarefa de texto for interrompida por outra de maior prioridade. Existem quatro tipos de tarefas de voz com que o &ktts; lida: <itemizedlist>
<listitem
><para
>Texto normal.</para
></listitem>
<listitem
><para
>Mensagens.</para
></listitem>
<listitem
><para
>Avisos.</para
></listitem>
<listitem
><para
>Resultado do leitor da tela.</para
></listitem>
</itemizedlist>
</para>

<para
>O resultado do leitor da tela tem a maior prioridade. Ele está reservado para os aplicativos de leitura da tela. O resultado do leitor faz a preempção de todas as outras mensagens, fazendo com que essas tarefas fiquem em pausa. Logo que o resultado do leitor da tela tenha sido sintetizado, as tarefas anteriores irão prosseguir automaticamente. </para>

<para
>Os avisos são a próxima prioridade mais elevada. Eles estão reservados para as mensagens de alta prioridade, como "o CPU está super aquecendo". Um aviso irá interromper as mensagens e o texto normal. Logo que o Aviso tenha sido sintetizado, as tarefas anteriores irão prosseguir automaticamente.</para>

<para
>As mensagens são a próxima prioridade. Uma mensagem irá interromper as tarefas de texto normal. O &kmouth; é um exemplo de um aplicativo que usa as Mensagens. Por exemplo, ao ler um texto longo de uma página da Internet, o &kmouth; pode ser usado para cumprimentar alguém que ande pela sala.</para>

<para
>Todos os tipos de tarefas são filas, exceto o resultado do leitor da tela. Se um resultado do leitor da tela for enviado de um aplicativo enquanto o &ktts; estiver falando outro resultado dele, a mensagem a ser falada é interrompida e eliminada.</para>

<para
>Quando uma tarefa de texto for interrompida por uma mensagem, aviso ou resultado do leitor da tela, o &ktts; irá adicionar o resultado de áudio nesta janela à sequência.</para>

<para>
<calloutlist>
<callout arearefs="pt-interruption-1"
><para
>Esta mensagem é falada sempre que uma tarefa de texto normal for interrompida.</para
></callout>
<callout arearefs="pt-interruption-2"
><para
>Este arquivo de áudio é reproduzido sempre que uma tarefa de texto normal for interrompida. Se tanto existir um <guilabel
>Pré-som</guilabel
> como uma <guilabel
>Pré-mensagem</guilabel
>, o <guilabel
>Pré-som</guilabel
> toca primeiro que a <guilabel
>Pré-mensagem</guilabel
>.</para
></callout>
<callout arearefs="pt-interruption-3"
><para
>Esta mensagem é falada sempre que uma tarefa de texto interrompida prosseguir.</para
></callout>
<callout arearefs="pt-interruption-4"
><para
>Este arquivo de áudio é tocado sempre que uma tarefa de texto interrompida prosseguir. Ele é tocado por último.</para
></callout>
</calloutlist>
</para>

<note
><para
>As opções nesta tela aplicam-se apenas às tarefas de texto normal. As mensagens, avisos e resultados do leitor da tela não possuem ações especiais quando forem interrompidos por uma mensagem de prioridade mais elevada.</para
></note>

</sect1>

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


<sect1 id="web">
<title
>Falando o texto das páginas da Internet</title>

<para
>Ao rodar o navegador da Internet do &kde;, o &konqueror;, você poderá falar o texto da página da Internet apresentada. Primeiro, certifique-se de que o &ktts; está rodando. Selecione o texto que deseja falar e escolha a opção <menuchoice
> <guisubmenu
>Ferramentas</guisubmenu
> <guisubmenu
>Falar o texto</guisubmenu
> </menuchoice
> do menu principal. <action
>Depois de algum tempo, o texto selecionado irá começar a ser falado.</action
> </para>

<tip
><para
>É quase sempre uma boa ideia selecionar o texto na página da Internet que deseja falar. Você poderá ignorar este passo, mas irá ouvir um conjunto de cabeçalhos de HTML e outras marcas invisíveis.</para
></tip>

</sect1>

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


<sect1 id="kate">
<title
>Falar o texto do editor de texto &kate;</title>

<para
>Ao rodar o editor de texto avançado do &kde;, o &kate;, você poderá falar o texto apresentado. Primeiro, certifique-se de que o &ktts; está rodando. Selecione o texto que deseja falar e escolha a opção <menuchoice
> <guisubmenu
>Ferramentas</guisubmenu
> <guisubmenu
>Falar o texto</guisubmenu
> </menuchoice
> do menu principal.<action
>Depois de algum tempo, o texto selecionado irá começar a ser falado.</action
> </para>

<tip
><para
>Não precisa selecionar primeiro o texto. Neste caso, o arquivo inteiro será falado.</para
></tip>

<tip
><para
>Isto também funciona quando o &kate; estiver incorporado noutro aplicativo, como o &konqueror; ou o &quanta;.</para
></tip>

</sect1>

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

<sect1 id="knotify">
<title
>Falando as notificações (KNotify)</title>

<para
>O KNotify é o subsistema de notificações no &kde; que o alerta dos eventos que configurar no sistema do &kde;. Você poderá configurar o &ktts; para falar as notificações de texto.</para>

<para
>Por exemplo o &konversation;, um aplicativo de IRC para o &kde;, permite-lhe configurar uma variedade grande de notificações. Você poderá dizer ao &konversation; para o notificar sempre que uma mensagem apareça num canal de IRC com o seu nome ou apelido nela. Juntamente com o &ktts;, você poderá fazer com que o &kde; fale o texto da mensagem de IRC para você.</para>

<para
>De um modo geral, se um aplicativo do &kde; suportar o KNotify, irá aparecer um item de menu <guilabel
>Notificações</guilabel
> no menu de <guilabel
>Configurações</guilabel
>. Os detalhes específicos para configurar cada um dos aplicativos com o KNotify variam de aplicativo para aplicativo.</para>

<para
>Para ativar o &ktts; para falar as notificações de texto do KNotify, inicie o <command
>kttsmgr</command
> e clique na aba <guilabel
>Notificações</guilabel
>. Irá aparecer a janela de <guilabel
>Notificações</guilabel
>.</para>

<para>
<screenshot>
<screeninfo
>O gerenciador do sintetizador de voz do &kde; (aba notificação).</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
>O gerenciador do sintetizador de voz do &kde; (aba notificação)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-notify-1"
><para
>Assinale esta opção para ativar a síntese das notificações do &kde;. Se estiver desligada, tudo o que estiver nesta janela aparecerá desativado e o &ktts; não irá falar quaisquer notificações.</para
></callout>
<callout arearefs="pt-notify-2"
><para
>Quando estiver assinalada a opção, todos os aplicativos que enviarem um evento com um som não serão sintetizadas pelo &ktts;.</para
></callout>
<callout arearefs="pt-notify-3"
><para
>Use estes botões para adicionar ou remover eventos de aplicativos da lista abaixo. Quando clicar no botão <guibutton
>Adicionar</guibutton
>, irá aparecer uma janela na qual você seleciona o aplicativo e o evento que deseja adicionar à lista. </para
></callout>
<callout arearefs="pt-notify-4"
><para
>Este evento irá falar a mensagem que o &konversation; envia, sempre que alguém menciona o seu apelido numa mensagem de IRC (Internet Relay Chat). </para
></callout>
<callout arearefs="pt-notify-5"
><para
>Para todos os outros eventos que vierem do &konversation;, não será efetuada mais nenhuma ação no &ktts;.</para
></callout>
<callout arearefs="pt-notify-6"
><para
>Para todos os outros eventos que não estiverem especificados na lista, não será efetuada mais nenhuma ação no &ktts;.</para
></callout>
<callout arearefs="pt-notify-7"
><para
>Use esta opção para indicar o que o &ktts; deverá fazer quando receber um evento. As suas opções são:</para>
<para>
<variablelist>
<varlistentry>
<term
>Falar o nome do evento</term>
<listitem
><para
>Fala o nome do evento; o que você vê indicado na lista de eventos desta janela.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Falar a mensagem de notificação</term>
<listitem
><para
>Fala a mensagem, tal como vem do aplicativo.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Não falar a notificação</term>
<listitem
><para
>Não sintetiza de nenhuma maneira este evento.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Falar um texto personalizado</term>
<listitem
><para
>Fala o texto que inserir na caixa à direita.</para
></listitem>
</varlistentry>
</variablelist>
</para>
</callout>
<callout arearefs="pt-notify-8"
><para
>Se a ação for <guilabel
>Falar um texto personalizado</guilabel
>, insira o texto da mensagem que deseja sintetizar aqui. Dentro da mensagem, você poderá usar as seguintes sequências de substituição:</para>
<para>
<variablelist>
<varlistentry>
<term
>%e</term>
<listitem
><para
>O nome do evento</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%a</term>
<listitem
><para
>O nome do aplicativo que enviou o evento</para
></listitem>
</varlistentry>
<varlistentry>
<term
>%m</term>
<listitem
><para
>A mensagem que o aplicativo enviou</para
></listitem>
</varlistentry>
</variablelist>
</para>
</callout>
<callout arearefs="pt-notify-9"
><para
>Teste a mensagem, clicando aqui.</para
></callout>
<callout arearefs="pt-notify-10"
><para
>Você poderá indicar aqui os atributos do locutor desejado para falar a mensagem da notificação. O <command
><userinput
>default</userinput
></command
> irá usar o locutor de topo que está indicado na janela de <guilabel
>Locutores</guilabel
>. Veja em <xref linkend="selecttalker"/>. </para
></callout>
</calloutlist>
</para>

<para
>Lembre-se que existem três níveis de eventos. Se uma ação para um determinado evento de uma determinado aplicativo for indicado, é efetuada essa ação. Caso contrário, se for indicada uma ação para todos os outros eventos de um determinado aplicativo, é efetuada essa ação. Caso contrário, a ação indicada para todos os outros eventos em <guilabel
>Padrão (todos os outros eventos)</guilabel
> será efetuada.</para>

<para
>O evento <guilabel
>todas as notificações</guilabel
> do aplicativo <guilabel
>Padrão (todos os outros eventos)</guilabel
> não poderá ser removida da lista. Para o padrão, você poderá indicar o tipo de notificação que será falada, como se segue:</para>

<variablelist>
<varlistentry>
<term
>nenhuma</term>
<listitem
><para
>Não será falado nada.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>janelas de notificação</term>
<listitem
><para
>As notificações que mostrarem uma janela na sua tela a qual você deva fechar, serão faladas.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>mensagens passivas</term>
<listitem
><para
>As notificações que mostram uma janela passiva na sua tela e que desaparecem ao fim de algum tempo serão faladas.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>janelas de notificação e mensagens passivas</term>
<listitem
><para
>As notificações que aparecem na janela, passivas ou não, serão faladas.</para
></listitem>
</varlistentry>
<varlistentry>
<term
>todas as notificações</term>
<listitem
><para
>Todas as notificações, independentemente se produzem algo na tela, serão faladas.</para
></listitem>
</varlistentry>
</variablelist>

<tip
><para
>Os filtros de substituição de texto são uma boa forma de limpar as mensagens que são enviadas dos aplicativos, se forem mal pronunciadas ou mal ditas no &ktts;. O arquivo <filename
>kmail.xml</filename
>, que vem com o &ktts;, é um bom exemplo. Ele remove as marcas <command
>br</command
> e <command
>b</command
> das mensagens de notificação do &kmail; e remove também a frase <command
>/local/inbox/</command
>, uma vez que esta poderá ser assumida, na maior parte dos casos, com segurança. Veja em <xref linkend="stringreplacer"/>. </para
></tip>

<para
>Use o botão <guibutton
>Salvar</guibutton
> para salvar a sua configuração de notificações para um arquivo. Use o botão <guibutton
>Carregar</guibutton
> para ler a configuração gravada a partir de um arquivo. Os eventos carregados são reunidos com os eventos existentes na lista. Se você quiser iniciar com uma lista de eventos vazia, clique no botão <guibutton
>Limpar</guibutton
> em primeiro lugar. Todos os eventos exceto o <guilabel
>todas as notificações</guilabel
> serão apagados.</para>

<note
><para
>Certifique-se de clicar no botão <guibutton
>Aplicar</guibutton
> ou em <guibutton
>OK</guibutton
> para salvar a sua configuração.</para
></note>

</sect1>

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

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

<para
>A Speech Synthesis Markup Language (SSML) é uma norma da W3C para formatar o texto de forma a ser sintetizado. Ele oferece marcas para controlar as vozes, a taxa de voz, volume, sexo e tom. Oferece também marcas para controlar a forma como as palavras são sintetizadas, como por exemplo para soletrar as abreviaturas. O SSML faz parte da especificação VoiceXML, que é também uma norma da W3C.</para>

<para
>Neste momento, o &ktts; oferece um suporte limitado e muito básico para o SSML. Ele possui as seguintes restrições.</para>

<itemizedlist>
<listitem
><para
>Funciona apenas com os locutores do Festival Interactive e do Hadifix.</para
></listitem>
<listitem
><para
>Você deverá instalar a voz <command
>rab_diphone</command
> (homem britânico), uma vez que esta é a voz que o Festival usa ao sintetizar o SSML.</para
></listitem>
<listitem
><para
>A opção <guilabel
>Velocidade</guilabel
> da tela de <guilabel
>Áudio</guilabel
> é ignorada quando se fala texto que contenha SSML.</para
></listitem>
<listitem
><para
>Se a <guilabel
>Velocidade</guilabel
> ou o <guilabel
>Tom</guilabel
> no diálogo de configuração do Festival não estiverem a 100%, isto poderá fazer com que o texto em SSML seja falado de forma monotônica.</para
></listitem>
</itemizedlist>

<para
>O seguinte texto de exemplo poderá ser usado para experimentar com o 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="pt-BR">
    <prosody pitch="low">
        Quem esteve dormindo na minha cama?
    </prosody>
    disse o pai urso.
    <prosody pitch="medium">
        Quem esteve dormindo na minha cama?
    </prosody>
    disse a mãe ursa.
    <prosody pitch="high">
        Quem esteve dormindo na minha cama?
    </prosody>
    disse o bebê urso.
</speak>
]]></programlisting>

<para
>Planeja-se um suporte mais robusto de SSML para a próxima versão do &ktts;. </para>

</sect1>

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

<sect1 id="filters">
<title
>Filtros (avançado)</title>

<para
>Os filtros são uma funcionalidade avançada do &ktts;. Para a operação básica do &ktts;, eles não são necessários.</para>

<para
>Os filtros são usados para pré-processar o texto antes de ser enviado para o motor de síntese de voz. Eles são úteis para melhorar a voz, substituindo palavras ou abreviaturas erradas, escolher o idioma e locutor apropriados para a fala ou para contornar certas limitações dos sintetizadores de voz e das suas vozes.</para>

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

<sect2 id="msg-types">
<title
>Tipos de mensagens do &ktts;</title>

<para
>Para compreender como usar os filtros, é útil compreender primeiro como o texto é processado pelo &ktts;. O texto falado pelo &ktts; é de um de quatro tipos possíveis.</para>

<para>
<itemizedlist>
<listitem
><para
>Resultado do leitor da tela.</para
></listitem>
<listitem
><para
>Avisos.</para
></listitem>
<listitem
><para
>Mensagens</para
></listitem>
<listitem
><para
>Tarefas de texto</para
></listitem>
</itemizedlist>
</para>

<para
>O tipo é determinado pelo aplicativo que envia o texto para o &ktts;.</para>

<para
>O resultado do leitor da tela tem a maior prioridade. Está reservado para os aplicativos de leitura da tela. O resultado do leitor faz a preempção de todas as outras mensagens, fazendo com que essas tarefas fiquem em pausa. Logo que o resultado do leitor da tela tenha sido sintetizado, as tarefas anteriores irão prosseguir automaticamente. </para>

<para
>Os avisos são a próxima prioridade mais elevada. Está reservada para as mensagens de alta prioridade, como "o CPU está super aquecendo". Um aviso irá interromper as mensagens e o texto normal. Logo que o aviso tenha sido sintetizado, as tarefas anteriores irão prosseguir automaticamente.</para>

<para
>As mensagens são a próxima prioridade. Uma mensagem irá interromper as tarefas de texto normal. O KMouth é um exemplo de um aplicativo que usa as mensagens. Por exemplo, ao ler um texto longo de uma página da Internet, o &kmouth; pode ser usado para cumprimentar alguém que ande pela sala. As notificações do &kde; são também mensagens (veja em <xref linkend="knotify"/>).</para>

<para
>O restante são as tarefas de texto normais. Qualquer tarefa que iniciar, a partir da aba <guilabel
>Tarefas</guilabel
>, é uma tarefa de texto. O KSayit é um exemplo de um aplicativo que usa tarefas de texto. As tarefas de texto pretendem ser usadas para um resultado de fala maior e que não seja urgente.</para>

<para
>Todos os tipos de tarefas são filas, exceto o resultado do leitor da tela. Se um resultado do leitor da tela for enviado de um aplicativo enquanto o &ktts; estiver falando outro resultado dele, a mensagem a ser falada é interrompida e eliminada.</para>

</sect2>

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

<sect2 id="filter-types">
<title
>Tipos de filtros</title>

<para
>A primeira coisa que você terá que saber sobre os filtros é que eles nunca são aplicados ao resultado da leitura da tela. Eles aplicam-se aos avisos, mensagens e tarefas de texto, assim como as notificações do &kde; (KNotify).</para>

<para
>Existem dois tipos de filtros -- os filtros normais e os filtros de detecção de limites das frases. Os últimos repartem o texto em frases individuais. Isto permite ao &ktts; começar a falar mais depressa, uma vez que ele só precisa de sintetizar a primeira frase, em vez da tarefa de texto inteira. Também lhe permite avançar ou recuar na aba <guilabel
>Tarefas</guilabel
> e ainda parar ou colocar em pausa as tarefas de texto, quando o sintetizador de voz não suportar diretamente a parada da voz. </para>

<para
>Filtros ordinários processam o texto e passam-no para o próximo filtro. Eles são atualmente de três tipos. </para>

<para>
<itemizedlist>
<listitem
><para
>Substituidores de texto.</para
></listitem>
<listitem
><para
>Transformadores de &XML;</para
></listitem>
<listitem
><para
>Selecionadores de locutor.</para
></listitem>
</itemizedlist>
</para>

<note
><para
>Filtros são implementados usando uma arquitetura de plug-ins. No futuro, poderão haver tipos de filtros adicionais.</para
></note>

<para
>Os filtros de substituição de texto substituem trechos de texto por outros. Os pedaços substituídos são correspondidos quer com palavras quer com expressões regulares. O &ktts; vem com alguns filtros de substituição de texto pré-definidos para falar abreviaturas, falar os ícones emotivos, como o ":-)" ou para formatar de novo as mensagens de notificação do &konversation; ou do &kmail; num formato mais compreensível. </para>

<para
>Os transformadores &XML; usam um arquivo &XML; Style Language - Transforms (XSLT) para converter o &XML; de um formato em outro formato. O &ktts; vem com um arquivo XSLT para converter o &XHTML; em SSML. </para>

<para
>Os Seletores de Locutores permitem-lhe redirecionar as tarefas para um locutor com base no conteúdo do texto ou no aplicativo que enviou o texto para o &ktts;. Por exemplo, se você tiver configurado uma locutora feminina na aba <guilabel
>Locutores</guilabel
>, poderá direcionar o texto que vem do KSayIt para esse locutor. Veja em <xref linkend="configure-plugin"/>. </para>

<para
>Cada um destes tipos de filtros possui regras de configuração para quando o filtro deve ser aplicado ao texto a ser falado. Se o filtro determinar que ele não deve ser aplicado, o texto é passado para o próximo filtro sem alterações.</para>

<para
>Quando uma tarefa de texto ou uma mensagem de notificação do &kde; for enviada para o &ktts;, ela passa por cada um dos filtros ativados que tenha configurado na janela abaixo. A ordem é de cima para baixo. Depois de passar por cada um dos filtros normais indicados na parte de cima da janela, as tarefas de texto são passadas pelos filtros de <guilabel
>Detecção dos limites de frases</guilabel
> (SBD). (As notificações do &kde;, os avisos e as mensagens nunca passam por estes filtros). Ao contrário dos filtros normais, o primeiro filtro de detecção de limites de frases que fizer alterações ao texto irá interromper as filtragens posteriores. </para>

</sect2>

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

<sect2 id="configure-filters">
<title
>Configurando os filtros</title>

<para
>Para usar filtros, clique na aba <guilabel
>Filtros</guilabel
> no <command
>kttsmgr</command
>.</para>

<para>
    <screenshot>
        <screeninfo
>O gerenciador do sintetizador de voz do &kde; (aba filtros).</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
>O gerenciador do sintetizador de voz do &kde; (aba filtros)</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-filters-1"
><para
>Esta é a lista de filtros normais configurados. Se estiver desligada, o filtro está desativado e será ignorado. Os filtros são aplicados na ordem aqui indicada, de cima para baixo.</para
></callout>
<callout arearefs="pt-filters-2"
><para
>Clique aqui para adicionar um novo filtro. Você será perguntado pelo tipo de filtro a adicionar. Após escolher o tipo, veja o diálogo de configuração abaixo.</para
></callout>
<callout arearefs="pt-filters-3"
><para
>Clique aqui para remover um filtro.</para
></callout>
<callout arearefs="pt-filters-4"
><para
>Clique aqui para mudar a configuração de um filtro. Veja o diálogo de configuração abaixo.</para
></callout>
<callout arearefs="pt-filters-5"
><para
>Clique nestes botões para mover um filtro para cima ou para baixo na lista.</para
></callout>
<callout arearefs="pt-filters-6"
><para
>Estes são os filtros de detecção de limites das frases. Quando você inicia o &ktts; pela primeira vez, o detector de limites das frases vem automaticamente configurado. Você poderá alterar a configuração deste filtro ou adicionar detectores de limites de frases adicionais, mas aconselha-se aos principiantes não alterar esta configuração.</para
></callout>
<callout arearefs="pt-filters-7"
><para
>Este botão de lista suspensa permite adicionar, remover, editar ou mudar a ordem dos filtros de detector de limite de frase.</para
></callout>
<callout arearefs="pt-filters-8"
><para
>Certifique-se de clicar aqui, caso contrário suas configurações não terão efeito.</para
></callout>
</calloutlist>
</para>

</sect2>

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

<sect2 id="stringreplacer">
<title
>Configurando os filtros de substituição de texto</title>

<para
>Você configura filtros de substituição de texto fornecendo uma lista de palavras ou expressões regulares a serem correspondidas. Quando palavras ou expressões regulares correspondentes forem encontrados no texto, cada uma delas será substituída por um texto de substituição fornecido. A correspondência não é sensível à maiúscula ou minúscula.</para>

<para>
    <screenshot>
        <screeninfo
>Substituidor de texto</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
>Substituidor de texto</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-stringreplacer-1"
><para
>Insira um nome para seu filtro. Use qualquer nome que desejar para distinguí-lo de todos os outros filtros.</para
></callout>
<callout arearefs="pt-stringreplacer-2"
><para
>Esta é a lista de palavras e expressões regulares. O filtro procura pelas ocorrências de cada uma destas sequências na coluna de <guilabel
>Correspondência</guilabel
>, substituindo o texto correspondente pelo texto na coluna <guilabel
>Substituir por</guilabel
>. A lista é processada pela ordem apresentada, de cima para baixo.</para
></callout>
<callout arearefs="pt-stringreplacer-3"
><para
>Clique aqui para adicionar outra palavra ou expressão regula à lista.</para
></callout>
<callout arearefs="pt-stringreplacer-4"
><para
>Clique aqui para mover a palavra ou expressão regular selecionada para cima ou para baixo na lista.</para
></callout>
<callout arearefs="pt-stringreplacer-5"
><para
>Clique para mudar uma palavra ou expressão regular existente na lista.</para
></callout>
<callout arearefs="pt-stringreplacer-6"
><para
>Clique para remover a palavra ou expressão regular atualmente destacada da lista.</para
></callout>
<callout arearefs="pt-stringreplacer-7"
><para
>Use estes botões para carregar uma lista de palavras ou expressões regulares de um arquivo, salvar a lista atual para um arquivo, ou limpar toda a lista. Ao carregar a partir de um arquivo, os itens no arquivo serão adicionados à lista existente.</para
></callout>
<callout arearefs="pt-stringreplacer-8"
><para
>Se não estiver em branco, o filtro será aplicado apenas se o idioma do locutor da tarefa de texto corresponder ao idioma indicado aqui. Clique no botão para mostrar uma lista de idiomas. Você poderá selecionar mais de um idioma se mantiver a tecla <keycap
>&Ctrl;</keycap
> pressionada enquanto faz a escolha.</para
></callout>
<callout arearefs="pt-stringreplacer-9"
><para
>Se não estiver em branco, o filtro será aplicado apenas se o texto vier de um dos aplicativos listados. Você poderá indicar mais de um aplicativo, separando-as por vírgulas. Exemplo: <command
><userinput
>konversation,knotify</userinput
></command
></para>
<tip
><para
>Você poderá descobrir o <guilabel
>ID do aplicativo</guilabel
> dos programas em execução com o programa <command
>&kdcop;</command
>. Você deverá retirar os números do &DCOP;. Por exemplo, se o &kdcop; mostrar um ID de aplicativo igual a <command
>kopete-3432</command
>, você deverá apenas indicar <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
</calloutlist>
</para>

<para
>O filtro de substituição de texto será aplicado apenas se todas as condições preenchidas forem cumpridas na opção <guilabel
>Aplicar este filtro quando</guilabel
>; se todas as opções estiverem em branco, o filtro será aplicado a todo o texto.</para>

<para
>Todas as correspondências são insensíveis à maiúscula ou minúscula.</para>

<para
>Ao corresponder palavras, o filtro substituidor de texto internamente usa uma expressão regular no formato <command
>\s<userinput
>palavra</userinput
>\s</command
>. Em outras palavras, a palavra deve estar rodeada por espaço em ambos os lados.</para>

<para
>A discussão de como criar expressões regulares está fora do âmbito deste manual. Se você tiver o editor de expressões regulares do &kde; instalado, existe um botão disponível nas janelas <guilabel
>Adicionar</guilabel
> ou <guilabel
>Editar</guilabel
> que irá ajudá-lo a construir expressões regulares. O editor de expressões regulares do &kde; faz parte do pacote <command
>kdeutils</command
>.</para>

<para
>O &ktts; vem com alguns arquivos de listas de palavras, incluindo uma lista de ícones emotivos, como o ":-)", algumas abreviaturas usadas tipicamente no IRC ou nos aplicativos de mensagens instantâneas, bem como uma lista com outras abreviaturas. Existe também uma lista de caracteres especiais que a versão atual da voz do Festival em polonês não consegue lidar. Se você desenvolver listas de de palavras úteis suas, use o botão <guilabel
>Salvar</guilabel
> para salvá-las em um arquivo e para enviá-las para a equipe do &ktts;, de modo a serem incluídas na próxima versão.</para>

</sect2>

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

<sect2 id="xmltransformer">
<title
>Configurando os filtros transformadores de &XML;</title>

<para
>O filtro transformador de &XML; usa arquivos XSLT para transformar o &XML; de um formato e, outro. A XSLT, &XML; Style Language - Transforms, é uma linguagem normalizada do W3C para efetuar essas transformações. Só poderá ser usada em &XML; válido. Além disso, você deverá também ter o utilitário <command
>xsltproc</command
> instalado.</para>

<para>
    <screenshot>
        <screeninfo
>Transformador de &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"/>
                </areaspec>
                <imageobject>
                    <imagedata fileref="xmltransformer.png" format="PNG"/>
                </imageobject>
            </imageobjectco>
            <textobject>
                <phrase
>Transformador de &XML;</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-xmltransformer-1"
><para
>Insira um nome para seu filtro. Use qualquer nome que desejar para distinguí-lo de todos os outros filtros.</para
></callout>
<callout arearefs="pt-xmltransformer-2"
><para
>Insira o caminho completo para um arquivo XSLT existente, que realizará a transformação.</para
></callout>
<callout arearefs="pt-xmltransformer-3"
><para
>Especifique o caminho para o utilitário <command
>xsltproc</command
>. Se o xsltproc estiver em seu PATH, simplesmente insira <command
><userinput
>xsltproc</userinput
></command
>.</para
></callout>
<callout arearefs="pt-xmltransformer-4"
><para
>Se não estiver em branco, o filtro será aplicado apenas se o &XML; tiver uma indicação <command
><![CDATA[<!DOCTYPE]]></command
> que comece pelo texto indicado. Isto distingue uma forma de &XML; de outra. Por exemplo, o <command
><userinput
>html</userinput
></command
> irá corresponder ao <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-5"
><para
>Se não estiver em branco, o filtro será aplicado apenas se o texto vier de um dos aplicativos listados. Você poderá indicar mais de um aplicativo, separando-as por vírgulas. Exemplo: <command
><userinput
>konversation,knotify</userinput
></command
></para>
<tip
><para
>Você poderá descobrir o <guilabel
>ID do aplicativo</guilabel
> dos programas em execução com o programa <command
>&kdcop;</command
>. Você deverá retirar os números do &DCOP;. Por exemplo, se o &kdcop; mostrar um ID de aplicativo igual a <command
>kopete-3432</command
>, você deverá apenas indicar <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
</calloutlist>
</para>

<para
>O filtro transformador de &XML; será aplicado apenas ao texto se o elemento de raiz ou DOCTYPE indicados corresponderem e se o ID do aplicativo corresponder na área <guilabel
>Aplicar este filtro quando</guilabel
>. Se algum item desta área estiver em branco, o teste não será efetuado, como tal, se todos os campos estiverem em branco, o filtro será aplicado a todo o texto. Contudo, você deverá preencher pelo menos um campo, uma vez que diversas tarefas de texto não estarão no formato &XML;.</para>

</sect2>

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

<sect2 id="talkerchooser">
<title
>Configurando os filtros de seleção do locutor</title>

<para
>Os filtros de seleção do locutor são usados para direccionar o texto para um determinado locutor que esteja configurado na aba <guilabel
>Locutor</guilabel
> ou para qualquer locutor que tenha os atributos indicado. Por exemplo, você poderá indicar que o texto que vem do <command
>knotify</command
> deverá ser falado por uma locutora feminina. Veja em <xref linkend="configure-plugin"/>.</para>

<para
>Antes de o &ktts; começar a enviar o texto para cada um dos filtros, ele seleciona um locutor para falar o texto. O locutor escolhido baseia-se nos atributos de locução indicados pelo aplicativo que enviou o texto para o &ktts; e os atributos que você tenha configurado na ab <guilabel
>Locutores</guilabel
>. O filtro de seleção do locutor permite-lhe sobrepor o locutor escolhido. </para>

<para>
    <screenshot>
        <screeninfo
>Selecionador de locutor</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
>Selecionador de locutor</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-talkerchooser-1"
><para
>Insira um nome para seu filtro. Use qualquer nome que desejar para distinguí-lo de todos os outros filtros.</para
></callout>
<callout arearefs="pt-talkerchooser-2"
><para
>Se não estiver em branco, o filtro será aplicado apenas se o texto contiver a expressão regular indicada. Se estiver instalado, clique no botão de escolha para iniciar o editor de expressões regulares do &kde; para ajudá-lo a inserir a expressão regular.</para>
<tip
><para
>Para um melhor desempenho, tente "ancorar" a expressão regular ao início do texto. Em outras palavras, inicie sua expressão regular com <command
><userinput
><![CDATA[^]]></userinput
></command
>.</para
></tip
></callout>
<callout arearefs="pt-talkerchooser-3"
><para
>Se não estiver em branco, o filtro será aplicado apenas se o texto vier de um dos aplicativos listados. Você poderá indicar mais de um aplicativo, separando-as por vírgulas. Exemplo: <command
><userinput
>konversation,knotify</userinput
></command
></para>
<tip
><para
>Você poderá descobrir o <guilabel
>ID do aplicativo</guilabel
> dos programas em execução com o programa <command
>&kdcop;</command
>. Você deverá retirar os números do &DCOP;. Por exemplo, se o &kdcop; mostrar um ID de aplicativo igual a <command
>kopete-3432</command
>, você deverá apenas indicar <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
<callout arearefs="pt-talkerchooser-4"
><para
>Indique os atributos do locutor que você prefere para falar o texto aqui. Se o texto corresponder às condições do filtro acima indicados, será escolhido o locutor que mais se aproxime aos atributos que indicar aqui. Clique no botão à direita para mostrar a janela para <guilabel
>Selecionar locutor</guilabel
>. Veja em <xref linkend="selecttalker"/>.</para
></callout>
<callout arearefs="pt-talkerchooser-5"
><para
>Use estes botões para salvar a sua configuração de seleção do locutor, carregar a configuração a partir de um arquivo gravado ou limpar toda a configuração.</para
></callout>
</calloutlist>
</para>

<para
>O filtro de seleção do locutor será aplicado apenas ao texto se todas as condições preenchidas forem cumpridas na opção <guilabel
>Aplicar este filtro quando</guilabel
>. Você terá que preencher pelo menos um dos campos.</para>

<para
>A forma mais simples de aprender como configurar os seletores de locutores é experimentar. Desative o seletor do locutor e envie algum texto. Na aba <guilabel
>Tarefas</guilabel
>, veja o locutor que o &ktts; escolhe. Clique no botão <guibutton
>Modificar o locutor</guibutton
>, introduza alguns atributos e tente de novo para ver como a escolha é afetada. Obviamente, é necessário ter mais de um locutor configurado para que o selector do locutor faça algo de útil.</para>

</sect2>

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

<sect2 id="sbd">
<title
>Configurando os filtros de detecção dos limites das frases</title>

<para
>Filtros de detector de limite de frase (do inglês SBD) quebram o texto em frases individuais. Isto é importante porque</para>

<itemizedlist>
<listitem
><para
>permite ao &ktts; começar a falar mais depressa, uma vez que ele necessita apenas de sintetizar a primeira frase, em vez do bloco de texto inteiro, que poderá ser demasiado grande e</para
></listitem>
<listitem
><para
>permite você voltar atrás ou avançar nas frases na aba <guilabel
>Tarefas</guilabel
> e</para
></listitem>
<listitem
><para
>permite você pausar ou parar tarefas de texto na aba <guilabel
>Tarefas</guilabel
> mesmo que o sintetizador de fala não seja capaz de ser parado.</para
></listitem>
</itemizedlist>

<para
>Por estas razões, o filtro do detector de limite de frase padrão é automaticamente configurado na primeira vez que você roda o <command
>kttsmgr</command
> e não pode ser desabilitado (apesar de você poder removê-lo). Nós orientamos que não modifique este filtro a menos que saiba o que está fazendo.</para>

<para
>Você poderá, contudo, adicionar filtros SBD extra para resolver certos problemas. Por exemplo, como acontecia em fevereiro de 2005, a voz do Festival em polonês tem o atributo incômodo de falar a pontuação das frases. Ela irá falar os pontos no fim de cada frase, por exemplo. Você não poderá resolver este problema com um filtro de substituição de texto para remover a pontuação das frases porque, ao fazê-lo, irá evitar que o SBD normal reconheça as frases. Em alternativa, você poderá criar uma versão modificada do SBD normal que reconhece as frases, enquanto remove simultaneamente a pontuação das frases. Para fazer isso, adicione um filtro SBD e use o botão <guilabel
>Carregar</guilabel
> para ler o arquivo <filename
>polish_festival_sbdrc</filename
> que vem com o &ktts;.</para>

<para
>Filtros BSD funcionam correspondendo uma expressão regular de fim de frase e inserindo caracteres de tabulação (8 decimal) nos limites das frases. (Todos os cararcteres são automaticamente removidos do texto antes da filtragem iniciar.) Observe que o SBD padrão preserva a pontuação da frase. </para>

<para
>Os filtros de SBD nunca são aplicados às mensagens das notificações do &kde; (knotify), avisos, mensagens ou resultados de leitura da tela.</para>

<para
>Se você remover acidentalmente o filtro de detecção dos limites das frases, poderá restaurá-lo carregando o arquivo <filename
>standard_sbdrc</filename
> que vem com o &ktts;.</para>

</sect2>

</sect1>

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

<sect1 id="selecttalker">
<title
>Selecionar os locutores (avançado)</title>

<para
>Você poderá configurar qualquer número de locutores na aba <guilabel
>Locutores</guilabel
>. Veja em <xref linkend="configure-plugin"/>. Quando os aplicativos enviam texto para o &ktts;, poderão indicar os atributos de um determinado locutor para falar o texto. O &ktts; irá obter o locutor mais próximo, entre os locutores que configurou, para satisfazer o pedido do aplicativo. Por exemplo, um aplicativo poderá pedir o texto para ser falado por uma voz inglesa feminina. Se você tiver configurado um locutor com a voz inglesa e feminina, será usado esse locutor. Se tiver configurado todos os locutores como homens britânicos, será usado um desses locutores. Se um aplicativo não indicar atributos, será usado o locutor padrão (o do topo) da aba <guilabel
>Locutores</guilabel
>.</para>

<para
>Quando os aplicativos indicam os atributos do locutor desejado, poderão indicar que certos atributos são "preferidos" sobre outros. Por exemplo, um aplicativo poderá dizer que prefere uma voz alta feminina para falar o texto e que o atributo "alto" é "preferido" sobre o atributo feminino. Se tiver uma voz feminina baixa e uma voz masculina forte configuradas, o &ktts; irá escolher o locutor masculino para fazer a fala. Uma vez que o idioma é um parâmetro crítico para tornar a fala compreensível, este é sempre um atributo "preferido".</para>

<para
>Ao usar a janela <guilabel
>Selecionar o locutor</guilabel
>, você poderá sobrepor a configuração do locutor do aplicativo. É mostrado a seguinte tela</para>

<itemizedlist>
<listitem
><para
>quando clicar no botão <guilabel
>Modificar o locutor</guilabel
> na aba <guilabel
>Tarefas</guilabel
>, ou</para
></listitem>
<listitem
><para
>quando clicar no botão <guilabel
>Locutor</guilabel
> da janela <guilabel
>Configuração do filtro</guilabel
> para um filtro de seleção do locutor, ou</para
></listitem>
<listitem
><para
>quando clicar no botão <guilabel
>Locutor</guilabel
> da aba <guilabel
>Notificações</guilabel
>.</para
></listitem>
</itemizedlist>

<para>
    <screenshot>
        <screeninfo
>Selecionar o locutor</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
>Selecionar o locutor</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para
>A janela oferece três métodos para indicar os atributos desejados para o locutor:</para>

<itemizedlist>
<listitem
><para
>Usar o locutor padrão (o do topo da lista de <guilabel
>Locutores</guilabel
>). Em outras palavras, não são indicados atributos do locutor.</para
></listitem>
<listitem
><para
>Usar o locutor mais próximo que tenha um ou mais atributos indicados.</para
></listitem>
<listitem
><para
>Use o locutor mais próximo que tenha todos os atributos de um locutor configurado. Se não remover ou modificar a configuração do locutor, o &ktts; irá escolher esse locutor específico. Se remover ou modificar a configuração do locutor, então o &ktts; irá escolher o locutor mais próximo que tenha os atributos originais do locutor.</para
></listitem>
</itemizedlist>

<para>
<calloutlist>
<callout arearefs="pt-selecttalker-1"
><para
>Escolha o método para inserir os atributos do locutor desejados, clicando numa destas opções exclusivas.</para
></callout>
<callout arearefs="pt-selecttalker-2"
><para
>Escolha os atributos do locutor desejado aqui. Deixe um atributo em branco se não quiser considerar este atributo.</para
></callout>
<callout arearefs="pt-selecttalker-3"
><para
>Assinale esta opção se desejar que o atributo seja "preferido" sobre os outros atributos. Você poderá assinalar mais de uma opção.</para
></callout>
<callout arearefs="pt-selecttalker-4"
><para
>Uma vez que o idioma é um fator crítico ao tornar a fala compreensível, é sempre um atributo preferido. É raro usar este atributo. A única vez em que poderá preferir usar o atributo do idioma, é quando souber que uma determinado aplicativo envia texto num idioma diferente do seu ambiente de trabalho.</para
></callout>
<callout arearefs="pt-selecttalker-5"
><para
>Esta é uma lista dos locutores que você possui atualmente configurados no &ktts;. Ao escolher um deles, de fato, está indicando todos os atributos desse locutor. Se esse locutor estiver ainda configurado, quando o texto for enviado, irá obter uma correspondência exata e será escolhido esse locutor. Contudo, se você remover posteriormente o locutor ou modificar a sua configuração, poderá não ser mais o locutor escolhido. O locutor que melhor corresponder aos atributos originais será o escolhido.</para
></callout>
</calloutlist>
</para>

<para
>O atributo <guilabel
>Idioma</guilabel
> é especial, porque o texto ficará provavelmente ininteligível se for falado por um locutor que fale um idioma diferente do texto. Como tal, o idioma é, automaticamente, um atributo <guilabel
>preferido</guilabel
>. Se você indicar uma língua, ela irá sobrepor a língua escolhida mas, se você a deixar em branco, será usada a língua existente que já tenha sido escolhida para o &ktts;. Se o aplicativo que envia o texto para o &ktts; não indicar uma língua, o &ktts; atribui a língua do locutor do topo, que você tenha configurado na aba <guilabel
>Locutores</guilabel
>. Em outras palavras, o locutor do topo assume-se que fala a língua do seu computador.</para>

<tip
><para
>Para limpar todos os atributos na seção <guilabel
>Usar o locutor mais próximo que tenha</guilabel
>, clique primeiro na opção <guilabel
>Usar o locutor padrão</guilabel
>, depois clique na <guilabel
>Usar o locutor mais próximo que tenha</guilabel
>.</para
></tip>

</sect1>

</chapter>

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

<chapter id="commands">
<title
>Referência de comandos</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
>A FAZER</para>

</chapter>

<!--

<sect1 id="kapp-mainwindow">
<title
>The main &ktts; 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
> &ktts;</para
></listitem>
</varlistentry>
</variablelist>
</para>

</sect2>

-->

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

<chapter id="developers">
<title
>Guia de desenvolvedores do &ktts;</title>

<para
>O &ktts; possui duas interfaces de programação de aplicativos (APIs): </para>

<itemizedlist>
<listitem
><para
>A API do sintetizador de voz do &kde;, que é usada pelos programadores dos aplicativos para oferecerem aos seus aplicativos capacidades de sintetizadores de voz. Os aplicativos comunicam com o KTTSD através de &DCOP;.</para
></listitem>
<listitem
><para
>A API de plug-ins do KTTSD, que é usada para adicionar plug-ins de síntese de voz ao KTTSD, para que o &ktts; funcione com motores novos de síntese de voz.</para
></listitem>
</itemizedlist>

<para
>A seção a seguir dá uma breve descrição da API da interface em &DCOP; do sintetizador de voz do &kde;. A documentação completa para ambas as APIs está disponível no <ulink url="http://accessibility.kde.org/developer/kttsd/"
> site de acessibilidade no &kde;</ulink
>. </para>


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


<sect1 id="dcop-interface">
<title
>A interface de &DCOP; do &ktts;</title>

<para
>Os aplicativos comunicam os pedidos de serviços de sintetizador de voz através da interface de &DCOP; do &kde; para programar o objeto <command
>KSpeech</command
> do <command
>kttsd</command
>. </para>

<para
>Insira os seguintes comandos num &konsole;.</para>

<para
>Se o KTTSD não estiver já rodando</para>

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

<para
>Para agendar uma tarefa de texto a ser falada</para>

<para
><userinput
>dcop kttsd KSpeech setText "<replaceable
>texto</replaceable
>" "<replaceable
>locutor</replaceable
>"</userinput
></para>

<para
>onde o <userinput
><replaceable
>texto</replaceable
></userinput
> é o texto que pretende ser sintetizado e o <userinput
><replaceable
>locutor</replaceable
></userinput
> é um código de idioma do tipo <userinput
><replaceable
>en</replaceable
></userinput
>, <userinput
><replaceable
>pt_BR</replaceable
></userinput
>, &etc;. Este comando não fala o texto; simplesmente coloca-o numa fila de tarefas de texto para ser falado.</para>

<para
>Exemplo.</para>

<para
><userinput
>dcop kttsd KSpeech setText "Isto é um teste." "pt_BR"</userinput
></para>

<para
>Para falar a última tarefa de texto que foi posta na fila.</para>

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

<para
>Neste caso, o <userinput
>0</userinput
> refere-se à última tarefa de texto na fila. Você poderá também indicar um número de tarefa específico. (Se não for indicado nenhum número, assume-se o <userinput
>0</userinput
>.)</para>

<para
>Para parar a tarefa de texto sendo falada atualmente</para>

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

<para
>Dependendo do plug-in de voz usado, a síntese poderá não parar imediatamente.</para>

<para
>Existem muitos mais comandos que poderão ser enviados. Para ver uma lista dos comandos possíveis,</para>

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

<para
>ou leia a <ulink url="http://accessibility.kde.org/developer/kttsd/"
> página da API do sintetizador de voz do &kde;</ulink
>.</para>

</sect1>

</chapter>

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

<chapter id="faq">
<title
>Perguntas e respostas</title>
&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
<qandaentry>
<question>
<para
>O <command
>kttsmgr</command
> estoura imediatamente, após eu iniciá-lo. Compilei-o com suporte para depuração e não tenho qualquer espécie de registro de chamadas.</para>
</question>
<answer>
<para
>O GStreamer estourou, levando o &ktts; com ele. Provavelmente, você precisa "registrar" o GStreamer. Para o GStreamer 0.8x, o comando é o <command
>gst-register-0.8</command
>. Se isto não resolver o problema, é porque você pode ter uma versão incompatível do GStreamer instalada. Você poderá tentar atualizar ou desinstalar o GStreamer.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>A saída de áudio do ALSA não funciona se eu estiver ouvindo música em outro aplicativo ao mesmo tempo. Quando coloco em pausa uma tarefa de texto, o &ktts; bloqueia. Reparo na mensagem "não foi possível abrir o PCM" na saída do &konsole;.</para>
</question>
<answer>
<para
>Você tem um problema de contenção do dispositivo do ALSA, o que impede de abrir mais de um dispositivo PCM de cada vez. Veja o site do ALSA (dmix) para descobrir soluções possíveis. <ulink url="www.alsa-project.org"
>www.alsa-project.org</ulink
> </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Eu preciso recomeçar tudo. Como eu interrompo por completo o &ktts;?</para>
</question>
<answer>
<para
>Insira os seguintes comandos num &konsole;: <programlisting
>killall kttsd
killall kttsmgr
</programlisting>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Como vejo o resultado de depuração do <command
>kttsd</command
>?</para>
</question>
<answer>
<para
>Abra duas janelas do &konsole;. Primeiro inicie o <command
>kttsd</command
> numa janela e depois o <command
>kttsmgr</command
> na segunda.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Tenho uma voz adicional do Festival que obtive da Internet. Instalei-a e posso usá-la no Festival, mas não aparece no <command
>kttsmgr</command
>.</para>
</question>
<answer>
<para
>Edite o arquivo <filename
>$KDEHOME/share/apps/kttsd/festivalint/voices</filename
> para adicionar a nova voz. Os outros itens poderão ser usados como um guia. Se adicionar com sucesso uma voz, envie por favor uma correção para os programadores, juntamente com o &URL; de onde obteve o arquivo de voz.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Nenhum dos sintetizadores de voz suportados possui o idioma que eu necessito. Onde poderei obter um sintetizador para o meu idioma?</para>
</question>
<answer>
<para
>O Google(tm) é seu amigo. Esta <ulink url="http://tcts.fpms.ac.be/synthesis/mbrola/mbrtts.html"
>referência</ulink
> também poderá ajudar. Se descobrir um motor aberto que suporte ao idioma desejado e quiser adicionar o suporte para ele no &ktts;, por favor contacte a equipe de desenvolvimento. Os motores abertos são especialmente bem-vindos. Se você conhecer algum sintetizador comercial, talvez consiga persuadir o distribuidor a doar uma cópia gratuita à equipe de desenvolvimento do &ktts;. Entretanto, poderá conseguir colocar o sintetizador funcionando com o plug-in <guilabel
>Comando</guilabel
>. Veja em <xref linkend="using-with-command"/>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>O &ktts; está falando muito devagar. Como posso acelerar?</para>
</question>
<answer>
<para
>Existe uma opção de <guilabel
>Velocidade</guilabel
> na aba <guilabel
>Áudio</guilabel
>. Para funcionar, você terá que ter o utilitário <command
>sox</command
> instalado e disponível no PATH. Alguns plug-ins de síntese, como o Festival Interactive, também oferecem uma opção de <guilabel
>Velocidade</guilabel
> na janela de configuração do locutor. Dependendo da voz usada, poderá ou não estar ativa.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>OK, isso funciona para algumas coisas, mas as páginas da Internet continuam a ser faladas muito lentamente.</para>
</question>
<answer>
<para
>A configuração da velocidade é ignorada quando o &ktts; estiver falando o HTML. (Isto tem a ver com o fato do &HTML; ser convertido para SSML, que tem as suas próprias marcas de "rate" (taxa ou ritmo).) Você tanto poderá desligar o filtro de transformação de &XML; para &HTML; (ver em <xref linkend="filters"/>) ou, se tiver coragem, editar o arquivo XSL no filtro transformador de &HTML; para SSML e aumentar a taxa de fala padrão.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Não consigo que as páginas da Internet falem com uma voz feminina. Tenho o locutor feminino do Festival instalado, mas o &ktts; fala sempre as páginas da Internet com uma voz masculina.</para>
</question>
<answer>
<para
>Desde o Festival 1.95 beta, a marca SABLE GENDER não parece estar funcionando. Para evitar que o Festival produza erros, o arquivo XSL de conversão de SSML para SABLE retira as marcas de sexo. O mesmo de aplica às marcas de voz.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Tenho o filtro transformador de &XML; para &HTML; configurado, mas as páginas da Internet não são faladas com o plug-in do Festival.</para>
</question>
<answer>
<para
>Devido a um erro no Festival 1.95 beta, você terá que instalar a voz <command
>rab_diphone</command
> (homem britânico) para o SABLE funcionar, mesmo que não esteja usando essa voz para falar as páginas da Internet. Do mesmo modo, verifique se o utilitário <command
>xsltproc</command
> está instalado e no PATH.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Certos caracteres ou pontuações parecem estar produzindo erros no sintetizador, fazendo-o saltar frases inteiras ou pronunciar lixo. O que posso fazer?</para>
</question>
<answer>
<para
>Primeiro, certifique-se de que a opção de <guilabel
>Codificação de caracteres</guilabel
> da janela de configuração do locutor está bem definida para o idioma. Se algumas palavras ou caracteres estiverem causando problemas, poderá ajudar ter um filtro de substituição do texto. Se certos caracteres de pontuação estiverem confundindo a síntese, você poderá precisar configurar o filtro de detecção do limite de frases. Veja em <xref linkend="filters"/>.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Adicionei um filtro de substituição de texto próprio e agora o &ktts; não permite avançar ou recuar nas frases. Na aba <guilabel
>Tarefas</guilabel
>, diz que cada tarefa só tem uma frase. O que eu fiz de errado?</para>
</question>
<answer>
<para
>Você não deverá filtrar os caracteres de pontuação de frases (ponto final, ponto de interrogação, exclamação, ponto e vírgula e dois-pontos). Para esses caracteres, use um filtro de detecção dos limites das frases em alternativa.</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
>Créditos e licença</title>

<para
>&ktts; </para>
<para
>Direitos autorais do programa &copy; 2002 Jos&#233; Pablo Ezequiel "Pupeno" Fern&#225;ndez <email
>pupeno@kde.org</email
> </para>
<para
>Mantenedor atual: Gary Cramblitt <email
>garycramblitt@comcast.net</email
> </para>
<para
>Contribuições: <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
>Direitos autorais da documentação &copy; 2004 Gary R. Cramblitt <email
>garycramblitt@comcast.net</email
> </para>

<para
>Tradução de Marcus Gama<email
>marcus.gama@gmail.com</email
></para
> 
&underFDL; &underGPL; <note
><para
>Os motores de síntese de voz usados pelo &ktts; possuem as suas próprias licenças. Veja a documentação de cada motor ou a seu site na Internet para mais detalhes. Algumas das vozes também têm as suas próprias licenças.</para
></note>

</chapter>

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

<appendix id="installation">
<title
>Instalação</title>

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


<sect1 id="getting-kapp">
<title
>Como obter o &ktts;</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
>(FUTURO) Comando de instalação do Debian: <command
>apt-get install kdeaccessibility</command
></para>

<note>
<para
>Você poderá encontrar algumas referências para os pacotes de código e executáveis no <ulink url="http://accessibility.kde.org/developer/kttsd/"
>site de acessibilidade do &kde;</ulink
> (http://accessibility.kde.org).</para>

<para
>Se você tiver acesso ao repositório de código do &kde;, poderá obter o &ktts; através do módulo <command
>kdeaccessibility</command
>. O &ktts; encontrar-se na pasta <command
>kttsd</command
>. Você poderá também obter um pacote em <ulink url="ftp://ftp.kde.org/pub/kde/"
> ftp://ftp.kde.org/pub/kde/</ulink
></para>
</note>

</sect1>

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


<sect1 id="requirements">
<title
>Requisitos</title>

<para
>Requisitos obrigatórios:</para>

<para>
<itemizedlist>
<listitem
><para
>&kde; versão 3.2 ou posterior.</para
></listitem>
<listitem
><para
>Um motor de síntese de voz. São suportados os seguintes motores e idiomas falados.</para>

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

<row>
<entry
>Festival</entry>
<entry
>Inglês americano, inglês britânico, espanhol, alemão, finlandês, checo, polonês, russo, italiano, francês do Canadá, suaílei, zulu e ibibio</entry>
</row>

<row>
<entry
>Festival Lite (flite)</entry>
<entry
>Inglês</entry>
</row>

<row>
<entry
>Hadifix (&mbrola; e txt2pho)</entry>
<entry
>Alemão, húngaro</entry>
</row>

<row>
<entry
>Epos</entry>
<entry
>Checo, eslovaco</entry>
</row>

<row>
<entry
>FreeTTS</entry>
<entry
>Inglês</entry>
</row>

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

<para
>Funciona também com qualquer motor de síntese que possa ser executado com um comando num &konsole;.</para>

<note
><para
>Os idiomas indicados acima poderão não ser compreensíveis ou estar desatualizados. Veja também o site do <ulink url="http://accessibility.kde.org/developer/kttsd/index.php"
>&ktts;</ulink
> para obter mais informações que possam não estar incluídas neste manual. </para
></note>

<note>
<para
>O &ktts; usa uma arquitetura de plug-ins flexível para os motores de síntese de voz. Se você quiser melhorar o &ktts; de modo a suportar outro motor, contate a equipe de desenvolvimento. </para>
</note>

<para
>Veja em <xref linkend="configuration"/> as instruções específicas para cada um destes motores. </para>

</listitem>

<listitem>
<para
>Pelo menos um dos seguintes subsistemas de áudio: <itemizedlist>
<listitem
><para
>Sistema de som &arts; do &kde;. O &arts; vem normalmente instalado com o &kde;.</para
></listitem>
<listitem
><para
>ALSA (Advanced &Linux; Sound Architecture). O ALSA vem instalado com a maioria dos sistemas &Linux;. (<ulink url="www.alsa-project.org"
>www.alsa-project.org</ulink
>)</para
></listitem>
<listitem
><para
>GStreamer versão 0.8.7 ou posterior. <emphasis
>Nota</emphasis
>: Certifique-se de registrar os seus plug-ins do GStreamer, executando o comando <command
>gst-register</command
>, antes de usar o GStreamer no &ktts;. (<ulink url="http://gstreamer.freedesktop.org"
> http://gstreamer.freedesktop.org</ulink
>)</para
></listitem>
<listitem
><para
>Biblioteca aKode. O aKode é uma biblioteca de decodificação que faz parte do &kde;. </para
></listitem>
</itemizedlist>

<note
><para
>O projeto do &kde; abandonou o &arts; a partir da versão 4.</para
></note>

<note
><para
>Alguns usuários experimentam casos de contenção do dispositivo no ALSA. Se o seu sistema tiver este problema, você não será capaz de tocar música enquanto fala simultaneamente. O &ktts; irá também bloquear se pausar uma tarefa de texto e iniciar outra depois. Veja o site da Internet do ALSA (dmix) para algumas soluções possíveis.</para
></note>

<note
><para
>Desde julho de 2005, o aKode não suporta uma capacidade de pausa real. Quando você colocar em pausa uma tarefa de texto, o &ktts; irá terminar de falar a frase atual.</para
></note>

</para>
</listitem>

</itemizedlist>
</para>

<para
>Componentes opcionais:</para>

<para>
<itemizedlist>

<listitem>
<para
>O utilitário de áudio <command
>sox</command
> é necessário para ajustar a velocidade global da voz, mas não é necessário. Os usuários do Debian poderão instalar o sox com o comando <command
>apt-get install sox</command
>. O sox vem incluído na maioria dos CDs de distribuições de &Linux;.</para>
</listitem>

<listitem>
<para
>O utilitário <command
>xsltproc</command
> é necessário para o suporte de SSML e para o filtro de transformação &XML;, mas não é obrigatório. Os usuários do Debian poderão instalar o xsltproc com o comando <command
>apt-get install xsltproc</command
>.</para>
</listitem>

</itemizedlist>
</para>

</sect1>

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


<sect1 id="compilation">
<title
>Compilação e instalação</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
>Para poder compilar o &ktts;, você precisa ter uma cópia recente (&kde; 3.4 ou superior) dos arquivos de desenvolvimento do &kde;, incluindo o kdelibs e o arts.</para>

<para
>Se você obteve o &ktts; como um pacote TAR, inicie a sessão como um usuário normal e descomprima o pacote para uma pasta adequada, entre nesta pasta e digite os seguintes comandos.</para>

<programlisting
>./configure
make
</programlisting>

<para
>Estão disponíveis as seguintes opções do <command
>configure</command
>:</para>

<para>
<informaltable id="configure-audio-options">
<tgroup cols="3">
<tbody>

<row>
<entry
><emphasis
>Opção padrão</emphasis
></entry>
<entry
><emphasis
>Descrição</emphasis
></entry>
<entry
><emphasis
>Alternativo</emphasis
></entry>
</row>
<row>
<entry
>--with-arts</entry>
<entry
>Compila o plug-in de áudio do arts.</entry>
<entry
>--without-arts</entry>
</row>
<row>
<entry
>--with-alsa=check</entry>
<entry
>Compila o plug-in de áudio do ALSA.</entry>
<entry
>--with-alsa=no</entry>
</row>
<row>
<entry
>--with-gstreamer=no</entry>
<entry
>Não compila o plug-in de áudio do GStreamer.</entry>
<entry
>--with-gstreamer=check</entry>
</row>
<row>
<entry
>--with-akode=no</entry>
<entry
>Não compila o plug-in de áudio do aKode.</entry>
<entry
>--with-akode=check</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>

<note
><para
>No &kde; 4, o plug-in do &arts; poderá ser removido ou, pelo menos, não irá compilar por padrão. </para
></note>

<para
>Os plug-ins de síntese de voz são todos compilados por padrão. Alguns deles são dependentes somente em nível de execução de software não livre. (não livre de acordo com a política do Debian). A coluna "Opção do configure para não compilar"mostra o comando do 'configure' para não compilar o plug-in:</para>

<para>
<informaltable id="configure-synth-options">
<tgroup cols="3">
<tbody>

<row>
<entry
><emphasis
>Síntese</emphasis
></entry>
<entry
><emphasis
>Licença</emphasis
></entry>
<entry
><emphasis
>Opção do configure para não compilar</emphasis
></entry>
</row>
<row
><entry
>Festival</entry
><entry
>livre</entry
><entry
>--disable-kttsd-festivalint</entry
></row>
<row
><entry
>Festival Lite</entry
><entry
>livre</entry
><entry
>--disable-kttsd-flite</entry
></row>
<row
><entry
>Epos</entry
><entry
>livre</entry
><entry
>--disable-kttsd-epos</entry
></row>
<row
><entry
>Comando</entry
><entry
>livre</entry
><entry
>--disable-kttsd-command</entry
></row>
<row
><entry
>Hadifix</entry
><entry
>não livre</entry
><entry
>--disable-kttsd-hadifix</entry
></row>
<row
><entry
>FreeTTS</entry
><entry
>não livre</entry
><entry
>--disable-kttsd-freetts</entry
></row>
</tbody
></tgroup
></informaltable
></para>

<para
>Por padrão, os comandos acima irão instalar o &ktts; em <filename
>/opt/kde3</filename
>. Se esta pasta não estiver na sua variável $<envar
>$KDEDIRS</envar
>, você poderá ter que adicionar uma opção <userinput
>--prefix=<replaceable
>destino</replaceable
></userinput
>. Por exemplo,</para>

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

<note
><para
>Nos sistemas Debian, o <filename
><replaceable
>/usr/local</replaceable
></filename
> é o local normal para instalar os aplicativos compilados a partir de código fonte. </para
></note>

<para
>Inicie a sessão como root e instale o &ktts; compilado com os seguintes comandos.</para>

<programlisting
>su
make install
</programlisting>

<para
>Se você obteve o código do &ktts; a partir do módulo do repositório de código <filename
>kdeaccessibility</filename
> ou através dos pacotes TAR noturnos do repositório de código, use os seguintes comandos para compilar e instalar. </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
>Configuração</title>

<para
>Certifique-se de que o seu motor de síntese de voz está funcionando antes de usar o &ktts;. Siga as instruções que vieram com o motor.</para>

<tip>
<para
>Em alguns casos, é necessário dar acesso de escrita ao dispositivo de áudio.</para>
<para
><userinput
>chmod a+rw <replaceable
>/dev/dsp*</replaceable
></userinput
></para>
</tip>

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


<sect2 id="using-with-festival">
<title
>Usando com o Festival (Interactive)</title>

<para
>O Festival é um dos melhores motores de sintetização de voz gratuitos e abertos que se encontram disponíveis. A qualidade da voz é geralmente boa, existem alguns idiomas e vozes suportadas e você poderá controlar a voz, a velocidade do texto gerado e o tom no &ktts;.</para>

<para
>Nome do sintetizador: <guilabel
>Festival Interative</guilabel
></para>

<para
>&URL;: <ulink url="http://www.cstr.ed.ac.uk/projects/festival/"
> http://www.cstr.ed.ac.uk/projects/festival/</ulink
> </para>

<para
>Comando de instalação do Debian: <userinput
>apt-get install festival</userinput
></para>

<para
>Você irá precisar instalar pelo menos um idioma. Siga as instruções que vêm com o Festival. Se você quiser falar as páginas da Internet, deverá instalar a voz <command
>rab_diphone</command
> (homem britânico). </para>

<para
>As vozes adicionais em inglês do Festival estão disponíveis em</para>

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

<para
>As vozes adicionais em espanhol, inglês e alemão estão disponíveis em</para>

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

<para
>Você deverá, contudo, compilar um módulo adicional para estas vozes, sendo necessário para isso o código fonte do Festival. As vozes em alemão possuem uma distribuição limitada. </para>

<para
>Está disponível uma voz masculina em finlandês em </para>

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

<para
>Está disponível uma voz masculina em polonês em </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
>Está disponível uma voz masculina em russo em </para>

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

<para
>Você precisa ter instalado o Festival 1.95 beta ou posterior para usar esta voz. A voz ainda está em desenvolvimento. Descomprima em <filename
>festival/lib/voices/russian/</filename
>. Quando configurar o locutor russo, o código da voz é o <userinput
>msu_ru_nsh_diphone</userinput
>. Certifique-se de selecionar uma codificação de 8-bits cirílica, como o <userinput
>KOI8-R</userinput
>.</para>

<para
>As vozes em italiano para o Festival 1.95 beta estão disponíveis em</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
>Se você obtiver erros de CRC ao descomprimir os arquivos, tente obtê-los de novo.</para>

<para
>As vozes em suaíle, zulu e ibibio do Festival 1.95 beta estão disponíveis em</para>

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

<para
>Infelizmente, a voz hindi, também lá disponível, não irá funcionar com o &ktts;.</para>

<para
>As vozes comerciais, incluindo uma voz em francês do Canadá, poderão ser compradas na Cepstral, LLC em</para>

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

<para
>A FAQ na página de suporte deles, possui informações sobre a utilização das vozes deles no Festival.</para>

<para
>O Festival vem tipicamente incluído com as distribuições do &Linux;. Veja nos CDs da sua distribuição se está incluído.</para>

<note>
<para
>Ao usar os idiomas húngaro, checo ou polonês, certifique-se de que a opção de <guilabel
>Codificação</guilabel
> está definida como <userinput
>ISO 8859-2</userinput
>. </para>
<para
>Ao usar o idioma russo, certifique-se de que a opção de <guilabel
>Codificação</guilabel
> está definida como cirílica de 8 bits, como por exemplo <userinput
>KOI8-R</userinput
>. </para>
</note>

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


<sect3 id="festival-with-mbrola">
<title
>Usando o Festival com o &mbrola;</title>

<para
>O Festival pode ser usado em conjunto com o sintetizador &mbrola;. Neste modo, o Festival faz a análise léxica e o &mbrola; produz o áudio. O executável &mbrola; e os arquivos de vozes do &mbrola; podem ser obtidos em</para>

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

<para
>Siga as instruções no <filename
>readme.txt</filename
> que vem com o pacote obtido.</para>

<para
>Repare que o &mbrola; não é um sistema sintetizador de voz completo. O &mbrola; sintetiza a voz a partir de arquivos de difonemas. Você deverá ter um software adicional que possa produzir os difonemas. Ao ser combinado com o Festival, o Festival produz os difonemas necessários para o &mbrola;. O <command
>txt2pho</command
> poderá também ser usado para produzir difonemas a partir de texto em alemão. Veja <xref linkend="using-with-hadifix"/> para mais informações.</para>

<para
>Existem três métodos para combinar o Festival com o &mbrola;.</para>

<para>
<itemizedlist>
<listitem
><para
><link linkend="mbrola-wrappers"
>Interfaces do &mbrola;</link
>. No momento em que este manual foi escrito, este método estava limitado a vozes em inglês.</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
>Usando o Festival com as interfaces do &mbrola;</title>

<para
>Neste método, o código adicional das interfaces é adicionado ao Festival para ativar a síntese de voz com os arquivos de vozes do &mbrola;. Lembre-se que os arquivos de vozes do &mbrola; <emphasis
>não</emphasis
> são instalados na árvore de pastas do &mbrola;. Em vez disso, são instalados na árvore de pastas <filename
>festival/lib/</filename
>. Para mais instruções, veja</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
>Usando o IMS German Festival</title>

<para
>O IMS German Festival é uma versão modificada do Festival que usa as vozes em alemão do &mbrola;. Funciona tanto com o Festival versão 1.4.1 como com o Festival 2.0 (1.95beta). Instale primeiro o Festival e o &mbrola;, se não tiver já feito isso. Depois, obtenha o IMS German Festival em</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
>Siga as instruções no arquivo <filename
>README</filename
> que vem com o pacote obtido. (Lembre-se que, se for usado em conjunto com o Festival 2.0, <emphasis
>não</emphasis
> é necessário aplicar o pacote <command
>fixes</command
>, mas terá ainda que recompilar o festival.) Finalmante, adicione as seguintes linhas ao arquivo <filename
>festival/lib/siteinit.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
>logo acima da linha que diz</para>

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

<para
>Em alguns sistemas, o arquivo que edita é o <filename
>/etc/festival.scm</filename
>. Adicione apenas as linhas que correspondem às vozes em alemão que instalou. Substitua a localização correta por <userinput
><replaceable
>/usr/local/mbrola/</replaceable
></userinput
>. Lembre-se também que (no momento em que isto foi escrito), o IMS German Festival não funciona com os arquivos de vozes de4, de5 ou de6.</para>

</sect4>

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

<sect4 id="festival-czech">
<title
>Usando o Festival-Czech</title>

<para
>Este método usa algum código especial para ativar a síntese de voz no Festival com uma voz do &mbrola; em checo. Para instalar, obtenha o arquivo de instalação primeiro, instale o Festival e o &mbrola; e certifique-se de que ambos funcionam. Depois, obtenha o Festival-Czech em</para>

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

<note
><para
>Nos procedimentos a seguir, substitua as localizações de pastas corretas de acordo com as necessidades.</para
></note>

<para
>Descomprima o pacote transferido para uma pasta adequada e compile o léxico. O executável do Festival deverá estar na sua <envar
>PATH</envar
>. </para>

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

<para
>Obtenha o arquivo de voz <command
>cz2</command
> do site da Internet do &mbrola; e descomprima-o na pasta do &mbrola;.</para>

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

<para
>Adicione as seguintes linhas ao arquivo <filename
>festival/lib/siteinit.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
>logo acima da linha que diz</para>

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

<para
>Em alguns sistemas, o arquivo que edita é o <filename
>/etc/festival.scm</filename
>.</para>

</sect4>

</sect3>

</sect2>

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

<sect2 id="using-with-flite">
<title
>Usando com o Festival Lite (flite)</title>

<para
>O Festival Lite é um motor gratuito e aberto que suporta atualmente um número limitado de vozes e idiomas. É leve, mas sacrifica de certa forma a qualidade da voz. Você não pode controlar o tom, o volume ou a velocidade deste motor no &ktts;.</para>

<para
>Nome do sintetizador: <guilabel
>Festival Lite (flite)</guilabel
></para>

<para
>&URL;: <ulink url="http://www.speech.cs.cmu.edu/flite/index.html"
> http://www.speech.cs.cmu.edu/flite/index.html</ulink
> </para>

<para
>Comando de instalação do Debian: <userinput
>apt-get install flite</userinput
></para>

<para
>O flite vem tipicamente instalado com as distribuições &Linux;. Verifique os CDs da sua distribuição para confirmar se vem incluído.</para>

<para
>Compile e instale o flite, seguindo as instruções no <filename
>README</filename
> que vem com ele.</para>

</sect2>

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


<sect2 id="using-with-hadifix">
<title
>Usando com o Hadifix (&mbrola; e txt2pho)</title>

<para
>O Hadifix é um motor de síntese de voz baseado em difonemas. O utilitário <command
>txt2pho</command
> converte o texto é difonemas e o motor &mbrola; sintetiza os difonemas a reproduzir. A qualidade da voz é boa, mas o suporte do idioma está atualmente ligeiramente limitado. Você poderá controlar a voz, o tom, a velocidade e o volume no <application
>kttsmgr</application
>. </para>

<para
>Nome do sintetizador: <guilabel
>Hadifix</guilabel
></para>

<para
>&URL;: veja abaixo</para>

<para
>Comando de instalação do Debian: nenhum</para>

<para
>Se não tiver já o Hadifix instalado, faça o seguinte:</para>

<procedure>
<step
><para
>Obtenha o executável do &mbrola; em <ulink url="http://festvox.org/mbrola/"
> http://festvox.org/mbrola/</ulink
>.</para
></step>
<step
><para
>Instale o &mbrola; na pasta <filename
>/usr/local/mbrola</filename
>.</para
></step>
<step
><para
>Obtenha pelo menos um arquivo de idioma (alemão, por exemplo), na página do &mbrola;. Descomprima na pasta <filename
>/usr/local/mbrola</filename
>.</para
></step>
<step
><para
>Obtenha o txt2pho de</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
>Descomprima o txt2pho em <filename
>/usr/local/txt2pho</filename
>.</para
></step>
<step
><para
>Modifique o arquivo <command
>txt2phorc</command
>, colocando os locais corretos dados nele.</para
></step>
<step
><para
>Copie o <command
>txt2phorc</command
> tanto para o <filename
>~/.txt2phorc</filename
> como para o <filename
>/etc/txt2pho</filename
>. Repare que deve retirar o "rc" do nome do arquivo.</para
></step>
<step
><para
>No <application
>kttsmgr</application
>, escolha o idioma alemão (<guilabel
>de</guilabel
>), e adicione o <guilabel
>Hadifix</guilabel
>.</para
></step>
<step
><para
>Na tela para <guilabel
>Configurar o locutor</guilabel
>, configure uma voz e as localizações do &mbrola; e do txt2pho.</para
></step>
<step
><para
>Clique no botão <guibutton
>Testar</guibutton
> para efetuar o teste.</para
></step>
</procedure>

<para
>Está disponível uma implementação em húngaro para o &mbrola; e o txt2pho em</para>

<para
><ulink url="http://tkltrans.sourceforge.net/"
>http://tkltrans.sourceforge.net/</ulink
>. </para>

</sect2>

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


<sect2 id="using-with-epos">
    <title
>Usando com o Epos</title>

<para
>O Epos é um motor aberto e gratuito para checo e eslovaco. É leve, mas sacrifica de certa forma a qualidade da voz. Você não poderá controlar o tom, o volume ou a velocidade deste motor no &ktts;.</para>

<para
>Nome do sintetizador: <guilabel
>Epos TTS Synthesis System</guilabel
></para>

<para
>&URL;: <ulink url="http://epos.ure.cas.cz/"
> http://epos.ure.cas.cz/</ulink
> </para>

<para
>Comando de instalação do Debian: <userinput
>apt-get install epos</userinput
></para>

<para
>Inicie o <application
>kttsmgr</application
>. Na aba <guilabel
>Locutores</guilabel
>, clique no botão <guilabel
>Adicionar</guilabel
>. Escolha o idioma checo ou eslovaco e o <guilabel
>Epos TTS Synthesis System</guilabel
>. Se o executável do servidor do Epos e o cliente não estiverem no seu <envar
>PATH</envar
>, indique a localização destes executáveis na janela para <guilabel
>Configurar o locutor</guilabel
>. As opções permitem-lhe passar argumentos adicionais ao cliente e ao servidor. Em um console, digite <userinput
>epos -h</userinput
> ou <userinput
>say -h</userinput
> para ver mais informações.</para>

</sect2>

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


<sect2 id="using-with-freetts">
    <title
>Usando com o FreeTTS</title>

<para
>O FreeTTS é um motor de voz aberto e gratuito feito em &Java;, o que significa que você precisa de ter a máquina virtual de &Java; instalada no seu sistema para usá-lo. Atualmente,ele tem um suporte de vozes e idiomas limitado. Você não pode controlar o tom, o volume ou a velocidade deste motor no &ktts;.</para>

<para
>Nome do sintetizador: <guilabel
>FreeTTS</guilabel
></para>

<para
>&URL;: <ulink url="http://sourceforge.net/projects/freetts/"
> http://sourceforge.net/projects/freetts/</ulink
> </para>

<para
>Comando de instalação do Debian: nenhum</para>

</sect2>

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


<sect2 id="using-with-command">
    <title
>Usando o plug-in comando</title>

<para
>O plug-in comando permite-lhe usar o &ktts; com qualquer motor de síntese de voz que possa ser executado como um comando em um <application
>&konsole;</application
>.</para>

<para
>Nome do sintetizador: <guilabel
>Comando</guilabel
></para>

<para
>&URL;: nenhum</para>

<para
>Comando de instalação do Debian: nenhum</para>

<para
>Idealmente, deverá usar um comando que sintetize para um arquivo de áudio temporário (WAV), em vez de enviar a voz diretamente para o dispositivo de áudio.</para>

<para
>Se o motor de síntese de voz necessitar que o texto seja codificado de forma diferente da codificação do seu ambiente de trabalho, você terá que usar o parâmetro <command
>%f</command
> para passar o texto ao motor. O &ktts; irá codificar o texto com a opção que indicar, quando escrever o texto no arquivo temporário. Se você tentar passar o texto à linha de comando com o parâmetro <command
>%t</command
>, ele será codificado com a sua configuração regional. Você poderá também usar a opção <guilabel
>Enviar dados como entrada padrão</guilabel
> para resolver este problema, se o motor aceitar os dados de entrada a partir do 'stdin'. Por exemplo, aqui está um comando para enviar o texto em polonês para o Festival, usando a codificação ISO 8859-2 e removendo os caracteres de pontuação desnecessários.</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 
-->
