599 Menlo Drive, Suite 100
Rocklin, California 95765, USA
Office: (916) 624-8333
Fax: (916) 624-8003
General: info@parallax.com
Technical: support@parallax.com
Web Site: www.parallax.com
Educational: www.stampsinclass.com
Emic Text-To-Speech Module (#30006)
General Description
The Emic Text-to-Speech (TTS) Platform is a modular hardware design for text-to-speech applications. The Emic
Platform is a fully integrated module that converts a stream of digital text into a high-quality English-speaking voice. It
provides a simple way to speech-enable any embedded application. Requiring a simple 2-wire serial interface and
two optional I/O lines for status notification, the Emic Platform can easily be integrated into nearly any new or existing
design.
The Emic Platform is controlled through a simple set of commands and off-loads most of the computational overhead
required for TTS from the host controller. The Emic Platform command set consists of a number of functions for core
TTS functionality and abstracts the low-level hardware from the end-user application, making it extremely simple to
add TTS capabilities to any product.
Features
Fully-integrated, high-quality speech synthesis on a single module
Elegant platform provides for unlimited text-to-speech applications
Simple interface to BASIC Stamp® and Javelin Stamp™
Module Highlights
Serial TTL interface (2-wire, 2400 baud)
Requires single +5VDC supply
Compact size: 2.0" L x 1.375" W
On-board 8 Ω, 300 mW speaker driver
Easy-to-use ASCII or hexadecimal command sequences
Bi-color LED for visual indication of activity
0.100" pin spacing for easy prototyping and integration
-40 ºC to +85 ºC operating temperature
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
1
Pin Description
Pin
1
(OEM )
Pin
(SIP)
Pin Name
Type
Function
1
2
7
3
VCC
BUSY
P
O
3
4
1
2
SIN
SOUT
I
O
5
6
8, 11
14
GND
/RESET
G
I
7
10
AOUT
(ANA)
O
8
15
SP-
O
9
16
SP+
O
---
9
AIN
I
System power, +5V DC input.
Busy notification line. Digital logic HIGH when Emic Platform is in-use
(e.g., receiving characters, converting text-to-speech, etc.) or when a
system error has occurred. Logic LOW when the Emic Platform is idle
and ready to receive new commands or text. The visible LED on the
Emic Platform is red when BUSY is HIGH and green when BUSY is
LOW.
Serial In. TTL-level interface, 2400bps, 8 data bits, no parity, 1 stop bit.
Serial Out. TTL-level interface, 2400bps, 8 data bits, no parity, 1 stop
bit.
System ground. Connect to power supply’s ground (GND) terminal.
External system reset pin. Active LOW digital input. Bring this pin LOW
to reset the Emic Platform. Recommended use is after the host
controller power-up or an Emic Platform system error. This pin should
be left floating if it is not used.
Audio output buffer pin provides a single-ended analog output of the
synthesized speech for external amplification. Drives a minimum load of
5k Ω up to a maximum of 1Vp-p. The AC signal is superimposed on
approximately 1.2VDC bias and must be capacitively coupled to the
load.
Differential negative speaker driver output. Designed to drive an 8 Ω
speaker up to a maximum of 23.5mW for the OEM version and 300mW
for the SIP version. Do NOT connect this pin if using SP+ as singleended output (OEM version only).
Differential positive speaker driver output. Designed to drive an 8 Ω
speaker up to a maximum of 23.5mW for the OEM version and 300mW
for the SIP version. On the OEM version, this pin is biased to
approximately 1.2VDC and can be used as a single-ended output if
capacitively coupled to the load.
Analog input pin for SIP version only. Allows an audio signal to be fed
through the Emic Platform to either the AOUT or SP+/SP- pins. The
input has a nominal 694mVp-p level. There is no gain control on this
signal. The audio signal must be AC coupled to the AIN pin. No signal
should be active on the AIN pin when it is not in use, or else the signal
may bleed through to the Emic Platform's audio output at undesirable
times. This pin should be left floating if it is not implemented.
1. For information only; the OEM version is no longer in production.
Note: Type: I = Input, O = Output, I/O = Bidirectional, P = Power, G = Ground
NOTE: All unspecified pins should be left floating. They should not be connected at any time. Connecting unspecified
pins to any signal, ground, or VCC may result in improper device behavior or cause damage to the device.
2
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
Block Diagram
VCC
/RESET
LDO Regulator
BUSY
Bi-Color LED
DIP Switches
mC
WTS701
Text-to-Speech
SIN
Audio Amplifier
SOUT
AIN
AOUT
SP+
SP-
Note: The AIN pin is not available on the OEM version.
Functional Description
Overview
The Emic Platform is a fully integrated module that converts a stream of digital text into a high-quality Englishspeaking voice. The Emic Platform performs text-to-speech synthesis and host processor communications. The
system architecture consists of the following functions:
Serial interface to interpret commands and data using a simple command structure and menuing system
Text normalization module to pre-process incoming text into pronounceable words
Word-to-phoneme translator which converts incoming words into their phonetic representation
Phoneme mapping to match incoming phonemes into their corresponding pre-recorded audio sample
Volume, pitch, and speed adjustments
On-board audio amplifier (300 mW)
The Emic Platform ships with a standard American English-speaking female voice with a San Francisco Bay Area
dialect. The Emic Platform is designed to support different languages or voices as they become available.
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
3
Physical Connections
The Emic Platform can be integrated into any design using a minimum of five connections (VCC, GND, SIN, SOUT,
and AOUT). Optional status and control pins are also available if desired. Though many configurations are possible, a
typical connection diagram to a microprocessor uses eight connections (VCC, GND, SIN, SOUT, BUSY, /RESET,
SP-, SP+).
Basic Connection Diagram: Emic Platform with Microprocessor Host Control
5V
5V
VCC
VCC
SP+
SP-
SIN
SOUT
mC
Emic TTS
Platform
BUSY
/RESET
GND
AIN
AOUT
GND
Communication Protocol
The Emic Platform is controlled by the host via an easy-to-use, TTL-level, asynchronous, two-wire serial
communications interface. The SIN (Serial Input) pin receives data and commands from the host controller to the
Emic Platform. The SOUT (Serial Output) pin transmits data and responses to the host controller from the Emic
Platform.
The Emic Platform can connect directly to any TTL-compatible UART or to an RS232-compatible interface by using
an external level shifter.
All communication is 8 data bits, no parity, 1 stop bit, non-inverted, least significant bit first (8N1). The baud rate is
configured in the Emic Platform firmware for 2400 baud, a standard communications speed supported by the BASIC
Stamp microcontroller, the Javelin Stamp microcontroller, and most any other microcontroller or PC. The host
controller must initiate all communication. The Emic Platform does not initiate any communication. Refer to the
section on Command Structure for a list of available commands.
4
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
Configuration Switches
The two-position DIP switch located on the Emic Platform is used to configure the communications properties of the
device to fit a wide range of applications.
If SW1 is set to ON, the Emic Platform will accept and respond to commands in an ASCII (printable text) format. If
SW1 is set to OFF, the Emic Platform will accept and respond to commands in a hexadecimal format. Refer to the
section on Command Structure for details.
If SW2 is set to ON, each byte sent to the Emic Platform will be echoed back to the host processor. If SW2 is set to
OFF, the Emic Platform will not echo each byte to the host processor and will only transmit the command response
(such as "OK", "ERROR", or other information) This switch is useful for applications where the user needs to ensure
the data is being properly received by the Emic Platform or to verify that the correct data is being typed, such as
when the Emic Platform is hooked up to a PC and simple terminal program.
Control Lines
In addition to the serial communications interface, the Emic Platform has two control lines. The BUSY pin is used by
the Emic Platform to notify the host controller that it is busy and cannot accept new commands or data (such as
during a text-to-speech conversion). The BUSY pin is set HIGH when the Emic Platform is in use. The BUSY pin is
set LOW when the Emic Platform is in the idle state and ready to receive a new command.
A visual indication of the state of the Emic Platform is given with the on-board LED (Light Emitting Diode). When
BUSY is HIGH, the LED is red. When BUSY is LOW, the LED is green. On initial power-up and during device reset,
the on-board LED will be both red and green while the Emic Platform is initializing.
The /RESET pin is an active LOW digital input used to "hard reset" the Emic Platform, which reinitializes the module's
control firmware and resets the volume, speed, and pitch settings to their default values. This pin should be left
floating if it is not used, or else it should remain in a logic HIGH state until a system reset is desired.
Command Structure
The Emic Platform can accept commands in either an ASCII (printable text) or hexadecimal format depending on the
configuration DIP switch setting (refer to Configuration Switches section). The hexadecimal format is essentially an
abbreviated form of the longer ASCII command structure. Both command formats result in the same operation.
Available Command Set
Command
ASCII
Hexadecimal
Convert text to speech
Set volume
Set speed
Set pitch
Add abbreviation
Delete abbreviation
List abbreviations
Emic version numbers
Device soft reset
Analog audio input (SIP only)
Emic help
say=text;
volume=n;
speed=n;
pitch=n;
addabbr=abbr,text;
delabbr=abbr;
listabbr;
version;
reset;
audio;
help; or ?;
0x00, text, 0xAA
0x01, n, 0xAA
0x02, n, 0xAA
0x03, n, 0xAA
0x04, abbr, 0x2C, text, 0xAA
0x05, abbr, 0xAA
0x06, 0xAA
0x07, 0xAA
0x08, 0xAA
0x09, 0xAA
0xFE, 0xAA
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
5
The Emic Platform has a 128-byte circular receive buffer, meaning that any combination of command and data must
be less than 128 bytes in order to be properly handled. If this limit is exceeded, the pointer in the buffer will reset to
the beginning and overwrite previously received characters. A single word may have a maximum length of 53
characters. Any words longer than 53 characters will be truncated.
The Emic Platform will process the buffer when it receives the termination character. In ASCII mode, the termination
character is a ";" (semicolon) or 0x0D byte (carriage return). In hexadecimal mode, it is a 0xAA byte. In order to clear
the receive buffer, such as in the case of a typo or error, a single termination character should be sent, depending on
the ASCII or hexadecimal mode of the Emic Platform.
In ASCII mode, if a valid command is entered and the operation is successful, the Emic Platform will respond with
"OK". If an incorrect command or data format is entered or if the operation has failed, the Emic Platform will respond
with "ERROR".
In hexadecimal mode, if a valid command is entered and the operation is successful, the Emic Platform returns a
single 0x55 byte. If an incorrect command or data format is entered or if the operation has failed, the Emic Platform
returns a single 0xFF byte.
Convert text to speech:
This command begins the text-to-speech conversion process using the passed text string. The audio will be output on
both the single-ended AOUT pin and the differential SP+/SP- speaker driver output. Refer to the sections on
Allowable ASCII Characters and Phonetic Alphabet for more details.
During this operation, the visible LED will remain RED and the BUSY line will be set HIGH until all passed text has
been converted to speech. Once the text-to-speech conversion begins, it will continue until the process is complete.
There is no way to interrupt the process, other than pulling the /RESET pin LOW to reinitialize the Emic Platform.
When the text-to-speech conversion is complete, the LED will return to GREEN and the BUSY line will be set LOW.
Command example: Convert the text "hello" to audible speech
ASCII
Hexadecimal
To Emic Platform
say=hello;
From Emic Platform
OK
0x00, 0x68, 0x65, 0x6C, 0x6C, 0x6F,
0xAA
0x55
Set volume:
This command sets the audio output volume of the Emic Platform. A single byte, n, is passed along with the
command to specify the desired volume. A digitally controlled attenuator on the Emic Platform provides volume
control in 8 steps of 4 dB, referenced to the output. Total volume range is from -28 dB (softest, n = 0) to 0 dB
(loudest, n = 7). Default volume is set to -12 dB (n = 4).
In addition to the range of decimal numbers, "+" or "-" can also be passed to increment or decrement the current
volume by 1 step. This will have no effect if an increment command is sent when the volume is already at the loudest
setting or if a decrement command is sent when the volume is already at the softest setting. When the Emic Platform
is reset or when power is removed, the volume setting will revert to its default value.
Command example: Set volume to n = 3 (-16dB)
To Emic Platform
From Emic Platform
6
ASCII
Hexadecimal
volume=3;
OK
0x01, 0x33, 0xAA
0x55
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
Set speed:
This command sets the speed at which the converted speech is spoken. A single byte, n, is passed along with the
command to specify the desired speed. Total speed range is from n = 0 (slowest) to n = 4 (fastest). Default speed is
set to n = 2.
In addition to the range of decimal numbers, "+" or "-" can also be passed to increment or decrement the current
speed by 1 step. This will have no effect if an increment command is sent when the speed is already at the fastest
setting or if a decrement command is sent when the speed is already at the slowest.
When using concatenative speech synthesis systems such as the Emic Platform, speech speed and pitch are often
adjusted together to maintain an audible and understandable output. However, it is not required, and each may be
adjusted separately if desired. When the Emic Platform is reset or when power is removed, the speed setting will
revert to its default value.
Command example: Increment speed setting by one step
To Emic Platform
From Emic Platform
ASCII
Hexadecimal
speed=+;
OK
0x02, 0x2B, 0xAA
0x55
Set pitch:
This command sets the pitch of the converted speech. A single byte, n, is passed along with the command to specify
the desired pitch. Total pitch range is from n = 0 (lowest) to n = 6 (highest). Default pitch is set to n = 1.
In addition to the range of decimal numbers, "+" or "-" can also be passed to increment or decrement the current pitch
by 1 step. This will have no effect if an increment command is sent when the pitch is already at the highest setting or
if a decrement command is sent when the pitch is already at the lowest.
When using concatenative speech synthesis systems such as the Emic Platform, speech speed and pitch are often
adjusted together to maintain an audible and understandable output. However, it is not required, and each may be
adjusted separately if desired. When the Emic Platform is reset or when power is removed, the pitch setting will revert
to its default value.
Command example: Decrement pitch setting by one step
To Emic Platform
From Emic Platform
ASCII
Hexadecimal
pitch=-;
OK
0x03, 0x2D, 0xAA
0x55
Add abbreviation:
This command adds a user-specified abbreviation to the abbreviation table stored on the Emic Platform. The
abbreviation, abbr, and its corresponding full word or sentence, text, are passed along with the command. Once an
abbreviation is loaded into the Emic Platform, the full text will replace the abbreviation any time the abbreviation is
used during a text-to-speech conversion.
If multiple abbreviations are added with the same abbreviation string, the Emic Platform will use the first instance.
The expanded text for the abbreviation cannot contain any numerals (such as "Basic Stamp 2"), only alphabetic
characters (such as "Basic Stamp Two").
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
7
When an abbreviation is successfully added, the Emic Platform performs a "soft reset", which resets the volume,
speed, and pitch settings to their default values. Refer to the section on Abbreviations for details.
Command example: Convert SMS/Instant Message abbreviation into understandable word, ":)" into "happy"
ASCII
Hexadecimal
To Emic Platform
addabbr=:),happy;
From Emic Platform
OK
0x04, 0x3A, 0x29, 0x2C, 0x68, 0x61,
0x70, 0x70, 0x79, 0xAA
0x55
Delete abbreviation:
This command deletes a user-specified abbreviation from the abbreviation table stored on the Emic Platform. The
abbreviation to be deleted, abbr, is passed along with the command. Even if a non-existent abbreviation is passed
with the command, the Emic Platform will respond with "OK" or a single 0x55 byte depending on the ASCII or
hexadecimal mode of the Emic Platform. After an abbreviation entry is deleted, the entry is removed from the
abbreviation table and not used. However, the entry still takes up space in the internal memory of the Emic Platform.
When an abbreviation is successfully deleted, the Emic Platform performs a "soft reset", which resets the volume,
speed, and pitch settings to their default values. Refer to the section on Abbreviations for details.
Command example: Delete the ":)" abbreviation from the abbreviation list
To Emic Platform
From Emic Platform
ASCII
Hexadecimal
delabbr=:);
OK
0x05, 0x3A, 0x29, 0xAA
0x55
List abbreviations:
This command returns the valid abbreviation table stored on the Emic Platform. Refer to the section on Abbreviations
for details. Example response from the Emic Platform:
Abbreviation List =
:)
happy
TTS
text to speech
If the Emic Platform is in hexadecimal mode, the "Abbreviation List =" header will not be transmitted and a single
0x0A byte will be used to separate all table entries instead of a new line and carriage return. At the end of the table
listing or if no abbreviation entries exist, the Emic Platform will respond with "OK" or a single 0x55 byte depending on
the ASCII or hexadecimal mode of the Emic Platform.
Emic and WTS701 version numbers:
This command returns the hardware and firmware version numbers of the Emic Platform and the core Winbond
WTS701 Single-Chip Text-to-Speech Processor. For diagnostics and troubleshooting only. Example response from
the Emic Platform:
Emic HWREV =
Emic SWREV =
WTS701 HWVER
WTS701 SWVER
1A
12
= 02
= 68
If the Emic Platform is in hexadecimal mode, the headers will not be transmitted and only the four byte values will be
sent. At the end of the version listing, the Emic Platform will respond with "OK" or a single 0x55 byte depending on
the ASCII or hexadecimal mode of the Emic Platform.
8
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
Device reset:
This command performs a "soft reset" of the Emic Platform, which resets the volume, speed, and pitch settings to
their default values. All abbreviations stored on the device will remain intact. The "Device reset" command is different
than using the external /RESET pin, which is a "hard reset" that completely restarts the Emic Platform and
reinitializes the module's control firmware.
Upon initial power-up of the Emic Platform and when the "Device reset" command is successful, the Emic Platform
will respond with "OK" or a single 0x55 byte, depending on the ASCII or hexadecimal mode of the Emic Platform.
The visible LED will be both red and green while the Emic Platform is initializing.
Analog audio input:
This command is for the SIP version only and enables the analog audio signal on the AIN pin to be fed through the
Emic Platform to either the AOUT or SP+/SP- pins. During this operation, the visible LED will remain RED and the
BUSY line will be set HIGH. This command will remain active until the Emic Platform receives a single termination
character. In ASCII mode, the termination character is a ";" (semicolon) or 0x0D byte (carriage return). In
hexadecimal mode, it is a 0xAA byte.
When the command is successful and the feed through is disabled, the Emic Platform will respond with "OK" or a
single 0x55 byte, depending on the ASCII or hexadecimal mode of the Emic Platform. The BUSY line will then be set
LOW and the visible LED will turn green.
No signal should be active on the AIN pin when it is not in use, or else the signal may bleed through to the Emic
Platform's audio output at undesirable times. The input has a nominal 694mVp-p level. No on-board gain control is
available. The audio signal must be AC coupled to the AIN pin. This pin should be left floating if it is not implemented.
Emic help:
This command prints a table of available commands. The menu will vary slightly between the OEM and SIP versions.
Example response from the Emic Platform:
Emic Text-to-Speech Platform
Copyright (c) 2004 Grand Idea Studio, Inc. (www.grandideastudio.com)
Distributed by Parallax, Inc. (www.parallax.com)
For support, contact support@parallax.com or call 916-624-8333
Command
| ASCII
| Hexadecimal
------------------------+-----------------------+-------------------------Convert text to speech | say=text;
| $00, text, $AA
Set volume (0-7, -, +) | volume=n;
| $01, n, $AA
Set speed (0-4, -, +)
| speed=n;
| $02, n, $AA
Set pitch (0-6, -, +)
| pitch=n;
| $03, n, $AA
Add abbreviation
| addabbr=abbr,text;
| $04, abbr, $2C, text, $AA
Delete abbreviation
| delabbr=abbr;
| $05, abbr, $AA
List abbreviations
| listabbr;
| $06, $AA
Emic version numbers
| version;
| $07, $AA
Device reset
| reset;
| $08, $AA
Analog audio input
| audio;
| $09, $AA
Emic help (this is it) | help; or ?;
| $FE, $AA
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
9
Allowable ASCII Characters
The following table lists the ASCII characters that are accepted and understood by the Emic Platform. Unexpected
behavior may occur if the input text contains characters that are not defined in this ASCII table.
Hex
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
0x10
0x11
0x12
0x13
0x14
0x15
0x16
0x17
0x18
0x19
0x1A
0x1B
0x1C
0x1D
0x1E
0x1F
Symbol
^P (enable
phonetic
alphabet)
^Q
^S
^U
^V
EOT
Hex
Symbol
Hex
Symbol
Hex
Symbol
0x20
0x21
0x22
0x23
0x24
0x25
0x26
0x27
0x28
0x29
0x2A
0x2B
0x2C
0x2D
0x2E
0x2F
0x30
(space)
!
0x40
0x41
0x42
0x43
0x44
0x45
0x46
0x47
0x48
0x49
0x4A
0x4B
0x4C
0x4D
0x4E
0x4F
0x50
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x6C
0x6D
0x6E
0x6F
0x70
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
0x51
0x52
0x53
0x54
0x55
0x56
0x57
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F
Q
R
S
T
U
V
W
X
Y
Z
[ (left bracket)
\ (backslash)
] (right bracket)
0x71
0x72
0x73
0x74
0x75
0x76
0x77
0x78
0x79
0x7A
0x7B
0x7C
0x7D
0x7E
0x7F
0x31
0x32
0x33
0x34
0x35
0x36
0x37
0x38
0x39
0x3A
0x3B
0x3C
0x3D
0x3E
0x3F
#
$
%
&
‘ (apostrophe)
(
)
*
+
, (comma)
- (dash)
. (period)
/ (slash)
0
1
2
3
4
5
6
7
8
9
: (colon)
=
?
_ (underscore)
q
r
s
t
u
v
w
x
y
z
Phonetic Alphabet
The Emic Platform uses concatenative speech synthesis to generate its spoken words. The TTS conversion is
achieved by processing incoming text into a phonetic representation that is mapped to a corpus of naturally spoken
word parts.
The Emic Platform uses an intermediate phonetic translation, which represents an alphabet of phonemes and stress
for each input word. This feature allows the text sent to the Emic Platform to consist of ASCII characters as well as
specific phonemes. This capability offers the flexibility to send words already processed for phonetic representation,
achieving the desired pronunciation.
10
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
The following table lists the phoneme symbols that are accepted by the Emic Platform.
Phoneme
i
I
e
E
@
u
U
o
c
a
A
R
O
Y
W
x
X
Vowels
Hex
Value
0x69
0x49
0x65
0x45
0x40
0x75
0x55
0x6F
0x63
0x61
0x41
0x52
0x4F
0x59
0x57
0x78
0x58
Example
beat
bit
bait
bet
bat
boot
book
boat
bought
Bob
but
burr
boy
buy
down
about
roses
Consonants
Phoneme Hex
Example
Value
pet
p
0x70
ten
t
0x74
kit
k
0x6B
bet
b
0x62
debt
d
0x64
get
g
0x67
hat
h
0x68
fat
f
0x66
thing
T
0x54
that
D
0x44
sat
s
0x73
shut
S
0x53
vat
v
0x76
zoo
z
0x7A
azure
Z
0x5A
you
y
0x79
wit
w
0x77
rent
r
0x72
let
l
0x6C
met
m
0x6D
net
n
0x6E
sing
G
0x47
church
C
0x43
judge
J
0x4A
butter
P
0x50
written
Q
0x51
Each phoneme is represented by exactly one character and each vowel is preceded by a pitch symbol (represented
by a number 1 or 0). Each word has a single "1" stress which represents the main stress of the word. All other
syllables in the word have "0" stress. For example, the phonetic translation of "testing" would be "t1Est0IG".
Phonetic strings can be sent directly to the Emic Platform by embedding phoneme strings into the text stream that is
desired for conversion. To embed a phoneme string, the string must be preceded by a Control-P character (^P, 0x10)
and terminated by a space character (0x20). For example, "The quick ^Pbw1Wn fox."
The phonetic alphabet can be used to specify particular pronunciations for greater control. For example, many
English words, even common ones, have multiple valid phoneme transcriptions. In some cases, one transcription
may sound better than others. Exploring variant phonetic transcriptions can solve many output problems. Developers
of TTS applications are often tempted to fix pronunciation problems by using aberrant spellings of words, but phonetic
transcriptions should be used instead as they provide a more detailed control.
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
11
Abbreviations
The Emic Platform has support for entering and using custom abbreviations. 2kB of internal Flash memory is
reserved specifically for this purpose. The Abbreviations feature of the Emic Platform is used to convert frequently
used abbreviations or symbols (such as SMS messages or stock tickers) into an expanded text string. Commands
exist on the Emic Platform to add, delete, or list the user-defined abbreviations. Refer to the section on Command
Structure for details.
Once a user-defined abbreviation is loaded into the Emic Platform, the full text will replace the abbreviation any time
the abbreviation is used during a text-to-speech conversion. If multiple abbreviations are added with the same
abbreviation string, the Emic Platform will use the first instance. The expanded text for the abbreviation cannot
contain any numerals (such as "Basic Stamp 2"), only alphabetic characters (such as "Basic Stamp Two").
When an abbreviation is successfully added or deleted the Emic Platform will soft-reset, which returns the volume,
speed, and pitch settings to their default values. The abbreviations remain stored on the Emic Platform after both
soft- and hard-resets.
After a user-defined abbreviation entry is deleted, the entry is removed from the abbreviation table and not used.
However, the entry still takes up space in the Flash memory. The only way to free all memory is to reprogram the
Emic Platform control firmware. Contact Parallax technical support for additional details.
The Emic Platform also contains a default set of frequently used abbreviations. These abbreviations are casesensitive. The following table lists these built-in abbreviations.
12
Abbreviation
Expanded
Text
Abbreviation
Expanded
Text
Abbreviation
Expanded
Text
Sen
Rep
Jan
Feb
Mar
Apr
Jun
Jul
Aug
Sep
Sept
Oct
Nov
Dec
Mon
Tue
Wed
Thu
Fri
Sat
Sun
A.M
P.M
a.m
p.m
pm
PM
PhD
Mr
Mrs
Ms
Dr
Senator
Representative
January
February
March
April
June
July
August
September
September
October
November
December
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
AM
PM
AM
PM
PM
PM
PHD
Mister
Missus
Miz
Doctor
AL
AK
AZ
AR
CA
Cal
Calif
DE
FL
Fla
GA
IEEE
ID
IL
IN
IA
KS
KY
MA
MI
MS
MN
MO
MT
NV
NH
NM
NY
NJ
NC
ND
OH
Alabama
Alaska
Arizona
Arkansas
California
California
California
Delaware
Florida
Florida
Georgia
I Triple E
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Massachusetts
Michigan
Mississippi
Minnesota
Missouri
Montana
Nevada
New Hampshire
New Mexico
New York
New Jersey
North Carolina
North Dakota
Ohio
Bldg
asap
cc
cm
mm
ft
yd
yds
pt
pts
qt
qts
km
mi
deg
cu
diam
FAX
Geog
govt
min
mins
hr
hrs
yr
yrs
doz
Inc
KW
lb
lbs
mngr
Building
ASAP
CC
Centimeters
Millimeters
Feet
Yards
Yards
Pints
Pints
Quarts
Quarts
Kilometers
Miles
Degrees
Cubic
Diameter
Fax
Geography
Government
Minute
Minutes
Hour
Hours
Year
Years
Dozen
Incorporated
Kilowatt
Pound
Pounds
Manager
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
Jr
Esq
Pres
Prof
Sgt
Lt
Lieut
Maj
MPH
Col
Gen
Sr
St
Av
Ave
Rd
Rt
Rte
Blvd
Terr
Exwy
Expwy
Drwy
Dept
Ct
Junior
Esquire
President
Professor
Sargeant
Lieutenant
Lieutenant
Major
Miles per hour
Colonel
General
Senior
Street
Avenue
Avenue
Road
Route
Route
Boulevard
Terrace
Expressway
Expressway
Driveway
Department
Court
PA
RI
SC
SD
TN
TX
Tex
UT
VT
VA
WA
WV
WI
WY
N
S
E
W
LA
SF
SJ
Ans
Q
Asst
Atty
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
North
South
East
West
Los Angeles
San Francisco
San Jose
Answer
Question
Assistant
Attorney
Parallax, Inc. • Emic Text-To-Speech Module (#30006) • 02/2005
Nat
NASDAQ
ok
oz
Pl
rcvd
rpm
tel
tv
vs
U.S.
U.S.A
VISA
w
wrt
wk
Xmas
etc
c/o
w/o
III
WYSIWYG
THE
National
Nasdaq
OK
Ounces
Place
Received
RPM
Telephone
TV
Versus
US
USA
Veeza
With
With respect to
Week
Christmas
Etcetra
Care of
Without
The third
Whisywig
The
13
Electrical Characteristics
Absolute Maximum Ratings
Condition
Value
Operating Temperature
Storage Temperature
Supply Voltage (VCC)
Ground Voltage (VSS)
Voltage on any pin with respect to VSS
-40ºC to +85ºC
-55ºC to +125ºC
+4.5V to +5.5V
0V
-0.3V to +7.0V
NOTICE: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at those or any other conditions above those
indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for
extended periods may affect device reliability.
DC Characteristics
Emic Platform SIP
At VCC = +5.0V and TA = 25ºC unless otherwise noted
Parameter
Symbol
Test
Conditions
Specification
Min.
Typ. Max.
Unit
Supply Voltage
Vcc Rise Time (1)
Supply Current, Idle
Supply Current,
Active Conversion
Supply Current,
/RESET Low
Input LOW voltage
(except /RESET)
Input LOW voltage
(/RESET)
Input HIGH voltage
(except /RESET)
Input HIGH voltage
(/RESET)
Output LOW voltage
Output HIGH voltage
BUSY Pin Output Current
VCC
SVCC
IIDLE
ICC
---------
4.5
0.05
32.9
38.8
5.0
----73
5.5
-------
V
V/ms
mA
mA
IMCLR
---
26.5
---
---
mA
VIL
+4.5V