Monday, December 10, 2007

ktts

one of the best Christmas traditions at the Hall! Each year, on a Saturday night in mid-December, an audience of all ages returns to hear America's favorite cowboy singer, with his Christmas show that celebrates the holidays in a heartwarming, old-fashioned style. Michael Martin Murphey and his band recall celebrations from days gone by – with rollicking old-time dance music, traditional Christmas carols, cowboy poetry, stories, and a message of Christmas cheer. There's dancing by the performers onstage, and the audience down front – and Michael's hits like "Long Line of Love" and "Wildfire". The whole family – kids, parents, grandmas and grandpas – will enjoy the show. Underwritten by: Clarion Hotel • Southwest Community Bank Media underwriters: Country's Best 94.7 KTTS and News Talk KSGF 104.1 FM and 1260 AM • OnMedia, a Mediacom Communications Company KTTS - KDE Text-to-Speech System
[ What is KTTS? | How does it work? | Why? Who needs it? | Requirements | Where can I get it? | What documentation is available? | Too late to get into the Handbook | How can I contribute to KTTS? ]
What is KTTS?
KTTS -- KDE Text-to-Speech -- is a subsystem within the KDE desktop for conversion of text to audible speech. KTTS is currently under development and aims to become the standard subsystem for all KDE applications to provide speech output.

How does it work?
Applications send text they wish spoken to KTTSD via DCOP. For example, in a terminal window, you can type the following commands to start KTTSD and speak "Hello World".

# Start KTTSD (if not already running)
kttsd
# Send "Hello World" to KTTSD for speaking in English.
dcop kttsd KSpeech setText "Hello World" "en"
# Speak the text.
dcop kttsd KSpeech startText 0

For a complete description of these and other commands, see the KDE Text-to-Speech API.

KTTSD takes care of queuing the speech job and sending the text to the speech synthesis engine. KTTSD is not a speech synthesis engine itself. You must install one of the compatible speech engines listed below. KTTSD is designed with a plugin architecture that makes it easy to write new plugins for other speech engines.

Why? Who needs it?
KTTS provides a common interface for all KDE applications to use for speaking. Programmers need not concern themselves with the details of the particular speech synthesis engine(s) used.

User Features
Speak any text from the KDE clipboard.
Speak any plain text file.
Speak all or any portion of a text file from Kate, including instances where Kate is embedded in another KDE application.
Speak all or any portion of an HTML page from Konqueror.
Use as the speech backend for KMouth and KSayIt.
Speak KDE notifications (KNotify).
Long text is parsed into sentences. User may backup by sentence or paragraph, replay, pause, and stop playing.
Audio output via aRts, GStreamer (version 0.8.7 or later), or aKode.
User-configurable filters for substituting misspoken words, choosing speech synthesizers, and transforming XHMTL/XML documents.
Programmer Features
Priority system for screen reader outputs, warnings and messages, while still playing regular texts.
Plugin-based architecture for support of a wide variety of speech synthesis engines and drivers.
Permit generation of speech from the command line (or via shell scripts) using the KDE DCOP utilities.
Provide a lightweight and easily usable interface for applications to generate speech output.
Applications need not be concerned about contention over the speech device.
FUTURE: Provide support for speech markup languages, such as VoiceXML, Sable, Java Speech Markup Language (JSML), and Speech Markup Meta-language (SMML).
FUTURE: Provide limited support for embedded speech markers.
Asynchronous to prevent system blocking.
It is hoped that more programmers will begin adding speech capabilities to their KDE programs using KTTS. Eventually, when Qt 4 is distributed, it is hoped that Screen Readers will be adapted to use KTTS.

KTTS actually consists of several programs:

KTTSD
The KDE Text-to-Speech Deamon, a non-gui application that runs in the background, providing TTS support to KDE applications. Applications initiate TTS by making DCOP calls to kttsd.

KTTSMGR
An application for configuring the KTTS System and for managing in-progress speech jobs. kttsmgr provides an icon in the system tray for performing these functions as needed.

kttsjobmgr
A KPart for managing in-progress speech jobs.

kcmkttsd
A KControl module for configuring the KTTS System. kcmkttsd runs in the KDE Control Center or start it with the command "kcmshell kcmkttsd".

ktexteditor_kttsd
A plugin for the KDE Advanced Text Editor that permits you to speak an entire text file or any portion of a file.

libkhtmlkttsdplugin
A plugin for Konqueror that permits you to speak all or any portion of an HTML web page.

Requirements
KDE 3.2 or greater and one of the following speech synthesis engines:

Synthesizer Languages Supported Information
Festival American English, British, Spanish, German, Finnish, Czech, Polish, Russian, Italian, French Canadian, Vietnamese, Kiswahili, Zulu, and Ibibio Festival v1.43 or 1.95beta can be obtained from http://www.cstr.ed.ac.uk/projects/festival/. Festival is distributed with most Linux distros. Check your distro CDs.
Debian users: apt-get install festival festival-voice
Festival Lite (flite) English http://www.speech.cs.cmu.edu/flite/index.html

Debian users: apt-get install flite
Hadifix (MBROLA and txt2pho) German, Hungarian mbrola can be obtained at http://festvox.org/mbrola/. txt2pho can be obtained at http://www.ikp.uni-bonn.de/dt/forsch/phonetik/hadifix/HADIFIXforMBROLA.html


Epos Czech, Slovak Download epos from http://epos.ure.cas.cz/


Debian users: apt-get install epos
FreeTTS English Also requires JAVA

KTTS can also use any engine that can be run from a command line.

For additional instructions on downloading and configuring these engines for use in KTTS, see Appendix A of the KTTS Handbook.

You will also need at least one of these audio subsystems:

aRts. The KDE sound system, which is distributed with KDE.
ALSA. Advanced Linux Sound Architecture is included with most recent Linux kernels ( http://www.alsa-project.org ).
GStreamer version 0.8.7 or greater ( http://gstreamer.freedesktop.org ).
aKode. The aKode decoder library is usually distributed with KDE.
Where can I get it?
Version 0.3.5 of KTTS was released concurrently with KDE 3.5. Therefore, the most straight-forward way to obtain KTTS is to install KDE 3.5.x including the kdeaccessibility package. See http://www.kde.org for instructions. It contains the following enhancements:

Better KNotify event support
"Rich Speak" conversion of XHTML to SSML
Support for ALSA and aKode audio output and allow build --without-arts
Option to autostart KTTSMgr whenever speaking
Add support for Russian, Hungarian, Kiswahili, Zulu, and Ibibio languages
Add support for Cepstral commercial voices via Festival
Version 0.3.0 of KTTS was released concurrently with KDE 3.4. Therefore, the most straight-forward way to obtain the older version of KTTS is to install KDE 3.4.x, including the kdeaccessibility package.

KTTS is part of the kdeaccessibility module. You can download the sourcecode for version 0.3.5 using Subversion. See Retrieving the source for instructions. Important note: Obtain version 0.3.5 from /branches/KDE/3.5/kdeaccessibility. Do not download /trunk/KDE/kdeaccessibility as this version is currently being converted to Qt4/KDE4 and is very unstable.

Note that you will need the kdelibs developmental files in order compile KTTS. You should be able to successfully build KTTS against KDE 3.2 or greater developmental files.

Once you have the kdeaccessibility module downloaded, you would build KTTS with the following commands.

cd kdeaccessibility
echo kttsd>inst-apps
make -f Makefile.cvs
./configure --enable-debug=full --with-akode=check --with-gstreamer=check
cd kdeaccessibility/kttsd
make
make install

As a temporary service to the community, we are making the following SuSE RPMs available for the latest Festival speech engine. Once RPMs are more widely available, these will be removed from ftp.kde.org. Maintained by Jorge Luis Arzola (arzolacub at gmail dot com). These packages work with SuSE 9.2 or SuSE 9.1. They might work with SuSE 9.0, but that has not been tested.

festival-1.95beta-2.i586.rpm 7.4 MB Festival Speech Engine plus American Male voice (kal).
festival-1.95beta-2.nosrc.rpm 8.1 MB Festival Speech Engine source code plus American Male voice (kal). (see note below)

md5sum files for the RPMs are also on the ftp site. For additional voices and latest information, see the Festival website.



What documentation is available?
KTTS Handbook.
KDE Text-to-Speech API. This is the programmer's API for generating speech from a KDE application using KTTS.
KTTS README
Too late to get into the Handbook
New Festival Vietnamese Voices
Two diphone Vietnamese voices for the Festival Interactive plugin are available at

http://sourceforge.net/projects/vietnamesevoice


To use these voices, choose Other language when adding a Talker. Choose Vietnamese as the language and Festival Interactive as the plugin. In the Talker Configuration dialog, enter the following settings:


Voice code: wow_vi_ptn_diphone or wow_vi_liz_diphone
Character Encoding: UTF-8

The volume and speed may be adjusted, but not pitch.

The Festival Interactive plugin will recognize these voices if you add the following lines to file $KDEDIR/share/apps/kttsd/festivalint/voices

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home