WIP, may not work as expected.
Some amazing songs!
[:phoneme on] [spay<200,13> drr<100,16> mae<300,20> n<200> spay<200,19> drr<100,16> mae<300,13> n] [dah<200,13> zwah<100,16> teh<300,20> vrr<100,21> ah<200,20> spay<200,19> drr<100,16> kae<300,13>n] [spih<200,18> nzah<100,21> weh<300,25> b<200> eh<200,23> niy<100,21> say<300,18>z] [kae<200,13> chih<100,16> zthiy<300,20> vz_<200> jhah<200,19> stlxay<100,16> kflxay<300,13> z] [lxuh<100,21> kaa<400,20> aw<4000> t_hxiy<200,18> rkah<200,16> mzah<100> sp<40> ay<300,18> drr<200> mae<300,18> n<300,01> ]
[:phoneme on] [maa<150,32>maa<2750>uw<300>uw<300,30>uw<200,32>uw<150,33>uw<3800,32>] [dih<150,32>deh<150>t] [miy<500,33>n] [tuw<150,32>mey<300>kyu<300,30>kray<4000>] [ih<150,30>fay<450,23>m] [nao<200,30>t] [bbae<300>kax<150,32>geh<500>n] [dhih<200,33>s] [tay<500>m] [tuw<150,35>mar<300,33>ow<4000,32>] [keh<200,30>riy<200,32>ao<1000,35>n] [key<200,30>riy<200,32>ao<1000,28>n] [ae<150,23>zih<100>f] [nah<300,23>thih<200,26>nx] [rih<300,24>lliy<300,26>mae<300,26>DXRR<300,25>Z<300,25>_<300,25>]
[:phoneme on] [dah<600,20>] [dah<600,20>] [dah<600,20>] [dah<500,16>] [dah<130,23>] [dah<600,20>] [dah<500,16>] [dah<130,23>] [dah<600,20>] [dah<600,27>] [dah<600,27>] [dah<600,27>] [dah<500,28>] [dah<130,23>] [dah<600,19>] [dah<500,16>] [dah<130,23>] [dah<600,20>] [dah<600,32>] [dah<600,20>] [dah<600,32>] [dah<600,31>] [dah<100,30>] [dah<100,29>] [dah<100,28>] [dah<300,29>] [dah<150,18>] [dah<600,28>] [dah<600,27>] [dah<100,26>] [dah<100,25>] [dah<100,24>] [dah<100,26>] [dah<150,15>] [dah<600,20>] [dah<600,16>] [dah<150,23>] [dah<600,20>] [dah<600,20>] [dah<150,23>] [dah<600,27>] [dah<600,32>] [dah<600,20>] [dah<600,32>] [dah<600,31>] [dah<100,30>] [dah<100,29>] [dah<100,28>] [dah<300,29>] [dah<150,18>] [dah<600,28>] [dah<600,27>] [dah<100,26>] [dah<100,25>] [dah<100,24>] [dah<100,26>] [dah<150,15>] [dah<600,20>] [dah<600,16>] [dah<150,23>] [dah<600,20>] [dah<600,16>] [dah<150,23>] [dah<600,20>]
[:phoneme on] [tey<500,13> k,<500,20> miy<500,25> aw<500,22> txtuw<500,20> dhax<500,17> baw<1500,20> ] [gey<1500,15> m] [tey<500,13> k,<500,20> miy<500,25> aw<500,22> txtuw<500,20> dhax<500,17> kraw<1500,20> d<100,20> ] [bay<500,22> miy<500,18> sax<500,22> m<100,19> piy<500,17> nax<500,18> txsae<500,20> ndkrae<1000,22> krx<500,18> jhae<1500,15> ks] [ay<500,22> ,<500,20> dow<500,22> k ae<500,22> r rixih<500,24> fay<500,25> eh<500,27> vrx<500,24> gih<500,22> tbae<500,20> k] [fow<500,17> ih<500,15> tsruw<500,13> lx,<500,20> ruw<500,25> txruw<500,20> txfow<500,20> txdhax<500,17> hxow<1500,20> m<100,20> ] [ih<500,13> fdhey<500,13> dow<500,15> ntxwih<500,17> nih<500,18> txsax<500,20> shey<2000,22> m<100,22> ] [ae<500,19> tx dhax<500,20> ow<1500,22> lxd baa<1500,24> lx gey<2000,25> m<100,25> _<500,20>]
[:phoneme on] [llao<1600,25>] [llao<350,20>] [llao<300,18>] [llao<1600,20>] [llao<350,13>] [llao<300,15>] [llao<1200,17>] [llao<1200,20>] [llao<600,17>] [llao<1400,15>] [llao<130,20>] [llao<130,22>] [llao<130,23>] [llao<130,24>] [llao<1600,25>] [llao<350,20>] [llao<300,18>] [llao<1600,20>] [llao<350,13>] [llao<300,15>] [llao<1200,17>] [llao<1200,17>] [llao<600,15>] [llao<1000,13>] [llao<130,13>] [llao<130,17>] [llao<130,20>] [llao<130,25>] [llao<350,24>] [llao<130,24>] [llao<130,20>] [llao<350,22>] [llao<130,22>] [llao<130,18>] [llao<620,20>] [llao<130,8>] [llao<130,12>] [llao<130,15>] [llao<130,18>] [llao<1600,17>] [llao<130,13>] [llao<130,17>] [llao<130,20>] [llao<130,25>] [llao<350,24>] [llao<130,24>] [llao<130,20>] [llao<350,22>] [llao<130,22>] [llao<130,18>] [llao<620,20>] [llao<130,20>] [llao<130,22>] [llao<130,23>] [llao<130,24>] [llao<1600,25>] [llao<200,29>] [llao<200,27>] [llao<200,25>] [llao<200,24>] [llao<200,22>] [llao<300,20>] [llao<130,17>] [llao<130,18>] [llao<1200,20>] [llao<350,13>] [llao<300,15>] [llao<1200,17>] [llao<1200,17>] [llao<600,15>] [llao<1000,13>]
Tone songs!
[:t327,330] [:t412,330] [:t490,330] [:t412,330] [:t327,330] [:t412,150] [:t490,460] [:t412,330] [:t275,330] [:t327,330] [:t412,330] [:t327,330] [:t275,330] [:t327,150] [:t412,460] [:t327,330] [:t245,330] [:t309,330] [:t367,330] [:t309,330] [:t245,330] [:t309,150] [:t367,460] [:t309,330] [:t245,330]
[:t329,500] [:t246,250] [:t261,250] [:t293,500] [:t261,250] [:t246,250] [:t220,500] [:t220,250] [:t261,250] [:t329,500] [:t293,250] [:t261,250] [:t246,500] [:t246,250] [:t261,250] [:t293,500] [:t329,500] [:t261,500] [:t220,500] [:t220,500] [:t293,500] [:t349,250] [:t440,500] [:t392,250] [:t349,250] [:t329,750] [:t261,250] [:t329,500] [:t293,250] [:t261,250] [:t246,500] [:t246,250] [:t261,250] [:t293,500] [:t329,500] [:t261,500] [:t220,500] [:t220,500] [:t329,875] [:t261,875] [:t293,875] [:t246,875] [:t261,875] [:t220,875] [:t207,875] [:t246,875] [:t329,875] [:t261,875] [:t293,875] [:t246,875] [:t261,438] [:t329,438] [:t440,875] [:t415,1000]
[:t293,200] [:t293,200] [:t293,200] [:t293,600] [:t293,200] [:t261,400] [:t220,200] [:t174,800] [:t196,200] [:t293,400] [:t293,400] [:t261,200] [:t233,200] [:t261,1600] [:t311,200] [:t311,400] [:t311,400] [:t311,200] [:t293,400] [:t261,400] [:t233,600] [:t233,200] [:t293,400] [:t293,200] [:t261,400] [:t233,200] [:t293,1600]
Subscriber and donation alerts with musical tones:
[:tone 523 200] [:tone 659 200] [:tone 784 400] [:nw] [:dv br 20 pr 150]Thanks for the sub, CoolViewer123! [:np] [:dv ap 140 pr 120]Welcome to the coffee crew!
[:tone 440 200] [:tone 554 200] [:tone 659 400] [:dv ap 180 hs 110]Wow! [:dv pr 200]20,000 bits from SuperFan99! [:tone 880 300] [:tone 988 500]
Fun character voices for stream interaction:
[:dv ap 80 pr 0 br 0 sm 0]Initiating stream protocol.[:sync]System online. [:tone 440 200] Beep boop.
[:nw] [:dv hs 70 ap 200 pr 150 br 30]Oh my gosh oh my gosh oh my gosh! [:tone 880 100] [:tone 988 100] [:tone 1176 200]
[:np] [:dv hs 120 ap 80 pr 90 la 40]Foolish mortals! Your channel points are mine![:tone 200 500] [:tone 150 800] Muh ha ha ha ha!
Special event announcements and interactions:
[:tone 659 200] [:tone 784 200] [:nw] [:dv ap 170 pr 120]CoffeeKid redeemed 'Make Bot Sing'![:np] [:dv ap 140]🎵 Never gonna give you up... [:dv pr 150]Never gonna let you down... 🎵
[:tone 523 200] [:tone 659 200] [:tone 784 200] [:tone 1046 400] [:dv ap 160 pr 180]INCOMING RAID ALERT! [:tone 1046 200] [:tone 784 200] [:nw]MegaStreamer is raiding with 100 viewers![:np] [:dv hs 110]Welcome raiders! Grab some coffee!
Fun meme-inspired announcements:
[:np] [:dv hs 120 ap 90]In a world... [:tone 0 500] [:dv pr 150]where coffee meets code...[:tone 300 500] [:dv ap 70]One streamer will change everything...
[:nw] [:dv ap 200 pr 200]OH BABY A TRIPLE! [:tone 880 100] [:tone 988 100] [:tone 1176 100] [:np]MOM GET THE CAMERA! [:tone 1760 200]Wow! [:tone 1760 200]
Voice lines for stream games and interactions:
[:np] [:dv ap 140]ChatWarrior draws their sword! [:tone 660 200] [:tone 880 300] [:nw] [:dv ap 170 pr 140]StreamBoss takes 25 damage! [:tone 440 200] [:tone 392 400]
[:tone 523 200] [:tone 659 200] [:np]The wheel is spinning! [:tone 784 200] [:tone 880 200] [:dv pr 180]And the winner is... [:tone 0 1000] [:tone 1046 500]JACKPOT!
Classic sound effects and musical moments:
[:tone 392 300] [:tone 349 300] [:tone 330 300] [:tone 294 600] [:np] [:dv ap 90 pr 50]Wah wah wahhhhh...
[:tone 523 200] [:tone 523 200] [:tone 523 200] [:tone 523 400] [:tone 415 400] [:tone 466 400] [:tone 523 600] [:np] [:dv pr 150]Winner winner!
Escalating announcements for combos and streaks:
[:np] [:dv ap 140 pr 120]Double kill! [:tone 660 200] [:dv ap 150 pr 140]Triple kill! [:tone 880 200] [:dv ap 160 pr 160]MONSTER KILL! [:tone 1100 400] [:dv ap 180 pr 200]GODLIKE! [:tone 1320 600]
[:tone freq duration]
Where:
Example: [:tone 440 1000]
plays a 440Hz tone (A4 note) for 1 second
Common musical frequencies:
C4 (Middle C) | 262 Hz | [:tone 262 1000] |
D4 | 294 Hz | [:tone 294 1000] |
E4 | 330 Hz | [:tone 330 1000] |
F4 | 349 Hz | [:tone 349 1000] |
G4 | 392 Hz | [:tone 392 1000] |
A4 (Concert A) | 440 Hz | [:tone 440 1000] |
B4 | 494 Hz | [:tone 494 1000] |
C5 | 523 Hz | [:tone 523 1000] |
You can control the volume of tones using the [:vol]
command:
[:vol set 100]
- Set volume to 100% (maximum)[:vol set 50]
- Set volume to 50%[:vol set 75][:tone 440 1000][:vol set 100]
Create simple melodies by chaining tones:
[:tone 262 250][:tone 294 250][:tone 330 250][:tone 349 250][:tone 392 250][:tone 440 250][:tone 494 250][:tone 523 250]
[:tone 262 300][:tone 330 300][:tone 392 300][:tone 523 500]
[:tone 440 500][:tone 523 500]
Hello [:tone 440 500] World
[:tone 440 500][:tone 0 250][:tone 440 500]
[:tone 1000 100]
Change voices using the [:name]
command:
[:name paul]
or [:np]
- Default male voice[:name wendy]
or [:nw]
- Whispering female voiceCustomize voice parameters with [:dv]
:
[:dv ap 100]
- Set average pitch to 100Hz[:dv hs 110]
- Set head size to 110%[:dv br 0]
- Set breathiness to 0[:dv r 100]
- Set speech rate to 100[:dv sm 100]
- Set smoothness to 100%Control how text is interpreted using [:mode]
:
[:mode spell on]
- Spell out all words[:mode math on]
- Mathematical symbol interpretation[:mode name on]
- Pronounce uppercase words as names[:mode citation on]
- Clear pronunciation without vowel reductionUse [:mode off]
to disable any mode.
Control when speaking begins using the [:say]
command:
[:say XX]
where XX is one of:
[:say clause]
- Speak on end of clause (default)[:say word]
- Speak on end of word[:say letter]
- Speak on end of letter[:say line]
- Speak on end of line[:say filtered letter]
- Speak on end of letter, ignoring control characters (e.g., vertical tab and line feed)[:say word]This will speak word by word.
Note: This command is synchronous and affects all subsequent text until another [:say] command is encountered.
Control how DECtalk treats punctuation marks using the [:punct]
command:
[:punct XX]
[:punct none]
- Punctuation and some other symbols are not pronounced. Exceptions: dollar and percentage signs. Punctuation symbols are treated as text breaks.[:punct some]
- Text is read normally; clause boundary punctuation is not spoken, but all symbols such as $ are spoken as words. (Default)[:punct all]
- All punctuation symbols and other symbols are spoken as words.[:punct pass]
- All special punctuation processing is turned off. Useful in proofreading and applications where special characters are encountered, such as in computer programs.some
Control the speaking rate using the [:rate]
command:
[:rate DD]
where DD is words per minute[:rate 400]
- Set speech to 400 words per minute[:rate 75]
- Set to minimum rate[:rate 600]
- Set to maximum rateImportant Notes:
[:rate 880]
defaults to 600 words per minuteFine-tune pauses in speech:
[:period]
- Controls pause after periods (default: 640ms)
[:period 250]
- Set period pause to 250ms[:pp 0]
- Reset to default[:comma]
- Controls pause after commas (default: 280ms)
[:comma 150]
- Set comma pause to 150ms[:cp 0]
- Reset to defaultAdd expression to speech:
[:express sad]
- Sad expression[:express happy]
- Happy expression[:express angry]
- Angry expression[:emph +]
- Increase emphasis[:emph -]
- Decrease emphasis[:emph =]
- Normal emphasisControl language settings and pronunciation:
[:language english]
- Set language to English[:dictionary on]
- Enable dictionary lookup[:dictionary off]
- Disable dictionary lookup[:say-as date]
- Interpret text as date[:say-as time]
- Interpret text as time[:say-as number]
- Interpret text as numberDECtalk provides 28 different options for customizing voices, with some having more dramatic effects than others:
NOTE: Of the 28 options, the following parameters have the most dramatic effects on voice characteristics:
Key voice parameters for the main voices:
Parameter | Paul | Wendy |
---|---|---|
ap (average pitch) | 112 Hz | 195 Hz |
as (assertiveness) | 100 | 55 |
b4 | 280 | 300 |
b5 | 330 | 2048 |
bf | 18 | 10 |
br (breathiness) | 0 | 45 |
f4 | 3300 | 4600 |
f5 | 3650 | 2500 |
hr | 18 | 18 |
hs (head size) | 100 | 100 |
la (laryngealization) | 0 | 0 |
lx | 0 | 80 |
nf | 10 | 15 |
pr (pitch range) | 100 | 100 |
qu | 40 | 20 |
ri | 70 | 70 |
sm | 30 | 20 |
sr | 25 | 22 |
Important Note: With DECtalk 4.6.4, options g1 through gv were removed from Design voice [:dv]. In previous versions, these options were tuned manually (constant values), but now they are auto-tuned mathematically (they change and don't have default values).
To modify voice parameters, use the [:dv]
command:
[:dv parameter value]
[:dv ap 150 hs 120]
- Sets average pitch to 150Hz and head size to 120%[:dv ap 180]
[:dv hs 120]
[:dv br 50]
[:dv ap 160 hs 110 br 30 la 10]
Six speaker-definition options control the size and shape of the head:
Parameter | Description |
---|---|
sx | Sex (1 for male, 0 for female) |
hs | Head size, in % |
f4 | Fourth formant resonance frequency, in Hz |
f5 | Fifth formant resonance frequency, in Hz |
b4 | Fourth formant bandwidth, in Hz |
b5 | Fifth formant bandwidth, in Hz |
Male and female voices differ in many ways, including head size, pharynx length, larynx mass, and speaking habits. The sx
parameter controls these characteristics:
sx = 1
)sx = 0
)[:np][:dv sx 0] Am I a man or woman?
NOTE: Changing sex may cause filters to overload, producing a squawk-like sound. Adjust f4, f5, and g1 parameters to correct this.
Head size has a strong influence on voice characteristics:
[:np][:dv hs 115] Do I sound bigger this way?
[:nk][:dv hs 65] Do I sound like a six year old?
NOTE: Extreme head size changes can cause overloads and speech clarity issues. Adjust f4, f5, and g1 parameters if needed.
These parameters control resonant peaks in the voice spectrum:
Six speaker-definition options control larynx output (voice quality):
Parameter | Description |
---|---|
br | Breathiness, in decibels (dB) |
lx | Lax breathiness, in % |
sm | Smoothness, in % |
ri | Richness, in % |
nf | Number of fixed samples of open glottis |
la | Laryngealization, in % |
Controls the amount of breath in the voice:
[:np][:dv br 55 gv 56] Do I sound more like Dennis now?
Controls breathiness at sentence endings and transitions:
Controls vocal fold vibrations:
[:dv sm 50]
for a moderately smooth voiceControls voice spectral characteristics:
[:np][:dv ri 0 sm 70] Do I sound more mellow?
[:np][:dv ri 90 sm 0] Do I sound more forceful?
Controls the open phase of the glottal cycle:
Controls voice irregularity:
[:nb][:dv la 20]
for moderate laryngealizationControl pitch of uppercase letters using the [:pitch]
command:
[:pitch DD]
where DD is frequency in Hertz[:pitch 60] bBcCdD
- Higher pitch for uppercase letters[:pitch 35] eFfGgH
- Default pitch differenceNotes:
[:sync]
command after pitch command to ensure proper processingCustomizes DECtalk voices by introducing voice options and parameters that can be entered as a string or one at a time.
[:dv XX YY]
Where XX and YY are parameter-value pairs from the options table below.
Option | Description |
---|---|
ap | Average pitch, in Hz |
as | Assertiveness, in % |
b4 | Fourth formant bandwidth, in Hz |
b5 | Fifth formant bandwidth, in Hz |
bf | Baseline fall, in Hz |
br | Breathiness, in decibels (dB) |
f4 | Fourth formant resonance frequency, in Hz |
f5 | Fifth formant resonance frequency, in Hz |
hr | Hat rise, in Hz |
hs | Head size, in % |
la | Laryngealization, in % |
lx | Lax breathiness, in % |
nf | Number of fixed samples of open glottis |
pr | Pitch range, in % |
qu | Quickness, in % |
ri | Richness, in % |
sm | Smoothness, in % |
sr | Stress rise, in Hz |
sx | Sex (1 for male or 0 for female) |
[:np][:dv ap 100]
[:dv ap 160 hs 110 br 30]
[:dv ap 180 hs 120 save]
NOTE: See the Voice Definitions section for default parameter values and valid ranges for each option.
The following symbols control stress and syntax in phoneme mode. Note: Phoneme interpretation must be turned on for these symbols to work.
Symbol | Name | Indicates | Unicode |
---|---|---|---|
' | Apostrophe | Primary stress | U+27 |
` | Grave accent | Secondary stress | U+60 |
" | Quotation mark | Emphatic stress | U+22 |
/ | Slash | Pitch rise | U+2F |
\ | Backslash | Pitch fall | U+5C |
Symbol | Name | Indicates | Unicode |
---|---|---|---|
- | Hyphen | Syllable boundary | U+2D |
* | Asterisk | Morpheme boundary | U+2A |
# | Number sign | Compound nouns | U+23 |
( | Open parenthesis | Beginning of prepositional phrase | U+28 |
) | Close parenthesis | Beginning of verb phrase | U+29 |
, | Comma | Clause boundaries | U+2C |
. | Period | Period | U+2E |
? | Question mark | Question mark | U+2F |
! | Exclamation point | Exclamation point | U+21 |
+ | Plus sign | New paragraph | U+2B |
Space | Space | Word boundary | U+20 |
Homographs are words that share the same spelling but have different pronunciations. DECtalk handles these cases specially:
[:pronounce alternate]
for alternate pronunciations[:pronounce alternate]
b'aesI caught a [:pronounce alternate] bass when I went fishing.
DECtalk includes sophisticated parsing rules for handling various text formats and special cases.
Unless an in-line command is used, the preprocessor uses punctuation to speak text correctly. The following rules apply:
Note: All other punctuation marks are ignored by default.
[:punct all]
- Interpret all punctuation marks as words to be spoken[:punct none]
- Treat punctuation only as text breaks[:punct pass]
- Turn off special punctuation processing[:punct some]
- Default mode: normal reading with selective symbol pronunciationThe following rules apply to English (US) text:
Advanced Usage Notes:
Use [:tone 0 duration]
for precise timing control:
[:tone 0 milliseconds]
Hello[:tone 0 1000]World
- One second pause between words[:tone 440 200][:tone 0 500][:tone 440 200]
Control timing and synchronization in your speech output:
[:sync]
- Synchronization command
[:np][:sync]Hello
- Ensures voice change is processed before speaking[:timeout XX]
- Pause command
Hello[:timeout 1000]World
- One second pause between words[:index mark]
- Set an index marker for synchronization[:rate wpm 200]
- Set words per minuteImportant Notes:
[:sync]
command is useful when changing multiple voice parameters[:timeout]
for precise timing control in speech output[:np][:sync]Hello[:timeout 500]World
Follow these rules when writing DECtalk commands:
[:rate 150][:name Betty] Hello. How are you?
[:rate 75]I can speak slower. [:rate 350]I can speak faster.[:rate 200]
[:name Betty]
→ [:nb]
[:name Paul]
→ [:np]
[:name Harry]
→ [:nh]
[:dv ap 160 pr 50 save][:nv]
[:name Paul][:rate 100] This is Paul speaking slowly.
[:dv ap 160 pr 50 save]
[:dv ap 160 pr 50 save]
[:name Betty][:name Paul] Hello.
(Paul's voice will be used)
[:phoneme arpabet speak on] Now I'm [r ' iyl iy] thrilled.
Note: Commands are case-insensitive, but using lowercase is recommended for consistency.
DECtalk can generate musical tones and sequences:
[phoneme <duration, pitch number>]
Parameters:
duration
: Tone duration in millisecondspitch number
: Pitch number from the tone tablePitch Number | Note | Frequency (Hz) |
---|---|---|
1 | C2 | 65 |
2 | C# | 69 |
3 | D | 73 |
4 | D# | 77 |
5 | E | 82 |
6 | F | 87 |
7 | F# | 92 |
8 | G | 98 |
9 | G# | 103 |
10 | A | 110 |
11 | A# | 116 |
12 | B | 123 |
13 | C3 | 130 |
14 | C# | 138 |
15 | D | 146 |
16 | D# | 155 |
17 | E | 164 |
18 | F | 174 |
19 | F# | 185 |
20 | G | 196 |
21 | G# | 207 |
22 | A | 220 |
23 | A# | 233 |
24 | B | 247 |
25 | C4 | 261 |
26 | C# | 277 |
27 | D | 293 |
28 | D# | 311 |
29 | E | 329 |
30 | F | 348 |
31 | F# | 370 |
32 | G | 392 |
33 | G# | 415 |
34 | A | 440 |
35 | A# | 466 |
36 | B | 494 |
37 | C5 | 523 |
NOTE: The table shows the complete range of musical pitches available in DECtalk, from C2 (65 Hz) to C5 (523 Hz). Each pitch number corresponds to a specific musical note and frequency.
Here are some example musical sequences you can use with DECtalk:
[:phoneme arpabet speak on][hxae<300,10>piy<300,10> brr<600,12>th<100>dey<600,10>tuw<600,15> yu<1200,14>_<120>]
This example demonstrates:
TIP: When creating musical sequences, remember to:
[:phoneme arpabet speak on]
[:name paul][:dv ap 80][:dv hs 110] Hello, I am a customized voice!
[:mode spell on][:period 400][:comma 200] D.E.C. Talk
[:name wendy] Alert! [:tone 440 500] Message received [:tone 880 300]