Your ad can be shown here!
 
  Help
AI links
  :: main hierarchy ::
• Agent Software
• Artificial Life
• Cellular Automata
• Cognitive Science
• Companies
• Computer Vision
• Data Mining
• Decision Support
• Expert Systems
• Fuzzy Logic
• Game AI
• General Resources
• Genetic Algorithms
• Handwriting Recognition
• Information Retrieval
• Intelligent Agents
• Intelligent Interfaces
• Knowledge Management
• LISP
• Machine Learning
• Mobile Agents
• Nanotechnology
• Natural Language Understanding
• Neural Networks
• Online Books
• Philosophy
• Programming
• Prolog
• Robot Builders
• Robotics
• Speech Recognition
• Virtual Pets
• Web Agents
 
aboutAI.net Weekly Features
    Look Who's Talking
Look Who's Talking
A short review of Text-to-Speech technology, including a list of commercially available products and freeware packages.
  Related Resources
• Past issues of weekly features
• VoiceXML
 
 Elsewhere on the Web
• Free TTS Systems
• A Short Introduction to Text-to-Speech Synthesis
 
 

Writing a voice-enabled application recently became a fairly straightforward task due to the advances in computer science, linguistics, signal processing and even psychology. One of the key elements of such applications is Text-to-Speech (TTS) or Speech Synthesis engine. The ability to convert text into understandable and intelligible spoken words and sentences is essential for every application that requires spontaneous, human-centered interaction. On the other hand, navigating thousands of rules of pronunciation and inflection requires a lot of processing power: to put it simply, the entire human vocal tract must be modeled and mimicked for a TTS engine to have the quality of a real human speaker.

There are two basic approaches to speech synthesis: formant synthesis that creates totally digitized or synthetic speech from scratch; and concatenation, where actual, prerecorded human voice segments are stored and used to convert text into speech. The first method requires a relatively small CPU and memory footprint, and has the advantage of being adaptable to different languages as pitch and duration of words may be easily varied. The sound quality produced using this approach is generally inferior, and the generated speech sounds a bit robotic. The concatenative approach stores prerecorded fragments of actual human speech in databases, grouping them as needed to produce full words and sentences. The length of individual fragments varies: the smallest units of speech that distinguish one utterance from another is called a phoneme. However, individual speech sounds may vary depending on the sounds preceding and following the specific phoneme. Longer speech units also decrease the density of concatenation points, thus providing better speech quality. Diphones, units that begin in the middle of the stable state of a phoneme and end in the middle of the following one are often chosen as a solution to this problem. Even larger units of speech, like triphones, tetraphones and even whole words are used in the newest generation of TTS engines, requiring larger databases and more efficient storage and retrieval methods.

No matter what method is used, every TTS engine generally contains two basic modules: a Natural Language Processing module that produces a phonetic transcription of the written text, and a Digital Signal Processing module that converts the output of the NLP section to the spoken words. Basically, the process of speech synthesis starts with a step called text normalization, which defines how each word is to be spoken. Remember that words that appear similar in the plain written text don't necessarily have the same pronunciation (like read that can be pronounced red and reed, depending on the context). Some words have to be expanded or even replaced: numbers, abbreviations, dates, times, acronyms, etc. Numbers are especially good candidates for context analyzers: good TTS engine for the US market will "know" that 556-9872 is probably a phone number and won't read it as five hundred fifty six... Once we got the unambiguous set of words, the control is passed to the phoneme converter that tries to look up the specific word in a pronunciation database, or apply letter-to-sound rules. But even the best engines with elaborate databases will have to rely on the help of exception dictionaries, storing words that defy all other rules of pronunciation. And that's not all - the hardest part, prosody generation, still lies ahead. The term prosody refers to the rises and falls of pitch, loudness and syllable length. Generated speech will preserve a lot of its perceived naturalness only if this step is performed correctly: otherwise we are left with the monotone and boring sound that can be very tiring over longer periods.

Advances in both hardware and speech generation algorithms recently resulted in several TTS engines capable of generating speech that is almost indistinguishable from human speech. Lernout & Hauspie RealSpeak is based on concatenation algorithms, and is ideal for industries, such as telephony, which require a high quality voice. L&H; RealSpeak joins the company's family of TTS product which include the TTS3000 and L&H; TruVoice engines, each having different CPU and memory requirements and feature sets. The new (5.0) version of the L&H; Voice Xpress SDK gives software developers the ability to easily voice-enable their applications using the Microsoft's Component Object Model (COM) and the ActiveX technology standard, and Speech Application Programming Interface (SAPI) defined speech recognition/generation functionality. The new transcription feature allows users to record their dictation to a wave file and have the text, alternatives and wave file stored together. Users can select parts of the text and begin playback of the selected text with the recorded voice of the user, and make corrections by speech or pass the files to a third party for correction. The list of currently supported languages includes US and UK English, French, Dutch and Spanish, including vocabularies for different application domains.

Lucent's Text-to-Speech Engine is another natural and intelligible sounding text-to-speech system. It is equipped with speed, volume, pitch, and vocal tract size adjustment ranges, text input is unrestricted and both male and female voice options can be used. The engine also offers context-sensitive abbreviations, expansion and open architecture as well as rich preprocessing options for email and Web. It supports American English, Continental & Canadian French, Latin & Castilian Spanish, German and Italian. Other utilities include the custom dictionary editor, custom audio object and ActiveX control for generating .wav files from text.

Implemented as Windows DLL, SoftVoice TTS is one of the rare engines that uses formant synthesis approach. Using the advantages this technology provides, the programmer can alter any of the voices in virtually limitless ways to create totally new voices. A comprehensive set of over 30 different commands can be embedded in the text to control the speech output, including extensive singing support! Accurate mouth shapes can be animated from data supplied by the synthesizer. The SoftVoice system utilizes letter-to-sound rules, a numeric preprocessor, and a dictionary to determine proper word pronunciation. Programmers or users can also use the SoftVoice exceptions dictionary editor to create their own dictionaries for words or abbreviations not pronounced properly. It supports English and Spanish languages.

e-Language from Elan Informatique is the new range of sophisticated software tools designed to bring the user a new generation interface to PDAs, smart phones, car navigation systems, etc. It includes Prosel, a module that extracts natural prosody and applies it to synthetic speech, and Lexitool, a module that produces a personalized lexicon data base for exceptions and abbreviations specific to the application. Their Speech Cube and Proverbe provide software and hardware support for a multi-lingual (US English, British English, Spanish, German, French, Russian, Brazilian Portuguese and Italian) and multi-channel text-to-speech server applications under Windows NT, SCO, Linux, Qnx and Solaris. Desktop solutions include speech engine SDK - DLL version, speech engine SAPI, and speech engine for OS/2>. Elan also offers an extensive support for the embedded systems, including Windows CE.

The Microsoft Speech SDK is a natural choice for a majority of developers under Windows platforms. The new release, 5.0, includes a number of improvements, updated development tools, samples, documentation, and enhanced versions of the Microsoft continuous speech recognition engine (MCSR) and Microsoft concatenative speech synthesis engine (TTS). You can mix speech capabilities with the Telephony API (TAPI) to produce advanced telephony applications. Most of the engines described here can be used in conjuction with the Speech SDK - you can install a number of TTS products and select only the desired engine using the control panel applet.

As for the less-known, but also high-quality systems, TCTS Lab's EULER 2.00 is a freely available (GNU C++), easy-to-use, and easy-to-extend, generic TTS for Windows95/98/NT. French is currently supported; other languages will follow. A Mac port is in the works, as well as Unix/Linux port. Another great project from TCTS, MBROLA, has a goal to obtain a set of speech synthesizers for as many languages as possible, and provide them free for noncommercial applications. Central to the MBROLA project is MBROLA, a multiplatform speech synthesizer based on the concatenation of diphones. It is therefore not a general TTS system, since it does not accept raw text as input. On the other hand, it currently supports 24 (!) languages, enabling a wide acceptance of this system all over the world. The Festival Speech Synthesis System is a general and very powerful multi-lingual speech synthesis system, now regarded as a standard in TTS research. It offers a full text to speech system with various APIs, as well an environment for development and research of speech synthesis techniques. It is written in C++ with a Scheme-based command interpreter for general control. Festival can be connected to MBROLA, so it can also support a very large number of languages.

Talk about AI-related topics at Artificial Intelligence Bulletin Board.

Want more timely information and resources related to AI? Subscribe to our FREE newsletter!

Got some specific AI related questions or need consulting services? Contact your webmaster, Denis Susac.

Talk with people who share your interests...

Previous Features

S p o n s o r e d    b y...

Buy the ER1 Robot!