<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "&jovie;">
  <!ENTITY package "jovie">
  <!ENTITY mbrola "<application
>MBROLA</application
>">
  <!ENTITY qdbus "<application
>qdbus</application
>">
  <!ENTITY % imageobjectco.module "INCLUDE">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Brazilian-Portuguese "INCLUDE">
]>

<!-- 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 id="jovie" lang="&language;">

<bookinfo>
<title
>Manual do &jovie;</title>

<authorgroup>
<author
><personname
> <firstname
>Jeremy</firstname
> <surname
>Whiting</surname
> </personname
> <email
>jpwhiting@kde.org</email
> </author>
<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
>2009</year>
<holder
>Jeremy Whiting</holder>
</copyright>
<copyright>
<year
>2004-2005</year>
<holder
>Gary R. Cramblitt</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>


<date
>23/06/2013</date>
<releaseinfo
>0.6 (&kde; 4.11)</releaseinfo>

<!-- Abstract about this handbook -->

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

<para
>O &jovie; 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
>Jovie</keyword>
<keyword
>speech-dispatcher</keyword>
<keyword
>espeak</keyword>
<keyword
>festival</keyword>
<keyword
>flite</keyword>
<keyword
>hadifix</keyword>
<keyword
>MBROLA</keyword>
<keyword
>freetts</keyword>
<keyword
>epos</keyword>
<keyword
>SSML</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Introdução</title>

<para
>O &jovie; é 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
>A fala é feita através do speech-dispatcher, então qualquer infraestrutura do speech-dispatcher pode ser usada (espeak, festival, &etc;)</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
>Permite a geração de fala a partir da linha de comando (ou através de scripts), usando o utilitário &qdbus;.</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 contençã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 &jovie; consiste de fato em vários programas: <variablelist>

<varlistentry>
<term
><command
>jovie</command
></term>
<listitem
><para
>o daemon sintetizador de voz do &kde;, que é um aplicativo que oferece os serviços de sintetizador de voz aos aplicativos através do &DBus;. Ele também reside na área de notificação. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>libkhtmlkttsdplugin</command
></term>
<listitem
><para
>Um plugin 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 plugin 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 &jovie; 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 &jovie;</title>

<para>
<warning
><para
>Antes de você poder usar o &jovie;, você deverá instalar o speech-dispatcher e garantir que ele funciona. Veja em <xref linkend="installation"/>. </para
></warning
></para>

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


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

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

<para
><userinput
>jovie</userinput
></para>

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

<para
>Se for a primeira vez que você executa o <command
>jovie</command
>, ou se ainda não configurou nenhum locutor, a janela de <guilabel
>Locutores</guilabel
> será exibida. Veja em <xref linkend="configure-talkers"/>. 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-talkers">
<title
>Configurando os 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. Você deve configurar pelo menos um locutor antes de poder usar &jovie; de outra forma o speech-dispatcher irá usar uma voz padrão.</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 você clica na aba <guilabel
>Locutores</guilabel
> do <command
>jovie</command
>, a janela de <guilabel
>Locutores</guilabel
> aparece. Esta janela aparece também automaticamente se iniciar o <command
>jovie</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 alterar sua configuração. 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 &jovie; em execução.</para
></callout>
</calloutlist>
</para>

<para
>Quando clicar no botão <guibutton
>Adicionar</guibutton
>, 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"/>
                    <area id="pt-addtalker-4" coords="1 1"/>
                    <area id="pt-addtalker-5" 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ê deve dar ao seu novo locutor um nome, que pode ser qualquer coisa. </para>
        </callout>
        <callout arearefs="pt-addtalker-2">
            <para
>Escolha aqui o idioma e o sintetizador.</para
></callout>
        <callout arearefs="pt-addtalker-3">
            <para
>Escolha o tipo de voz aqui, três são masculinas, três femininas, uma criança masculina e uma criança feminina são as vozes a escolher. </para>
        </callout>
        <callout arearefs="pt-addtalker-4">
            <para
>Configure qualquer parâmetro de voz personalizado aqui.</para
></callout>
        <callout arearefs="pt-addtalker-5">
            <para
>Quando você clicar aqui, seu novo locutor irá aparecer na lista da tela <guilabel
>Locutores</guilabel
>. Clique no botão <guibutton
>Editar</guibutton
> para editar a configuração do locutor.</para
></callout>
    </calloutlist>
</para>

<para
>Você já está quase pronto para começar a usar o &jovie;. Volte agora à aba <guilabel
>Geral</guilabel
> e assinale a opção <guilabel
>Ativar o sistema sintetizador de voz (Jovie)</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 &jovie; 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 &jovie; 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-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 &jovie;. Isto irá iniciar o servidor do sintetizador de voz do &kde; (&jovie;). Se o Jovie iniciar com sucesso, irá aparecer a aba <guilabel
>Tarefas</guilabel
>. Logo que o &jovie; 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 Jovie e desativar o sistema de TTS do &kde;. </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
>jovie</command
>, a tela de <guilabel
>Tarefas</guilabel
> aparece.</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"/>
            </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>
<calloutlist>
<callout arearefs="pt-jobmgr-1"
><para
>Os controles aqui permitem a você alterar os atributos da voz atualmente falando. Lembre-se de que isso só funciona se você tiver as vozes configuradas na aba Locutores.</para
></callout>
<callout arearefs="pt-jobmgr-2"
><para
>Os botões nesta barra de ferramentas permitem a você parar, cancelar, pausar e continuar a tarefa de texto atual.</para
></callout>
<callout arearefs="pt-jobmgr-3"
><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ê poderá também modificar o locutor de uma tarefa.</para
></callout>
<callout arearefs="pt-jobmgr-4"
><para
>Quando você clicar em <guibutton
>OK</guibutton
> ou <guibutton
>Aplicar</guibutton
>, todas as alterações nas configurações em outras telas são aplicadas (se existirem).</para
></callout>
</calloutlist>
</para>

<note
><para
>A aba <guilabel
>Tarefas</guilabel
> só aparece quando o &jovie; 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 (Jovie)</guilabel
>.</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 &jovie; 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 &jovie; está rodando e ative o <guilabel
>Plugin Texto-para-Fala do Jovie para o KTextEditor</guilabel
> na janela de configurações do &kate;. 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 &jovie; 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 &jovie;, 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>

<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 &jovie;. O arquivo <filename
>kmail.xml</filename
>, que vem com o &jovie;, é 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>

</sect1>

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

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

<para
>The Speech Synthesis Markup Language (SSML) is a W3C standard
for marking up text for speech output.  It provides tags for controlling
voices, rate of speech, volume, gender, and pitch (tone).  It also
provides tags for controlling how words are spoken, for instance
spelling out abbreviations.  SSML is part of the VoiceXML specification,
which is also a W3C standard.</para>

<para
>At this time, &jovie; provides limited and very basic support for
SSML.  It currently has the following restrictions.</para>

<itemizedlist>
<listitem
><para
>Works only with the Festival Interactive and Hadifix Talkers.</para
></listitem>
<listitem
><para
>You must install the <command
>rab_diphone</command>
(British male) voice, as this is the default voice Festival uses when speaking
SSML.</para
></listitem>
<listitem
><para
>The <guilabel
>Speed</guilabel
> setting on the <guilabel
>Audio</guilabel>
screen is ignored when speaking text containing SSML.</para
></listitem>
<listitem
><para
>If the <guilabel
>Speed</guilabel
> or <guilabel
>Pitch</guilabel>
settings in the Festival configuration dialog are not set to 100%, it
will usually cause the SSML text to be spoken in a monotone.</para
></listitem>
</itemizedlist>

<para
>The following sample text can be used to experiment with SSML.</para>

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

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

<para
>More robust support for SSML is planned for the next version of
&jovie;.
</para>

</sect1
>-->

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

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

<para
>Os filtros são uma funcionalidade avançada do &jovie;. Para a operação básica do &jovie;, 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 speech-dispatcher. 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 &jovie;</title>

<para
>Para compreender como usar os filtros, é útil compreender primeiro como o texto é processado pelo speech-dispatcher. O texto falado pelo &jovie; é 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 &jovie;.</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 &jovie; 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
>Os filtros 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 plugins. 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 &jovie; 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 &jovie; 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 &jovie;. 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-talkers"/>. </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, mensagem, aviso ou mensagem de notificação do &kde; é enviada para o &jovie;, ela passa através de cada um dos filtros habilitados que você configurou na tela abaixo. A ordem é de cima para baixo. </para>

</sect2>

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

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

<para
>Para usar filtros, clique na aba <guilabel
>Filtros</guilabel
> no <command
>jovie</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"/>
                </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
>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.</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 distingui-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 &Ctrl; 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
>&qdbus;</command
>. Você deverá retirar os números do &DBus;. Por exemplo, se o &qdbus; 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
>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 do módulo playground-utils no Git.</para>

<para
>O &jovie; 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 palavras úteis suas, use o botão <guibutton
>Salvar</guibutton
> para salvá-las em um arquivo e para enviá-las para a equipe do &jovie;, 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 distingui-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
>&qdbus;</command
>. Você deverá retirar os números do &DBus;. Por exemplo, se o &qdbus; 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 direcionar 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-talkers"/>.</para>

<para
>Antes de o &jovie; 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 &jovie; e os atributos que você tenha configurado na aba <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 distingui-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
>&qdbus;</command
>. Você deverá retirar os números do &DBus;. Por exemplo, se o &qdbus; 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
>. </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>

</sect2>

</sect1>

<!-- ...................................................................... -->
<!--
<sect1 id="selecttalker">
<title
>Selecting Talkers (Advanced)</title>

<para
>You can configure
any number of talkers in the <guilabel
>Talkers</guilabel
> tab.
See <xref linkend="configure-talkers"/>.  When applications send text
to &jovie;, they may specify the attributes of a desired
talker to speak the text.  &jovie; will pick the closest
matching talker from among the talkers you have configured to satisfy
the application's request.  For example, an application might request
the text be spoken by an English female voice.  If you have configured
a talker with English language and female gender, that talker will be used.
If you have configured all English male talkers, one of those talkers
will be used.  If an application specifies no attributes,
the default (topmost) talker listed in the <guilabel
>Talkers</guilabel>
tab is used.</para>

<para
>When applications specify the attributes of the desired talker,
they may indicate that certain attributes are "preferred" over other
attributes.  For example, an application may specify that it wishes
that a female loud voice speak the text, and that the loud attribute is
"preferred" over the female attribute.  If you had a female soft talker
and a male loud talker configured, &jovie; will choose the male
loud talker to do the speaking.  Since language is a critical parameter
in making speech understandable, it is always a "preferred" attribute.</para>

<para
>Using the <guilabel
>Select Talker</guilabel
> screen, you may
override application talker settings.  The screen is displayed</para>

<itemizedlist>
<listitem
><para
>when you click the <guibutton
>Change Talker</guibutton>
button on the <guilabel
>Jobs</guilabel
> tab, or</para
></listitem>
<listitem
><para
>when you click the <guilabel
>Talker</guilabel
> button
on the <guilabel
>Filter Configuration</guilabel
> dialog for
a Talker Chooser filter, or</para
></listitem>
</itemizedlist>

<para>
    <screenshot>
        <screeninfo
>Select Talker</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="addtalker.png" format="PNG"/>
                </imageobject>
            </imageobjectco>
            <textobject>
                <phrase
>Select Talker</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para
>The screen offers three methods to specify desired talker
attributes:</para>

<itemizedlist>
<listitem
><para
>Use the default talker (topmost in the
<guilabel
>Talkers</guilabel
> tab).  In other words, no talker attributes
are specified.</para
></listitem>
<listitem
><para
>Use the closest matching talker having one or more specified attributes.</para
></listitem>
<listitem
><para
>Use the closest matching talker having all the attributes
of a configured talker.  If you don't delete or modify the talker's settings,
&jovie; will pick that specific talker.  If you delete or modify the
talker's settings, then &jovie; will pick the closest matching talker
having the talker's original attributes.</para
></listitem>
</itemizedlist>

<para>
<calloutlist>
<callout arearefs="pt-selecttalker-1"
><para
>Choose the method for entering
the desired talker attributes by clicking one of these radio buttons.</para
></callout>
<callout arearefs="pt-selecttalker-2"
><para
>Choose the attributes of the desired
talker here.  Leave an attribute blank if you do not care about that attribute.</para
></callout>
<callout arearefs="pt-selecttalker-3"
><para
>Check this box if you wish the
attribute to be "preferred" over other attributes.  You may check more than one
box.</para
></callout>
<callout arearefs="pt-selecttalker-4"
><para
>Since language is a critical factor
in making speech understandable, it is always a preferred attribute.  It is rare
that you will use this attribute.  The only time you might specify the language
attribute is when you know a specific application sends text in a language
different from your desktop.</para
></callout>
<callout arearefs="pt-selecttalker-5"
><para
>This is a list of the talkers
you currently have configured in &jovie;.  By choosing one of these,
in effect, you are specifying all the attributes of that talker.  If that
talker is still configured when text is sent, you'll get an exact match and that
talker will be chosen.  However, if you later delete the talker, or modify
its settings, it might not be the chosen talker anymore.  The talker
most closely matching the original attributes will be chosen.</para
></callout>
</calloutlist>
</para>

<para
>The <guilabel
>Language</guilabel
> attribute is special because
text will probably be unintelligible if spoken by a talker that
speaks a language different from the text.  Therefore, language
is automatically a "preferred" attribute. If you specify a language,
it will override the chosen language, but if you leave it blank,
the existing language setting will be used.  If the application that sent the
text to &jovie; did not specify a language, &jovie; assigns
the language of the topmost talker you have configured in the
<guilabel
>Talkers</guilabel
> tab.  In other words, the topmost
talker is assumed to speak the language of your desktop.</para>

<tip
><para
>To clear all the attributes in the
<guilabel
>Use closest matching Talker having</guilabel
> section,
first click the <guilabel
>Use default Talker</guilabel
> radio button,
then click the <guilabel
>Use closest matching Talker having</guilabel>
radio button.</para
></tip>

</sect1>
 -->
</chapter>

<!-- ====================================================================== -->
<!-- 
<chapter id="commands">
<title
>Command Reference</title>

<para
>TODO</para>
Context Menu 
Stop/Delete
Pause
Resume
Repeat
Speak Clipbord Contents
Configure
Jovie Handbook
About Jovie
Quit Ctrl+Q

</chapter>
-->

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

<para
>O &jovie; 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 &jovie; através de &DBus;.</para
></listitem>
<listitem
><para
>A API de plugins de Texto-para-Fala do &jovie;, que é usada para adicionar plugins de síntese de voz ao &jovie;, para que o &jovie; funcione com novos motores sintetizadores de voz.</para
></listitem>
</itemizedlist>

<para
>A seção a seguir dá uma breve descrição da API da interface em &DBus; 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="dbus-interface">
<title
>A interface &DBus; do &jovie;</title>

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

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

<para
>Se o &jovie; não estiver já rodando</para>

<para
><userinput
>jovie</userinput
></para>

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

<para
><userinput
>qdbus org.kde.jovie /KSpeech say "<replaceable
>texto</replaceable
>" "<replaceable
>opção</replaceable
>"</userinput
></para>

<para
>onde o <userinput
><replaceable
>texto</replaceable
></userinput
> é o texto a ser sintetizado e a <userinput
><replaceable
>opção</replaceable
></userinput
> é um código de idioma do tipo <userinput
><replaceable
>en</replaceable
></userinput
>, <userinput
><replaceable
>pt_BR</replaceable
></userinput
>, &etc;</para>

<para
>Exemplo.</para>

<para
><userinput
>qdbus org.kde.jovie /KSpeech say "Isto é um teste." "pt_BR"</userinput
></para>

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

<para
><userinput
>qdbus org.kde.jovie /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
>Eu preciso recomeçar tudo. Como eu interrompo por completo o &jovie;?</para>
</question>
<answer>
<para
>Insira os seguintes comandos num &konsole;: <programlisting
>kquitapp jovie
</programlisting>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Como vejo o resultado de depuração do <command
>jovie</command
>?</para>
</question>
<answer>
<para
>Abra uma janela do &konsole;. Depois inicie o <command
>jovie</command
>.</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 &jovie;, 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 &jovie;. Entretanto, poderá conseguir colocar o sintetizador funcionando usando a infraestrutura de comandos do speech-dispatcher.</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 plugin 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. Veja em <xref linkend="filters"/>.</para>
</answer>
</qandaentry>
</qandaset>
</chapter>

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

<chapter id="credits">

<title
>Créditos e licença</title>

<para
>&jovie; </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: Jeremy Whiting <email
>jpwhiting@kde.org</email
> </para>
<para
>Contribuições: <itemizedlist>
<listitem
><para
>Gary Cramblitt <email
>garycramblitt@comcast.net</email
></para>
</listitem>
<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; 2009 Jeremy Whiting <email
>jpwhiting@kde.org</email
> &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 sintetizadores de voz usados pelo &jovie; 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 &jovie;</title>

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

<para
>Comando de instalação no Debian: <command
>apt-get install jovie</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 do código-fonte do &kde;, poderá baixar o pacote &jovie;. O &jovie; encontrar-se na pasta <filename class="directory"
>jovie</filename
>. Você também pode baixar o pacote do código-fonte em <ulink url="http://download.kde.org/stable/"
> http://download.kde.org/stable/</ulink
></para>
</note>

</sect1>

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


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

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

<para>
<itemizedlist>
<listitem
><para
>&kde; versão 4.8 ou posterior.</para
></listitem>
<listitem
><para
>speech-dispatcher versão 0.67 ou posterior.</para
></listitem>
<listitem
><para
>Um sintetizador de voz. São suportados os seguintes sintetizadores e idiomas falados.</para>

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

<row>
<entry
>Espeak</entry>
<entry
>A maioria dos idiomas, verifique <ulink url="http://espeak.sourceforge.net/languages.html"
>http://espeak.sourceforge.net/languages.html</ulink
> para a lista atual de idiomas suportados</entry>
</row>

<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>

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

<para
>Funciona também com qualquer motor sintetizador 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"
>&jovie;</ulink
> para obter mais informações que possam não estar incluídas neste manual. </para
></note>

<note>
<para
>O speech-dispatcher usa uma arquitetura de plugins flexível para os motores sintetizadores de voz. Se você quiser melhorar o &jovie; 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>
</itemizedlist>
</para>

<para
>Componentes opcionais:</para>

<para>
<itemizedlist>

<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>

<para
>Para poder compilar o &jovie;, você precisa ter uma cópia recente (&kde; 4.8 ou superior) dos arquivos de desenvolvimento do &kde;, incluindo o kdelibs e os arquivos de desenvolvimento do speech-dispatcher.</para>

<para
>Se você obteve o código do &jovie; 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 jovie
mkdir build
cd build
cmake ../
make
sudo make install
</programlisting>

</sect1>

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


<sect1 id="configuration">
<title
>Configuração</title>

<para
>Certifique-se que o speech-dispatcher está funcionando com o seu motor sintetizador de voz antes de usar o &jovie;. O shell script spd-conf pode ser usado para isto.</para>

<note
><para
>O &jovie;, no &kde; 4.5, é uma mudança de nome do KTTSD e do 'kttsmgr'. No futuro, o &jovie; será capaz de configurar o 'speech-dispatcher' diretamente, sem usar o 'spd-conf'. </para
></note>

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

</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
-->
