<?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 qdbus "<application
>qdbus</application
>">
  <!ENTITY % imageobjectco.module "INCLUDE">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Spanish "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
>El manual de &ktts;</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
>Santiago</firstname
><surname
>Fernández Sancho</surname
><affiliation
><address
><email
>santi@kde-es.org</email
></address
></affiliation
><contrib
>Traductor</contrib
></othercredit
><othercredit role="translator"
><firstname
>Franco</firstname
><surname
>Mariluis</surname
><affiliation
><address
><email
>fmariluis@gmail.com</email
></address
></affiliation
><contrib
>Traductor</contrib
></othercredit
><othercredit role="translator"
><firstname
>Adrián</firstname
><surname
>Martínez</surname
><affiliation
><address
><email
>sfxgt3@gmail.com</email
></address
></affiliation
><contrib
>Traductor</contrib
></othercredit
> 

</authorgroup>

<copyright>
<year
>2009</year>
<holder
>Jeremy Whiting</holder>
</copyright>
<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
>2009-12-25</date>
<releaseinfo
>0.5.0 (&kde; 4.4)</releaseinfo>

<!-- Abstract about this handbook -->

<abstract>
<para
>&ktts; - el sistema texto a voz de &kde; - es un servicio basado en extensiones que permite a cualquier aplicación &kde; (o no &kde;) hablar utilizando la interfaz &DBus;. </para>

<para
>&ktts; pretende ser una implementación para el API texto a voz de &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
>accesibilidad</keyword>
<keyword
>kdeaccessibility</keyword>
<keyword
>TTS</keyword>
<keyword
>Texto a 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
>Introducción</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
>&ktts; es un subsistema dentro de &kde; para convertir texto a voz (Texto-To-Speech en inglés, o TTS). Proporciona un API común para los programadores de &kde; con el objetivo de dotar a sus aplicaciones de capacidades TTS. Proporciona algunas capacidades interesantes para los usuarios finales.</para>

<para
>Funcionalidades para los usuarios:</para>

<itemizedlist>
<listitem
><para
>Lee el contenido de un archivo de texto.</para
></listitem>
<listitem
><para
>Comunicación hablada de las notificaciones de &kde; (KNotify).</para
></listitem>
<listitem
><para
>Lee todo o parte del texto de una página web en &konqueror;.</para
></listitem>
<listitem
><para
>Lee todo o parte del texto en el editor de texto &kate;, incluyendo aquellas instancias en las que &kate; esté integrado en otra aplicación &kde;.</para
></listitem>
<listitem
><para
>El discurso se dice vía speech-dispatcher, por lo que se puede utilizar cualquier</para
></listitem>
<listitem
><para
>Filtros configurables por el usuario para sustituir las palabras que no se pueden leer, seleccionando el sintetizador de voz y transformando los documentos XHTML/&XML;.</para
></listitem>
</itemizedlist>

<para
>Funcionalidades para los programadores:</para>

<itemizedlist>
<listitem
><para
>Sistema de prioridades para la lectura de salidas por pantallas, avisos y mensajes, mientras que se están reproduciendo textos ordinarios.</para
></listitem>
<listitem
><para
>Permite la generación de voz en la línea de órdenes (o vía shell scripts) utilizando la utilidad &qdbus; .</para
></listitem>
<listitem
><para
>Proporciona una interfaz ligera y fácil de usar para las aplicaciones que necesiten generar salidas de voz.</para
></listitem>
<listitem
><para
>Las aplicaciones no necesitan saber cómo funciona el dispositivo de voz.</para
></listitem>
<listitem
><para
>FUTURO: Proporcionar soporte para leer lenguajes de marcas, tales como Voice&XML;, Sable, &Java; Speech Markup Languaje (JSML), y Speech Markup Meta-language (SMML).</para
></listitem>
<listitem
><para
>FUTURO: Proporcionar soporte limitado para marcas de voz integradas.</para
></listitem>
<listitem
><para
>Asincronismo para impedir bloqueos del sistema.</para
></listitem>
</itemizedlist>

<para
>&ktts; en estos momentos está compuesto por varios programas: <variablelist>

<varlistentry>
<term
><command
>kttsd</command
></term>
<listitem
><para
>el demonio de &kde; de texto a voz, el cuál no es una aplicación &GUI; que proporciona servicios TTS a las aplicaciones vía &DBus;. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>kttsmgr</command
></term>
<listitem
><para
>una aplicación &GUI; para configurar y controlar kttsd. kttsmgr se coloca en la bandeja del sistema. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>libkhtmlkttsdplugin</command
></term>
<listitem
><para
>Una extensión para el navegador web &konqueror; que permitirá escuchar todo o una parte del texto de una página web. </para
></listitem
></varlistentry>

<varlistentry>
<term
><command
>ktexteditor_kttsd</command
></term>
<listitem
><para
>Una extensión para el editor de texto &kate; que le permirá escuchar todo o una parte de un archivo de texto. </para
></listitem
></varlistentry>

</variablelist>
</para>

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

<sect1 id="support">
<title
>Soporte</title>
<para
>Además de la base de datos del Bugzilla de &kde; ( <ulink url="http://bugs.kde.org/"
>http://bugs.kde.org/</ulink
> ), es posible seguir las las discusiones actuales sobre &ktts; a través de la lista de correo de kde-accessibility. Suscríbase a <ulink url="https://mail.kde.org/mailman/listinfo/kde-accessibility"
> https://mail.kde.org/mailman/listinfo/kde-accesibility</ulink
>. Los desarrolladores también puede utilizar el IRC (irc.kde.org, canal #kde-accessibility). </para>
</sect1>

</chapter>

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

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

<para>
<warning
><para
>Antes de que pueda utilizar &ktts; deberá instalar speech-dispatcher y asegurarse de que funciona. Véa <xref linkend="installation"/>. </para
></warning
></para>

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


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

<para
>Para iniciar el sistema &ktts;, teclee la siguiente orden en una &konsole;. </para>

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

<para
>o pulse sobre kttsmgr en el menú &kde;.</para>

<para
>Si es la primera vez que ejecuta <command
>kttsmgr</command
>, o si no ha configurado todavía ningún lector, aparecerá la ventana <guilabel
>Lectores</guilabel
>. Véa <xref linkend="configure-talkers"/>. Si ya ha configurado, al menos un lector, aparecerá la ventana <guilabel
>General</guilabel
>. Véa <xref linkend="general"/>.</para>

</sect1>

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


<sect1 id="configure-talkers">
<title
>Configurando los filtros</title>

<para
>La mayor parte de los sintetizadores de texto a voz (TTS) ofrecen múltiples idiomas y voces y pueden ofrecer múltiples géneros, volúmenes y tonos. Podrá configurar más de una instancia del sintetizador. Cada combinación de idioma, sintetizador, voz, género, volumen, y tono es lo que se llama un lector. Debería configurar al menos un lector antes de usar &ktts;, de otra forma speech-dispatcher utilizará la voz por defecto.</para>

<note
><para
>Tener múltiples lectores para el mismo sintetizador es equivalente a tener múltiples colas de impresión para la misma impresora física.</para
></note>

<para
>Cuando pulse sobre la pestaña <guilabel
>Lectores</guilabel
> en <command
>kttsmgr</command
>, aparecerá la ventana <guilabel
>Lectores</guilabel
>. Esta ventana también aparecerá automáticamente si inicia <command
>kttsmgr</command
> y todavía no ha configurado ningún lector.</para>

<para>
<screenshot>
<screeninfo
>El administrador texto a voz de &kde; (pestaña Lectores).</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
>El administrador texto a voz de &kde; (pestaña Lectores)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-talker-1"
><para
>Pulse para añadir un nuevo lector.</para
></callout>
<callout arearefs="pt-talker-2"
><para
>Aquí aparecerán listados todos los <guilabel
>lectores</guilabel
>. Los <guilabel
>lectores</guilabel
> con prioridad más alta se encuentran al principio. El que esté arriba del todo será el utilizado para la lectura en el caso de que una aplicación no especifique lector.</para
></callout>
<callout arearefs="pt-talker-3"
><para
>Pulse sobre un lector de la lista para marcarlo y a continuación pulse sobre este botón para eliminarlo.</para
></callout>
<callout arearefs="pt-talker-4"
><para
>Pulse sobre el lector en la lista para marcarlo y a continuación pulse sobre este botón para cambiar su configuración. Véa a continuación.</para
></callout>
<callout arearefs="pt-talker-5"
><para
>Pulse sobre el lector para marcarlo y a continuación pulse sobre este botón para moverlo un lugar hacia abajo en la lista. Mientras más abajo esté el lector en la lista, menor será su prioridad.</para
></callout>
<callout arearefs="pt-talker-6"
><para
>Pulse sobre este botón para aplicar los cambios efectuados en el sistema &ktts; que se esté ejecutando.</para
></callout>
</calloutlist>
</para>

<para
>Cuando pulse el botón <guilabel
>Añadir</guilabel
>, aparecerá la ventana <guilabel
>Añadir lector</guilabel
>.</para>

<para>
	<screenshot>
		<screeninfo
>Ventana de Añadir lector.</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
>Ventana de Añadir lector</phrase>
			</textobject>
		</mediaobjectco>
	</screenshot>
</para>

<para>
    <calloutlist>
        <callout arearefs="pt-addtalker-1">
            <para
>Usted debería darle un nombre al nuevo lector, puede ser cualquier cosa. </para>
        </callout>
        <callout arearefs="pt-addtalker-2">
            <para
>Elija el idioma y el sintetizador aquí.</para
></callout>
        <callout arearefs="pt-addtalker-3">
            <para
>Elija el tipo de voz aquí, allí hay voces de tres hombres, tres mujeres, un chico y una chica para elegir. </para>
        </callout>
        <callout arearefs="pt-addtalker-4">
            <para
>Establecer cualquier parámetros personalizados de voz aquí.</para
></callout>
        <callout arearefs="pt-addtalker-5">
            <para
>Cuando pulse aquí, su nuevo lector aparecerá en la lista en la ventana <guilabel
>Lectores</guilabel
>. Haga clic en el botón <guibutton
>Editar</guibutton
> para editar la configuración del lector.</para
></callout>
    </calloutlist>
</para>

<para
>Usted está casi preparado para comenzar a utilizar &ktts;. Ahora vuelva a la pestaña <guilabel
>General</guilabel
> y marque la casilla <guilabel
>Activar el sistema texto a voz (KTTSD)</guilabel
>. Esto iniciará el demonio TTS de &kde;. Véa <xref linkend="general"/>. Ahora puede comenzar a utilizar &ktts; para hablar texto. Haga clic sobre la pestaña <guilabel
>Trabajos</guilabel
> para crear y administrar trabajos de textos. Véa <xref linkend="jobmgr"/>. </para>

</sect1>

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


<sect1 id="general">
<title
>Iniciando KTTSD y configurando las opciones generales</title>

<para
>Una vez que haya configurado, al menos un lector, puede iniciar el sistema texto a voz de &kde;. Pulse en la pestaña <guilabel
>General</guilabel
>. Aparecerá la pestaña <guilabel
>General</guilabel
>. Podrá modificar algunas opciones generales en esta pantalla. </para>

<para>
	<screenshot>
		<screeninfo
>El administrador texto a voz de &kde; (pestaña General).</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-5" coords="1 1"/>
                    <area id="pt-gen-6" coords="1 1"/>
				</areaspec>
				<imageobject>
					<imagedata fileref="general.png" format="PNG"/>
				</imageobject>
			</imageobjectco>
			<textobject>
				<phrase
>El administrador texto a voz de &kde; (pestaña General)</phrase>
			</textobject>
		</mediaobjectco>
	</screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-gen-1"
><para
>Marque esta casilla para activar el sistema &ktts;. Esto inicia el demonio TTS de &kde; (KTTSD). Si KTTSD se inicia correctamente, aparecerá la pestaña <guilabel
>Trabajos</guilabel
>. Una vez arrancado KTTSD, puede comenzar a crear y leer textos. Véa <xref linkend="jobmgr"/>. Desmarcar esta casilla parará KTTSD y desactivará el sistema TTS de &kde;. </para
></callout>
<callout arearefs="pt-gen-2"
><para
>Cuando se marque esta casilla, aparecerá un icono en la bandeja del sistema siempre que <command
>kttsmgr</command
> se esté ejecutando. En este modo, pulsando <guilabel
>Aceptar</guilabel
> o <guilabel
>Cancelar</guilabel
> no se saldrá de <command
>kttsmgr</command
>. Todo lo contrario, la pantalla desaparecerá pero <command
>kttsmgr</command
> seguirá ejecutándose desde la bandeja del sistema. Pulse sobre el icono para restablecer la pantalla. Para salir de <command
>kttsmgr</command
>, pulse con el botón derecho en el icono de la bandeja del sistema y seleccione <guilabel
>Salir</guilabel
>. En caso de que esté desmarcado no aparecerá ningún icono en la bandeja del sistema. Pulsando <guilabel
>Aceptar</guilabel
> o <guilabel
>Cancelar</guilabel
> se saldrá de <command
>kttsmgr</command
>. <note
><para
>Al salir de <command
>kttsmgr</command
>, &ktts; permanece ejecutándose si la casilla <guilabel
>Activar sistema texto a voz</guilabel
> está marcada.</para
></note>
<note
><para
>Esta opción no tiene efecto hasta la siguiente vez que se inicie <command
>kttsmgr</command
>.</para
></note>
<note
><para
>Esta opción no tendrá efectos mientras se esté ejecutando <command
>kttsmgr</command
> en el &kcontrol;.</para
></note>
</para
></callout>
<callout arearefs="pt-gen-5"
><para
>Cuando esta casilla está marcada, y <command
>kttsmgr</command
> aparezca automáticamente en la bandeja del sistema al leer, deseparecerá automáticamente cuando la lectura haya finalizado.</para
></callout>
<callout arearefs="pt-gen-6"
><para
>Asegúrese de pulsar aquí para guardar su configuración.</para
></callout>
</calloutlist>
</para>

</sect1>

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


<sect1 id="jobmgr">
<title
>Administrar trabajos de texto</title>

<para
>Cuando pulse la pestaña <guilabel
>Trabajos</guilabel
> en <command
>kttsmgr</command
>, aparecerá la pantalla <guilabel
>Trabajos</guilabel
>.</para>

<screenshot>
<screeninfo
>El administrador texto a voz de &kde; (pestaña Trabajos).</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
>El administrador texto a voz de &kde; (pestaña Trabajos)</phrase>
		</textobject>
	</mediaobjectco>
</screenshot>

<para>
<calloutlist>
<callout arearefs="pt-jobmgr-1"
><para
>Los controles de aquí, le permiten cambiar atributos de la voz actualmente en uso.</para
></callout>
<callout arearefs="pt-jobmgr-2"
><para
>Los botones en esta fila le permitirán parar, cancelar, pausar y continuar el trabajo de texto actual.</para
></callout>
<callout arearefs="pt-jobmgr-3"
><para
>Los botones de esta fila le permitirán escuchar el texto que se encuentren en ese momento en el portapapeles de &kde;, o abrir un archivo de texto para leerlo. También puede cambiar el lector por un trabajo.</para
></callout>
<callout arearefs="pt-jobmgr-4"
><para
>Cuando haga clic en <guibutton
>OK</guibutton
> o en <guibutton
>Aplicar</guibutton
> todos los cambios producidos sobre las preferencias en otras pantallas se aplicarán (si hay alguno).</para
></callout>
</calloutlist>
</para>

<note
><para
>La pestaña <guilabel
>Trabajos</guilabel
> únicamente aparecerá cuando KTTSD se esté ejecutando. Si no ve la pestaña <guilabel
>Trabajos</guilabel
>, pinche en la pestaña <guilabel
>General</guilabel
> y marque la casilla <guilabel
>Activar texto a voz (KTTSD)</guilabel
>.</para>
</note>

</sect1>

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


<sect1 id="web">
<title
>Leer texto de las páginas web</title>

<para
>Mientras se esté ejecutando el navegador web de &kde; &konqueror;, podrá leer el texto que se muestre en la página web. En primer lugar debe asegurarse de que &ktts; se esté ejecutando. Resalte el texto que desee que sea leído y seleccione <menuchoice
> <guisubmenu
>Herramientas</guisubmenu
> <guisubmenu
>Leer texto</guisubmenu
> </menuchoice
> en el menú principal. <action
>Después de un instante se leerá el texto resaltado.</action
> </para>

<tip
><para
>Es una buena idea resaltar en la página web el texto que desea escuchar. Puede saltarse este paso, pero entonces escuchará muchas de las cabeceras &HTML; así como otras etiquetas invisibles.</para
></tip>

</sect1>

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


<sect1 id="kate">
<title
>Leer texto en el editor de texto &kate;</title>

<para
>Mientras se esté ejecutando el editor de texto avanzado de &kde; (&kate;), podrá leer el texto que se muestre. En primer lugar debe asegurarse que &ktts; se esté ejecutando. Resalte el texto que desee que sea leído y seleccione <menuchoice
> <guisubmenu
>Herramientas</guisubmenu
> <guisubmenu
>Leer texto</guisubmenu
> </menuchoice
> en el menú principal. <action
>Después de un instante se leerá el texto resaltado.</action
> </para>

<tip
><para
>No es necesario que resalte ningún texto, pero en este caso se leerá el archivo completo.</para
></tip>

<tip
><para
>Esto también funcionará cuando &kate; esté integrado en otra aplicación, como &konqueror; o &quanta;.</para
></tip>

</sect1>

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

<sect1 id="knotify">
<title
>Leer notificaciones (KNotify)</title>

<para
>KNotify es el subsistema de notificación de &kde;, que le alerta de los eventos con los que se haya configurado el sistema &kde;. Puede configurar &ktts; para leer los textos de estas notificaciones.</para>

<para
>Por ejemplo, &konversation;, una aplicación IRC de &kde;, permite configurar una amplia variedad de notificaciones. Puede pedir a &konversation; que le avise cuando un mensaje que incluya su apodo aparezca en un canal de IRC. Junto con &ktts; puede hacer que &kde; léa el texto del mensaje del IRC que se dirija a usted.</para>

<para
>En general, si una aplicación &kde; soporta KNotify, tendrá un elemento de menú llamado <guilabel
>Notificaciones</guilabel
> dentro del menú <guilabel
>Preferencias</guilabel
> de la aplicación. Las configuraciones específicas de cada aplicación con KNotify varían de una aplicación a otra.</para>

<tip
><para
>Los filtros que reemplazan cadenas son una buena forma de aclarar los mensajes que envían las aplicaciones ya sean impronunciables o ilegibles en &ktts;. El archivo <filename
>kmail.xml</filename
>, que se incorpora en &ktts;, es un buen ejemplo. Elimina las etiquetas <command
>br</command
> y <command
>b</command
> de los mensajes de las notificaciones de &kmail; y también elimina la frase <command
>/local/inbox/</command
>, ya que se asume que ésto es correcto en la mayoría de los casos. Véa <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, &ktts; 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
&ktts;.
</para>

</sect1
>-->

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

<sect1 id="filters">
<title
>Filtros (Avanzados)</title>

<para
>Los filtros son características avanzadas de &ktts;. Para las operaciones básicas de &ktts; no son necesarios.</para>

<para
>Los filtros se utilizan para preprocesar el texto antes de que éste sea enviado a speech-dispatcher. Son muy útiles para mejorar la voz, sustituyendo palabras mal expresadas o abreviaturas, elegiendo el lenguaje apropiado y el lector para realizar la lectura, o trabajar con ciertas limitaciones de los sintetizadores de voz y sus voces.</para>

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

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

<para
>Para entender cómo usar los filtros, es preciso en primer lugar entender cómo se procesa el texto por parte de speech-dispatcher. El texto leído por &ktts; es de cuatro tipos posibles.</para>

<para>
<itemizedlist>
<listitem
><para
>Lectura de las salidas de la pantalla.</para
></listitem>
<listitem
><para
>Avisos.</para
></listitem>
<listitem
><para
>Mensajes.</para
></listitem>
<listitem
><para
>Trabajos de texto.</para
></listitem>
</itemizedlist>
</para>

<para
>El tipo se determina por la aplicación que envía el texto a &ktts;.</para>

<para
>La lectura de las salidas de la pantalla tienen la máxima prioridad. Están reservadas para la utilización por parte de aplicaciones que leen la pantalla. La lectura de las salidas de la pantalla detendrá todos los demás mensajes. Una vez que la lectura de la salida de la pantalla ha finalizado, se continuará con los trabajos que se estaba leyendo. </para>

<para
>Los avisos son los siguientes en cuanto a prioridad. Están reservados para mensajes de alta prioridad, tales como «La CPU está sobrecalentada». Un aviso detendrá tanto los mensajes como el texto normal. Una vez que se haya leído el aviso, se continuará con los trabajos que se estaba leyendo.</para>

<para
>Los mensajes tienen el siguiente nivel de prioridad. Un mensaje parará los trabajos de texto normal. &kmouth; es un ejemplo de una aplicación que utiliza mensajes. Por ejemplo, mientras se está leyendo un texto largo en una página web, &kmouth; puede ser utilizado para saludar a alguien que camina por la habitación. Las notificaciones de &kde; también son mensajes (véa <xref linkend="knotify"/>).</para>

<para
>El resto son trabajos de texto ordinarios. Cualquier trabajo que inicie desde la pestaña <guilabel
>Trabajos</guilabel
> es un trabajo de texto. KSayit es un ejemplo de una aplicación que utiliza los trabajos de texto. Los trabajos de texto están pensados para largas lecturas que no sean urgentes.</para>

<para
>Todos los tipos de trabajo se encolan, excepto la lectura de las salidas de la pantalla. Si se envía una lectura de la salida de la pantalla desde una aplicación mientras &ktts; está ocupado con otra lectura de salida de la pantalla, el mensaje que se está leyendo se para y se descarta.</para>

</sect2>

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

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

<para
>Lo primero que debería conocer sobre los filtros es que nunca se aplican a las lecturas de las salidas de pantalla. Se aplican a los avisos, mensajes, y trabajos de texto, y también a las notificaciones de &kde; (KNotify).</para>

<para
>Los filtros procesan el texto y lo pasan al siguiente filtro. En estos momentos existen tres tipos de filtros. </para>

<para>
<itemizedlist>
<listitem
><para
>Filtros que reemplazan cadenas.</para
></listitem>
<listitem
><para
>Filtros que transforman &XML;</para
></listitem>
<listitem
><para
>Filtros que seleccionan el lector.</para
></listitem>
</itemizedlist>
</para>

<note
><para
>Los filtros están implementados utilizando la arquitectura de extensiones. En el futuro, es posible que puedan existir más tipos de filtros.</para
></note>

<para
>Los filtros que reemplazan cadenas sustituyen partes del texto con otro texto. Los trozos de texto reemplazados pueden coincidir con palabras o con expresiones regulares. &ktts; tiene incorporados filtros predeterminados para reemplazar cadenas que permiten leer abreviaturas, leer emoticonos de los chat, como «:-)», o reformatear mensajes de notificación desde &konversation; o &kmail; a un formato más inteligible. </para>

<para
>Los conversores de &XML; utilizan un Lenguaje de estilo &XML; - Utiliza un archivo (XSLT) para convertir &XML; de un formato a otro. &ktts; incluye un par de archivos XSLT para convertir &XHTML; en SSML. </para>

<para
>El selector de lector le permite redirigir los trabajos hacia un lector determinado basado en el contenido del texto, o en la aplicación que lo envía a &ktts;. Por ejemplo, si ha configurado un lector con voz de mujer en la pestaña <guilabel
>Lectores</guilabel
>, puede dirigir el texto proveniente de KSayIt a dicho lector. Véa <xref linkend="configure-talkers"/>. </para>

<para
>Cada uno de estos tipos de filtros tiene reglas configurables que indican cuándo han de ser aplicados al texto que se va a leer. Si el filtro determina que no debe aplicarse el texto será pasado al siguiente filtro sin ninguna alteración.</para>

<para
>Cuando un trabajo de texto, mensaje, advertencia, o mensaje de notificación de &kde; es enviado a &ktts;, pasará por los filtros habilitados que haya configurado en la pantalla de debajo. El orden es de arriba hacia abajo. </para>

</sect2>

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

<sect2 id="configure-filters">
<title
>Configurar los filtros</title>

<para
>Para utilizar los filtros, pulse sobre la pestaña <guilabel
>Filtros</guilabel
> en <command
>kttsmgr</command
>.</para>

<para>
    <screenshot>
        <screeninfo
>El administrador texto a voz de &kde; (pestaña 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
>El administrador texto a voz de &kde; (pestaña filtros)</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-filters-1"
><para
>Esta es la lista de los filtros normales que están configurados. Si está desmarcado, el filtro estará inactivo y no será tenido en cuenta. Los filtros se aplicarán en el orden que se haya especificado aquí, de arriba hacia abajo.</para
></callout>
<callout arearefs="pt-filters-2"
><para
>Pulse aquí para añadir un nuevo filtro. Se le preguntará el tipo de filtro que desea añadir. Después de elegir el tipo, véa cómo configurarlo en el apartado siguiente.</para
></callout>
<callout arearefs="pt-filters-3"
><para
>Pulse aquí para eliminar un filtro.</para
></callout>
<callout arearefs="pt-filters-4"
><para
>Pulse aquí para cambiar la configuración de un filtro. Véa cómo configurarlo en el apartado siguiente.</para
></callout>
<callout arearefs="pt-filters-5"
><para
>Pulse estos botones para mover un filtro hacia arriba o hacia abajo en la lista.</para
></callout>
<callout arearefs="pt-filters-6"
><para
>Asegúrese de pulsar aquí, ya que sino las configuraciones no tendrán efecto.</para
></callout>
</calloutlist>
</para>

</sect2>

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

<sect2 id="stringreplacer">
<title
>Configurar los filtros que reemplazan cadenas</title>

<para
>Podrá configurar los filtros que reemplazan cadenas proporcionando una lista de palabras o expresiones regulares con las que deben coincidir. Cuando se encuentran estas palabras o expresiones regulares en el texto, cada una de ellas es reemplazada por una cadena sustituta que haya proporcionado.</para>

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

<para>
<calloutlist>
<callout arearefs="pt-stringreplacer-1"
><para
>Introduzca un nombre para su filtro. Utilice cualquier nombre que desee y que le diferencie de los otros filtros.</para
></callout>
<callout arearefs="pt-stringreplacer-2"
><para
>Esta es la lista de palabras y expresiones regulares. El filtro busca coincidencias con cada una de las cadenas de la columna <guilabel
>Coincidir</guilabel
>, reemplazando las cadenas coincidentes con las de la columna <guilabel
>Reemplazar con</guilabel
>. La lista se procesa en el mismo orden en que se muestra, de arriba hacia abajo.</para
></callout>
<callout arearefs="pt-stringreplacer-3"
><para
>Pulse aquí para añadir otra palabra o expresión regular a la lista.</para
></callout>
<callout arearefs="pt-stringreplacer-4"
><para
>Pulse aquí para mover hacia arriba o hacia abajo en la lista la palabra o expresión regular resaltada.</para
></callout>
<callout arearefs="pt-stringreplacer-5"
><para
>Pulse aquí para cambiar una palabra o expresión regular existente en la lista.</para
></callout>
<callout arearefs="pt-stringreplacer-6"
><para
>Pulse aquí para eliminar de la lista la palabra o expresión regular resaltada.</para
></callout>
<callout arearefs="pt-stringreplacer-7"
><para
>Utilice estos botones para cargar una lista de palabras o expresiones regulares de un archivo, guardar la lista actual a un archivo, o borrar la lista completa. Cuando se carga un archivo, los elementos existentes en el archivo se añaden a los existentes en la lista.</para
></callout>
<callout arearefs="pt-stringreplacer-8"
><para
>Sino está vacío, el filtro se aplicará únicamente si el idioma de los lectores del trabajo coinciden con el idioma que introduzca aquí. Pulse el botón para mostrar una lista de idiomas. Puede seleccionar más de un idioma, pulsando <keycap
>&Ctrl;</keycap
> mientras hace clic.</para
></callout>
<callout arearefs="pt-stringreplacer-9"
><para
>Sino está vacío, se aplicará el filtro únicamente al texto proveniente de una de las aplicaciones listadas. Puede introducir más de una aplicación separándolas por comas. Ejemplo: <command
><userinput
>konversation,kmail</userinput
></command
></para>
<tip
><para
>Puede averiguar el <guilabel
>ID de la aplicación</guilabel
> de los programas en ejecución utilizando el programa <command
>&qdbus;</command
>. No debería dejar fuera los números de &DBus;. Por ejemplo, si &qdbus; muestra un ID de aplicación como <command
>kopete-3432</command
>, sólo deberá introducir <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
</calloutlist>
</para>

<para
>El filtro de reemplazo de cadena únicamente se aplicará al texto si no hay ninguna condición vacía en el cuadro <guilabel
>Aplicar este filtro cuando</guilabel
>. Si todas las casillas están vacías, el filtro se aplicará a todo el texto.</para>

<para
>Cuando coinciden las palabras, el filtro que reemplaza las cadenas utiliza internamente una expresión regular del tipo <command
>\s<userinput
>palabra</userinput
>\s</command
>. En otras palabras, la palabra debe tener límites (espacios) por ambos lados.</para>

<para
>Una discusión sobre cómo escribir expresiones regulares está fuera del alcance de este manual. Si tiene instalado el editor de expresiones regulares de &kde;, existe un botón disponible en las pantallas <guilabel
>Añadir</guilabel
> o <guilabel
>Editar</guilabel
> que le ayudará a construir expresiones regulares. El editor de expresiones regulares de &kde; forma parte del paquete <command
>kdeutils</command
>.</para>

<para
>&ktts; incluye unos cuantos archivos de listas de palabras, incluyendo una lista de emoticonos, como «:-)», algunas abreviaturas utilizadas habitualmente en el IRC o en aplicaciones de mensajería instantánea, y una lista de otras abreviaturas. También existe una lista de caracteres especiales que con la versión actual de Festival en polaco no se pueden manejar. Si desarrolla listas de palabras para sí mismo, utilice el botón <guilabel
>Guardar</guilabel
> para guardarlas en un archivo y enviarlas al equipo de &ktts; para su inclusión en la siguiente versión.</para>

</sect2>

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

<sect2 id="xmltransformer">
<title
>Configurando los filtros que transforman &XML;</title>

<para
>Los filtros que transforman &XML; utilizan archivos XSLT para cambiar &XML; de un formato a otro. XSLT, el lenguaje de transformación de estilo &XML;, es un lenguaje estándar de la W3C para interpretar las transformaciones. Únicamente se pueden utilizar con el formato &XML; correctamente formado. Deberá tener la utilidad <command
>xsltproc</command
> instalada.</para>

<para>
    <screenshot>
        <screeninfo
>Transformador &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 &XML;</phrase>
            </textobject>
        </mediaobjectco>
    </screenshot>
</para>

<para>
<calloutlist>
<callout arearefs="pt-xmltransformer-1"
><para
>Introduzca un nombre para su filtro. Utilice cualquier nombre que desee y que le diferencie de los otros filtros.</para
></callout>
<callout arearefs="pt-xmltransformer-2"
><para
>Introduzca la ruta completa de un archivo XSLT existente, que lleve a cabo la transformación.</para
></callout>
<callout arearefs="pt-xmltransformer-3"
><para
>Especifique la ruta de la utilidad <command
>xsltproc</command
>. Si xsltproc está en su variable de entorno PATH, únicamente introduzca <command
><userinput
>xsltproc</userinput
></command
>.</para
></callout>
<callout arearefs="pt-xmltransformer-4"
><para
>Si no está vacío, el filtro se aplicará únicamente si el &XML; tiene al comienzo del mismo la especificación <command
>&lt;![CDATA[&lt;!DOCTYPE]]</command
> con la cadena introducida. Esto distingue una formato &XML; de otro. Por ejemplo, <command
><userinput
>html</userinput
></command
> en el cuadro <guilabel
>DOCTYPE</guilabel
> habrá de coincidir con <command
>&lt;![CDATA[&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>]]&gt;</command
>. </para
></callout>
<callout arearefs="pt-xmltransformer-5"
><para
>Sino está vacío, se aplicará el filtro únicamente al texto proveniente de una de las aplicaciones listadas. Puede introducir más de una aplicación separándolas por comas. Ejemplo: <command
><userinput
>konversation,kmail</userinput
></command
></para>
<tip
><para
>Puede averiguar el <guilabel
>ID de la aplicación</guilabel
> de los programas en ejecución utilizando el programa <command
>&qdbus;</command
>. No debería dejar fuera los números de &DBus;. Por ejemplo, si &qdbus; muestra un ID de aplicación como <command
>kopete-3432</command
>, sólo deberá introducir <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
</calloutlist>
</para>

<para
>El filtro que transforma el &XML; únicamente se aplicará al texto si ninguna de las condiciones que se encuentran en el cuadro <guilabel
>Aplicar este filtro cuando</guilabel
> está vacía. Si están vacíos todos los cuadros se aplicará a todo el texto. Sin embargo, debería rellenar al menos un cuadro, ya que algunos trabajos de texto pueden no estar en formato &XML;.</para>

</sect2>

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

<sect2 id="talkerchooser">
<title
>Configurar los filtros que seleccionan el lector</title>

<para
>Los filtros que seleccionan el lector se utilizan para dirigir el texto al lector configurado en la pestaña <guilabel
>Lectores</guilabel
>, o al lector que tenga atributos específicos. Por ejemplo, puede especificar que el texto que provenga de <command
>kmail</command
> sea leído utilizando un lector configurado con una voz de mujer. Véa <xref linkend="configure-talkers"/>.</para>

<para
>Antes de que &ktts; comience a enviar texto a cualquiera de los filtros, elegirá un lector para leer el texto. El lector elegido se basa en los atributos específicados para el lector por parte de la aplicación que ha de enviar texto a &ktts; y por los atributos especificados por los lectores que se hayan configurado en la pestaña <guilabel
>Lectores</guilabel
>. El filtro que selecciona el lector permite modificar el lector escogido con los criterios anteriores. </para>

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

<para>
<calloutlist>
<callout arearefs="pt-talkerchooser-1"
><para
>Introduzca un nombre para su filtro. Utilice cualquier nombre que desee y que le diferencie de los otros filtros.</para
></callout>
<callout arearefs="pt-talkerchooser-2"
><para
>Si no está vacío, el filtro se aplicará únicamente si el texto contiene la expresión regular introducida. Si está instalado, pulse el botón ver para iniciar el editor de expresiones regulares de &kde; para que le ayude a introducir la expresión regular.</para>
<tip
><para
>Para mejorar la ejecución, intente «anclar» la expresión regular al inicio de la cadena. En otras palabras, inicie su expresión regular con <command
><userinput
>&lt;![CDATA[^]]&gt;</userinput
></command
>.</para
></tip
></callout>
<callout arearefs="pt-talkerchooser-3"
><para
>Sino está vacío, se aplicará el filtro únicamente al texto proveniente de una de las aplicaciones listadas. Puede introducir más de una aplicación separándolas por comas. Ejemplo: <command
><userinput
>konversation,kmail</userinput
></command
></para>
<tip
><para
>Puede averiguar el <guilabel
>ID de la aplicación</guilabel
> de los programas en ejecución utilizando el programa <command
>&qdbus;</command
>. No debería dejar fuera los números de &DBus;. Por ejemplo, si &qdbus; muestra un ID de aplicación como <command
>kopete-3432</command
>, sólo deberá introducir <command
><userinput
>kopete</userinput
></command
>.</para
></tip
></callout>
<callout arearefs="pt-talkerchooser-4"
><para
>Especifique los atributos de los lectores que prefiera para leer el texto aquí. Si el texto contiene condiciones sobre el filtrado, se elegirá el lector con los atributos lo más parecido posible a los que se hayan especificado. Haga clic sobre el botón de la derecha para mostrar la pantalla <guilabel
>Seleccionar lector</guilabel
>. </para
></callout>
<callout arearefs="pt-talkerchooser-5"
><para
>Utilice estos botones para guardar sus preferencias al seleccionar lector, cargar las preferencias guardadas en un archivo, o borrar todas las preferencias.</para
></callout>
</calloutlist>
</para>

<para
>El filtro que selecciona el lector únicamente se aplicará al texto si no hay ninguna condición vacía dentro del cuadro <guilabel
>Aplicar este filtro cuando</guilabel
>. Debería al menos rellenar uno de los cuadros.</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 &ktts;, they may specify the attributes of a desired
talker to speak the text.  &ktts; 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, &ktts; 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,
&ktts; will pick that specific talker.  If you delete or modify the
talker's settings, then &ktts; 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 &ktts;.  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 &ktts; did not specify a language, &ktts; 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
>Referencia de órdenes</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
>PENDIENTE</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
>Guía para desarrolladores de &ktts;</title>

<para
>&ktts; tiene dos interfaces para programadores de aplicaciones (APIs): </para>

<itemizedlist>
<listitem
><para
>El API Texto a voz de &kde;, que es utilizado por los programadores de aplicaciones que pretenden dar a sus aplicaciones capacidades TTS. Estas aplicaciones se comunican con KTTSD vía &DCOP;.</para
></listitem>
<listitem
><para
>El API de extensiones de KTTSD, que se utiliza para añadir extensiones de síntesis de voz a KTTSD, por tanto, &ktts; podrá trabajar con un nuevo motor de síntesis de voz.</para
></listitem>
</itemizedlist>

<para
>La siguiente sección da una pequeña descripción de la interfaz de &DBus; texto a voz de &kde; para API. La documentación completa para ambas APIs está disponible en línea en el sitio web de <ulink url="http://accessibility.kde.org/developer/kttsd/"
> &kde; Accessibility</ulink
> (http://accessibility.kde.org). </para>


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


<sect1 id="dbus-interface">
<title
>La interfaz &DBus; de &ktts;</title>

<para
>Las aplicaciones comunican las peticiones de los servicios texto a voz a través de la interfaz &DBus; para &kde; para programar el objeto <command
>kttsd</command
> <command
>KSpeech</command
>. </para>

<para
>Escriba las siguientes órdenes en una &konsole;.</para>

<para
>Si KTTSD no se está ejecutando todavía:</para>

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

<para
>Para poner en la cola el trabajo de texto que se vaya a leer:</para>

<para
><userinput
>qdbus org.kde.kttsd /KSpeech say "<replaceable
>texto</replaceable
>" "<replaceable
>opciones</replaceable
>"</userinput
></para>

<para
>donde <userinput
><replaceable
>texto</replaceable
></userinput
> es el texto que va a ser reproducido, y <userinput
><replaceable
>opciones</replaceable
></userinput
> es un código de idioma, como <userinput
><replaceable
>en</replaceable
></userinput
>, <userinput
><replaceable
>cy</replaceable
></userinput
>, &etc;</para>

<para
>Ejemplo.</para>

<para
><userinput
>qdbus org.kde.kttsd /KSpeech say "Esto es una prueba." "es"</userinput
></para>

<para
>Existen algunas órdenes más que se pueden enviar. Para ver una lista de las órdenes posibles:</para>

<para
><userinput
>qdbus org.kde.kttsd /KSpeech</userinput
></para>

<para
>o léa el <ulink url="http://accessibility.kde.org/developer/kttsd/"
>API texto a voz de &kde;</ulink
> en línea.</para>

</sect1>

</chapter>

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

<chapter id="faq">
<title
>Preguntas y respuestas</title>
&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
<qandaentry>
<question>
<para
>¿Cómo puedo hacer que &ktts; finalice del todo?</para>
</question>
<answer>
<para
>Introduzca las siguientes órdenes en &konsole;: <programlisting
>killall kttsd
killall kttsmgr
</programlisting>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>¿Cómo puedo ver la salida de depuración de <command
>kttsd</command
>?</para>
</question>
<answer>
<para
>Abra dos ventanas de &konsole;. Primero inicie <command
>kttsd</command
> en una ventana, a continuación inicie <command
>kttsmgr</command
> en la segunda.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Ninguno de los sintetizadores de voz soporta el idioma que necesito. ¿Dónde puedo conseguir un sintetizador para mi idioma?</para>
</question>
<answer>
<para
>Google(tm) es su amigo. Este <ulink url="http://tcts.fpms.ac.be/synthesis/mbrola/mbrtts.html"
>enlace</ulink
> también puede ayudarle. Si encuentra un motor de síntesis libre que soporte su idioma deseado, y quiere añadir soporte para él en &ktts;, por favor, contacte con el equipo de desarrollo. Los motores de código abierto son especialmente bienvenidos. Si conoce algún sintetizador comercial, quizá pueda persuadir al vendedor de regalar una copia libre al equipo de desarrollo de &ktts;. Por ahora, debería ser capaz de conseguir que funcione el sintetizador utilizando el comando speech-dispatchers.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Tengo configurado el filtro conversor &HTML; &XML;, pero las páginas web no se leen al utilizar la extensión Festival.</para>
</question>
<answer>
<para
>Debido a un fallo en Festival 1.95 beta, deberá instalar la voz <command
>rab_diphone</command
> (hombre británico) para que SABLE funcione, incluso aunque no esté utilizando esta voz para leer las páginas web. También deberá asegurarse de que la utilidad <command
>xsltproc</command
> esté instalada y su ruta esté incluida en la variable de entorno PATH.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Algunos caracteres de puntuación pueden producir errores en el sintetizador, haciendo que se salte frases completas, o que pronuncie un verdadero galimatías. ¿Qué puedo hacer?</para>
</question>
<answer>
<para
>En primer lugar, asegúrese de que la opción <guilabel
>Codificación de caracteres</guilabel
> en el diálogo de configuración del lector tenga seleccionado el idioma adecuado. Si algunas palabras o caracteres provocan problemas puede ayudarle un filtro que reemplace cadenas. Véa <xref linkend="filters"/>.</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 y Licencia</title>

<para
>&ktts; </para>
<para
>Derechos de autor del programa. &copy; 2002. Jos&#233; Pablo Ezequiel «Pupeno» Fern&#225;ndez <email
>pupeno@kde.org</email
>. </para>
<para
>Mantenedor actual: Jeremy Whiting <email
>jpwhiting@kde.org</email
> </para>
<para
>Contribuciones: <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
>Derechos de autor de la documentación &copy; 2009 Jeremy Whiting <email
>jpwhiting@kde.org</email
> &copy; 2004 Gary R. Cramblitt <email
>garycramblitt@comcast.net</email
> </para>

<para
>Santiago Fernández<email
>santi@kde-es.org</email
></para
><para
>Franco Mariluis<email
>fmariluis@gmail.com</email
></para
><para
>Adrián Martínez<email
>sfxgt3@gmail.com</email
></para
> 
&underFDL; &underGPL; <note
><para
>Los motores de síntesis de voz utilizados por &ktts; tienen sus propias licencias. Véa la documentación de cada motor o su sitio web para obtener más detalles. Algunas voces tienen sus propias licencias.</para
></note>

</chapter>

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

<appendix id="installation">
<title
>Instalación</title>

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


<sect1 id="getting-kapp">
<title
>Cómo obtener &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
>Comando de instalación en Debian: <command
>apt-get install kdeaccessibility</command
></para>

<note>
<para
>Puede encontrar enlaces a los fuentes y a los paquetes binarios en el sitio web de <ulink url="http://accessibility.kde.org/developer/kttsd/"
>Accesibility de &kde;</ulink
> (http://accessibility.kde.org).</para>

<para
>Si tiene acceso al repositorio del código de &kde;, puede descargar &ktts; marcando el módulo <command
>kdeaccesibility</command
>. &ktts; se puede encontrar en la carpeta <command
>kttsd</command
>. También puede descargar un archivo comprimido con todo el código fuente de kdeaccessibility de <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 obligatorios:</para>

<para>
<itemizedlist>
<listitem
><para
>&kde; versión 4.4 or posterior.</para
></listitem>
<listitem
><para
>speech-dispatcher versión 0.67 or posterior.</para
></listitem>
<listitem
><para
>Un motor de síntesis de voz. Actualmente están soportados los siguientes motores e idiomas.</para>

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

<row>
<entry
>eSpeak</entry>
<entry
>La mayoría de los lenguajes, compruebe <ulink url="http://espeak.sourceforge.net/languages.html"
>http://espeak.sourceforge.net/languages.html</ulink
> para la lista actual de lenguajes soportados list of supported languages</entry>
</row>

<row>
<entry
>Festival</entry>
<entry
>Inglés americano, británico, español, alemán, finés, checo, polaco, ruso, italiano, francés canadiense, kiswahili, zulú e ibibio</entry>
</row>

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

<para
>También funcionará con cualquier motor de síntesis que pueda ser ejecutado desde la línea de órdenes de &konsole;.</para>

<note
><para
>La anterior lista no es exhaustiva ni está actualizada. Verifique las especificaciones para cada motor con el fin de obtener una lista con los idiomas soportados. También podrá echar un vistazo al sitio web de <ulink url="http://accessibility.kde.org/developer/kttsd/index.php"
>&ktts;</ulink
> para obtener información adicional que puede no haber sido incluída en este manual. </para
></note>

<note>
<para
>speech-dispatcher utiliza una arquitectura de extensiones flexible para motores de síntesis de voz. Si desea mejorar &ktts; para que soporte otro motor, contacte con el equipo de desarrollo. </para>
</note>

<para
>Véa <xref linkend="configuration"/> para obtener las instrucciones específicas de cada uno de estos motores. </para>
</listitem>
</itemizedlist>
</para>

<para
>Componentes opcionales:</para>

<para>
<itemizedlist>

<listitem>
<para
>La utilidad <command
>xsltproc</command
> se necesita para el soporte SSML y para el filtro que transforma el &XML;, pero no es imprescindible. Los usuarios de Debian pueden instalar xsltproc con la orden <command
>apt-get install xsltproc</command
>.</para>
</listitem>

</itemizedlist>
</para>

</sect1>

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


<sect1 id="compilation">
<title
>Compilación e instalación</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 compilar &ktts;, debe tener una copia reciente (&kde; 4.4 o posterior) de los archivos de desarrollo de &kde;, incluyendo kdelibs y los archivos de desarrollo para speech-dispatcher.</para>

<para
>Si descarga los fuentes de &ktts; del módulo <filename
>kdeaccessibility</filename
> del repositorio del código, o de un archivo comprimido, utilice las siguientes órdenes para compilar e instalar: </para>

<programlisting
>cd kdeaccessibility
mkdir build
cd build
cmake ../
make
sudo make install
</programlisting>

</sect1>

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


<sect1 id="configuration">
<title
>Configuración</title>

<para
>Asegúrese de que speech-dispatcher está trabajando con su motor de sintetizador de voz antes de usar &ktts;. El script de shell spd-conf puede utilizarse para esto.</para>

<note
><para
>&ktts; en &kde; 4.4 es un primer intento para portar &ktts; para usar speech-dispatcher. En el futuro, kttsmgr será capaz de configurar speech-dispatcher directamente sin 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 
-->
