21
RC8650 VOICE SYNTHESIZER
RC SYSTEMS
This section describes the operating characteristics of the DoubleTalk
RC8650 chipset.
OPERATING MODES
The RC8650 has four primary operating modes and two inactive
modes designed to achieve maximum functionality and flexibility. The
operating mode can be changed anytime, even on the fly, by issuing
the appropriate command to the RC8650.
Note
The RC8650 will not begin speaking until it receives a CR (ASCII
13) or Null (ASCII 00) character—this ensures that a complete contex-
tual analysis can be performed on the input text. If it is not possible for
the application to send a CR or Null at the end of each text message,
use the Timeout Delay command.
The RC8650 does not make any distinction between uppercase and
lowercase characters—text and commands may be sent in any com-
bination of uppercase and lowercase. All data sent to the RC8650
is buffered in an internal 2 KB input buffer, allowing additional text
and commands to be queued even while the RC8650 is producing
output.
Text-to-speech mode.
All text sent to the RC8650 is automatically
translated into speech by the integrated DoubleTalk TTS engine. TTS
mode can be further subdivided into three translation modes:
Text
,
which reads text normally;
Character
, which reads (spells) one charac-
ter at a time; and
Phoneme
, which allows the TTS engine’s phonemes
to be directly accessed. TTS mode is the default operating mode.
Real Time Audio Playback mode.
Data sent to the RC8650 is written
directly to the RC8650’s audio buffer. This results in a high data rate,
but provides the capability of producing the highest quality speech, as
well as sound effects. PCM and ADPCM data types are supported.
Prerecorded Audio Playback mode.
This mode allows recorded
messages and sound effects that have been stored in the RC8650 to
be played back. PCM and ADPCM data types are supported.
Tone Generator modes.
These modes activate the RC8650’s musi-
cal tone generator, sinusoidal generator, or DTMF generator. They can
be used to generate audible prompts, music, signaling tones, dial a
telephone, etc.
Idle mode.
To help conserve power in battery-powered systems, the
RC8650 automatically enters a reduced-power state whenever it is
inactive. Data can still be read and written to the RC8650 while in this
mode. Current draw is typically 700 μA @ 3.3 V.
Standby mode.
This mode powers down the RC8650, where current
draw is typically only 2 μA. Standby mode can be invoked from either
the STBY# pin or with the Sleep command. Data cannot be read from
or written to the RC8650 in this mode.
S
ECTION
2: P
RINCIPLES
OF
O
PERATION
TRANSLATION ACCURACY
Because the RC8650 must handle the highly irregular spelling system
of English, as well as proper names, acronyms, technical terms, and
borrowed foreign words, there inevitably will be words that it will mis-
pronounce. If a word is mispronounced, there are three techniques
for correcting it:
1. Spell the word phonetically for the desired pronunciation.
2. Redefine the way the word should be pronounced by creating an
exception for it in the RC8650’s exception dictionary. This method
allows words to be corrected without having to modify the original
text, and it automatically corrects all instances of the word. Excep-
tion dictionaries are covered in detail in Section 4.
3. Use the RC8650’s Phoneme mode.
The first technique is the easiest way to fine tune word pronuncia-
tions—by tricking the RC8650 into the desired pronunciation. Among
the more commonly mispronounced words are compound words
(
baseball
), proper names (
Sean
), and foreign loan words (
chauffeur
).
Compound words can usually be corrected by separating the two
words with a space, so that “baseball” becomes “base ball.” Proper
names and foreign words may require a bit more creativity, so that
“Sean” becomes “Shon,” and “chauffeur” becomes “show fur.” Het-
eronyms (words with identical spelling but different meanings and pro-
nunciations) can also be modified using this technique. For example, if
the word
read
is to be pronounced “reed” instead of “red,” it can simply
be respelled as “reed.”
COMMANDS
The commands described in the following pages provide a simple yet
flexible means of controlling the RC8650 under software control. They
can be used to vary voice attributes, such as the volume or pitch, to
suit the requirements of a particular application or listener’s prefer-
ences. Commands are also used to change operating modes.
Commands can be freely intermixed with the text that is to be spoken,
allowing the voice to be dynamically controlled. Commands affect only
the data that follows them in the data stream.
Command Syntax
All RC8650 commands are composed of the command character,
a parameter
n
comprised of a one to four-digit number string, and a
single string literal that uniquely identifies the command. Some com-
mands simply enable or disable a feature of the RC8650 and do not
require a parameter. The general command format is:
<command character>[<number string>]<string literal>