Speakjet Phonetic Guide

From 8BitDev.org - Atari 7800 Development Wiki
Jump to: navigation, search

Speakjet Phonetic Guide

The SpeakJet chip produces human speech and sound effects using its built-in **Mathematical Sound Architecture (MSA)**. Instead of playing back recorded audio files (like .WAV files), it uses math models to copy how human vocal cords, tongues, teeth, and lips move to make sound.

By sending single-byte numbers to the SpeakJet over a serial connection, you can string basic speech sounds together to form any word, sentence, or sound effect in real time.

How Speech Works on the SpeakJet

Human speech is made up of small sound building blocks:

  • Phoneme: The general family of a sound (for example, the letter sound "T").
  • Allophone: The exact version of that sound you actually hear, depending on where it sits in a word and what sounds come right before or after it.
    • The "T" sound at the start of tea has a sharp blast of air.
    • The "T" sound at the end of cat is shorter and softer.
    • The "T" sound in the middle of water sounds almost like a soft "D".

The SpeakJet has **72 built-in speech elements (allophones)**. As you send these sound codes to the chip, it smoothly glides the sound from one mouth shape to the next, just like a person talking.

Five Golden Rules for Clear Speech

Follow these five rules to make words sound clear and natural rather than muddy or robotic:

1. Spell by Sound, Not by Letters

English spelling does not match how words actually sound. For example, the letters "c-a-t" sound like "K-A-T", and "ph" sounds like "F". Always spell words using the sound codes that match what your ears hear, not how the word is written on paper.

2. Match Consonants to the Right Vowel

Consonant sounds (like B, D, G, K, S) change depending on whether the vowel that follows them is made in the **front** or the **back** of the mouth:

  • Use \BE before front vowels (like Bear), but use \BO before back vowels (like Bone).
  • Use \KE before front vowels (like Key), but use \KO before back vowels (like Comb).
  • Use \SE before front vowels (like See), but use \SO before back vowels (like So).

3. Use the Right Start or End Sound

Some sounds need special versions depending on where they sit in a syllable:

  • Starting a word/syllable: Use initial consonants like \BE, \DE, \GE, or \TU.
  • Ending a word/syllable: Use ending consonants like \EB, \ED, \EG, or \TT.

4. Take care when Doubling Up Sounds Between Words

A few basic vowel sounds have a consistent sound from beginning to end and can be chained, but most other sounds can't be chained.

  • If you say "Night Time", your mouth drops the "T" at the end of "Night" and blends directly into "Time" (saying "Ni-Time").
  • If you program both "T" sounds back-to-back, the chip will stutter unnaturally.

5. Change the Pitch, Speed, and Bend

A voice that stays at the exact same pitch sounds flat and robotic.

  • Questions: Raise the pitch code on the last word to make it sound like a question.
  • Statements: Drop the pitch slightly at the very end of a sentence.
  • Important Words: Slow down and raise the pitch slightly on the most important word in a sentence to add natural emphasis.

The Vowel Map

Vowels are made by holding your mouth open and changing where your tongue sits (High, Mid, or Low) and whether it is in the Front, Middle, or Back of your mouth. All back vowels are made with rounded lips.

Tongue Height Tongue Position in Mouth
Front (Flat Lips) Middle Back (Round Lips)
High \IY (128)
See, Feed
— \UW (139)
Food, June
High-Mid \IH (129)
Sit, Pin
— \UH (138)
Book, Could
Mid \EY (130)
Gate, Beige
\AX (133)
Cotton
\OW (137)
Comb, Over
Low-Mid \EH (131)
Met, Red
\UX (134)
Luck, Up
\OH (135)
Hot, Fox
Low \AY (132)
Hat, Fast
— \AW (136)
Father, Fall

Long Vowels vs. Sliding Vowels (Diphthongs)

  • Making Pure Vowels Longer: To make a simple vowel sound longer, either send the same code twice in a row (for example: \IY \IY) or place the SLOW code (8) right in front of it.
  • Sliding Vowels (Diphthongs): Sounds like \EYIY (the "A" in gate) or \AYWW (the "ow" in cow) are sliding sounds that move from one vowel to another. **Do not repeat these codes back-to-back**, or the chip will repeat the whole slide and sound like it is hiccuping.

Adding Brief Silences Before Pop Sounds

Sounds like P, B, T, D, K, and G need a tiny moment of silence before their release burst so the mouth can "build up air pressure."

  • The chip adds a tiny gap automatically, but if a word sounds muddy, insert a short silence like Pause 4 (30 ms) or Pause 5 (60 ms) right before the starting pop sound.

Master MSA Command Guide

The MSA engine does not just play sounds—it has an entire programming language of control codes (decimal codes 0 to 31, and 255). These codes sit in the exact same 64-byte input buffer as your speech sounds and execute in the order they were sent.

Mastering these commands is what turns robotic, unintelligible babble into clear, expressive speech.

Single-Byte vs. Two-Byte Commands

  • Single-Byte Commands: Codes like Fast (7), Slow (8), or Pause 2 (2) act on their own and only take up one byte in the buffer.
  • Two-Byte Commands: Settings like Volume (20), Speed (21), Pitch (22), and Bend (23) **must be followed by an extra value byte (X)**. For example, setting the pitch to 90 requires sending two bytes in sequence: 22, 90.

Pauses and Silence Mechanics

The SpeakJet provides seven distinct pause commands (0 through 6). Picking the right pause is essential for clean sound transitions:

  • Pause 0 (0 ms): Immediately tells the synthesizer to ramp its volume down to zero. Always put this at the very end of your speech data so the speaker doesn't hiss or pop when finished.
  • Pauses 1, 2, and 3 (Soft Word Breaks):
    • Pause 1 = 100 ms
    • Pause 2 = 200 ms
    • Pause 3 = 700 ms
    • How they work: These pauses lower the volume while continuing to calculate the moving mouth shapes. Use these between words (Pause 1 or 2) and between whole sentences (Pause 3) for natural breathing pauses.
  • Pauses 4, 5, and 6 (Hard Pop Silences):
    • Pause 4 = 30 ms
    • Pause 5 = 60 ms
    • Pause 6 = 90 ms
    • How they work: These pauses force the synthesizer to reach total, complete silence before changing the mouth shapes. Use these right before unvoiced pop sounds (like P, T, K) to clear out sound energy and make the consonant pop crisply.

Shaping Speed, Rhythm, and Timing

Real people do not pronounce every syllable at the same speed:

  • Master Speed (Code 21, X): Sets the overall speaking rate. Default is 114 (range 0 to 127). Higher numbers make the voice talk faster.
  • Fast (Code 7): Cuts the duration of the very next sound in half (0.5× length). Use this on small, unimportant syllables and helper words (like "the", "a", "of", "in").
  • Slow (Code 8): Stretches the very next sound to 1.5× its normal length. Use this on stressed syllables or to draw out a vowel sound.
  • Delay (Code 30, X): Freezes sound execution for X × 10 milliseconds (up to 2,550 ms or 2.55 seconds). Useful for timing gaps between phrases.

Vocal Muscle Tone: Stress and Relax

Human vocal cords and mouth muscles tighten when expressing emotion or emphasizing a syllable:

  • Stress (Code 14): Simulates slightly tightening the mouth muscles on the next sound. This subtly shifts the vowel frequency upward. For example, playing Stress before \IH makes it sound closer to a sharp \IY.
  • Relax (Code 15): Simulates loosening the mouth muscles on the next sound. For example, playing Relax before \IY softens it toward \IH.
  • Rule for Doubled Sounds: Because Stress and Relax only apply to the single sound immediately following them, if you double a vowel (e.g., \EH \EH), you must send the command before both sounds: 14, 131, 14, 131.

Pitch and Emotion Modulation

Pitch represents the fundamental frequency (F0) of vocal cord vibrations:

  • Pitch (Code 22, X): Accepts a value from 0 to 255 (default 88). The range covers 3 full musical octaves (32 Hz to 240 Hz).
    • Values below 30 vibrate so slowly that they sound like individual clicks instead of a tone.
    • Pitch code 0 completely turns off the vocal cord buzz (0 Hz).
    • Pitch changes only affect voiced sounds (vowels, nasals, voiced stops). They have no effect on whispered or unvoiced hissing sounds (like S, F, SH).
  • Pitch Recipes:
    • Asking a Question: Keep your baseline pitch around 80–88, and on the very last syllable, step the pitch up: 22, 110.
    • Stating a Fact: Start at 90, and step down to 22, 75 on the final word to signal you are done talking.

Bend: Changing the Character of the Voice

  • Bend (Code 23, X): Accepts values from 0 to 15 (default 5).
  • Bend adjusts the frequency curves of the chip's internal oscillators, changing the perceived size and material of the vocal tract:
    • Low Bend (0 to 3): Makes the voice sound deep, hollow, and large.
    • Default Bend (5): Natural human voice balance.
    • High Bend (8 to 15): Shifts the resonance higher, making the voice sound small.

Flow Control, EEPROM Calling, and Port Pins

  • Wait (Code 16): Pauses the chip's speech output until a Start command is received over the serial port or an input pin changes state.
  • Repeat (Code 26, X): Repeats the very next code X times (0 to 255). Great for repeating sound effects or alarm pings without wasting buffer memory.
  • Call Phrase (Code 28, X) and Goto Phrase (Code 29, X): Allows your code to trigger one of the 16 pre-recorded phrases stored inside the SpeakJet's EEPROM (phrases 0 to 15).
    • Call Phrase acts like a function call—it plays the phrase, and when it hits an End of Phrase code (255), it returns back to where it left off. You can nest calls up to 3 levels deep!
    • Goto Phrase jumps to the phrase and does not return.
  • Port Control (Code 24, X) and Port Output (Code 25, X): Allows the SpeakJet's sound stream to directly flip external output pins (D0, D1, D2).
    • Send 24, 0 to take manual control of all three pins.
    • Send 25, Value to set them HIGH or LOW. You can use this to flash an LED on an exact syllable or ignite a model rocket after a countdown!
  • Reset Defaults (Code 31): Instantly restores Volume (96), Speed (114), Pitch (88), and Bend (5) to factory default values.

Master Control Codes Summary Table

Dec Hex Name Extra Value? Default Description & Practical Usage
000 0x00 Pause 0 None — 0 ms pause. Fast volume ramp to zero. Put at the end of every phrase.
001 0x01 Pause 1 None — 100 ms pause. Smooth volume dip. Ideal between words.
002 0x02 Pause 2 None — 200 ms pause. Standard pause between major sentence clauses.
003 0x03 Pause 3 None — 700 ms pause. Long pause for paragraph/sentence breaks.
004 0x04 Pause 4 None — 30 ms silence. Clears sound energy before starting pop consonants.
005 0x05 Pause 5 None — 60 ms silence. Clears sound energy before unvoiced stops.
006 0x06 Pause 6 None — 90 ms silence. Extended silence before harsh sounds.
007 0x07 Fast None — Plays the very next sound at half (0.5×) length.
008 0x08 Slow None — Plays the very next sound at 1.5× length.
014 0x0E Stress None — Tightens vocal tract for the very next sound.
015 0x0F Relax None — Loosens vocal tract for the very next sound.
016 0x10 Wait None — Halts execution until a Start event occurs.
020 0x14 Volume 0–127 96 Sets master loudness level.
021 0x15 Speed 0–127 114 Sets overall speaking speed / phoneme duration.
022 0x16 Pitch 0–255 88 Sets voice pitch (32 Hz to 240 Hz). 0 = unvoiced.
023 0x17 Bend 0–15 5 Sets formant frequency spread (0 = deep, 15 = tinny).
024 0x18 PortCtr 0–7 7 Sets pin control modes for D0–D2 (1 = chip, 0 = user).
025 0x19 Port 0–7 0 Sets HIGH/LOW logic output states for pins D0–D2.
026 0x1A Repeat 0–255 — Repeats the very next command or sound code X times.
028 0x1C Call Phrase 0–15 — Calls an EEPROM phrase as a subroutine (max 3 deep).
029 0x1D Goto Phrase 0–15 — Jumps directly to an EEPROM phrase.
030 0x1E Delay 0–255 — Pauses execution for X × 10 ms (up to 2550 ms).
031 0x1F Reset Defaults None — Restores Volume (96), Speed (114), Pitch (88), and Bend (5).
032–127 0x20–0x7F Reserved — — System reserved memory block.
255 0xFF End of Phrase None — Delimits phrase termination in EEPROM.

Allophone Speech Sound List (Codes 128–199)

This table lists all 72 basic speech building blocks built into the SpeakJet. Note that all lengths are approximate, and the actual measured lengths will vary based on the phoneme context in speech. (due to blending, volume fading, unvoiced phoneme stops, etc.)

Dec Hex Name Sound Type Length (ms) Helpful Usage Tips Example Words
128 0x80 \IY Long Vowel 70 High front vowel. See, Even, Feed
129 0x81 \IH Short Vowel 70 Short front vowel. Sit, Fix, Pin
130 0x82 \EY Long Vowel 70 Mid front vowel. Stressed. Hair, Gate, Beige
131 0x83 \EH Short Vowel 70 Standard "e" sound. Met, Check, Red
132 0x84 \AY Short Vowel 70 Flat "a" sound. Hat, Fast, Fan
133 0x85 \AX Short Vowel 70 Relaxed "uh" sound for unstressed parts. Cotton, Dust
134 0x86 \UX Short Vowel 70 Short "u" sound. Luck, Up, Uncle
135 0x87 \OH Short Vowel 70 Short "o" sound. Hot, Clock, Fox
136 0x88 \AW Short Vowel 70 Deep "ah" sound. Father, Fall
137 0x89 \OW Long Vowel 70 Long "o" sound. Comb, Over, Hold
138 0x8A \UH Short Vowel 70 Short "oo" sound. Book, Could, Should
139 0x8B \UW Long Vowel 70 Long "oo" sound. Food, June
140 0x8C \MM Nasal (Nose) 70 Lips together humming sound. Milk, Famous
141 0x8D \NE Nasal (Nose) 70 Use before front vowels. Nip, Danger, Thin
142 0x8E \NO Nasal (Nose) 70 Use before back vowels. No, Snow, On
143 0x8F \NGE Nasal (Nose) 70 "Ng" sound before front vowels. Think, Ping
144 0x90 \NGO Nasal (Nose) 70 "Ng" sound before back vowels. Hung, Song
145 0x91 \LE Resonant 70 "L" sound before front vowels. Lake, Alarm, Lapel
146 0x92 \LO Resonant 70 "L" sound before back vowels. Clock, Plus, Hello
147 0x93 \WW Resonant 70 Smooth "W" sound. Wool, Sweat
148 0x94 \RR Resonant 70 Standard "R" sound. Ray, Brain, Over
149 0x95 \IYRR R-Vowel 200 Combined vowel + R sound. Clear, Hear, Year
150 0x96 \EYRR R-Vowel 200 Combined vowel + R sound. Hair, Stair, Repair
151 0x97 \AXRR R-Vowel 190 Soft "er" at end of words. Fir, Bird, Burn, Letter
152 0x98 \AWRR R-Vowel 200 Combined vowel + R sound. Part, Farm, Yarn
153 0x99 \OWRR R-Vowel 185 Combined vowel + R sound. Corn, Four, Your
154 0x9A \EYIY Sliding Vowel 165 Long "A" sound sliding to "E". Gate, Ate, Ray
155 0x9B \OHIY Sliding Vowel 200 Long "I" sound sliding to "E". Mice, Fight, White
156 0x9C \OWIY Sliding Vowel 225 "Oy" sound. Boy, Toy, Voice
157 0x9D \OHIH Sliding Vowel 185 Open "I" sound. Sky, Five, I
158 0x9E \IYEH Sliding Vowel 170 Starting "Y" sound. Yes, Yarn, Million
159 0x9F \EHLL Sliding Vowel 140 Blended "el" at end of words. Saddle, Angle, Little
160 0xA0 \IYUW Sliding Vowel 180 "You" sound glide. Cute, Few, Computer
161 0xA1 \AXUW Sliding Vowel 170 "Ow" sound. Brown, Clown, Thousand
162 0xA2 \IHWW Sliding Vowel 170 Short "oo" glide. Two, New, Zoo
163 0xA3 \AYWW Sliding Vowel 200 "Ow" sound. Our, Ouch, Owl
164 0xA4 \OWWW Sliding Vowel 131 Long gliding "O" sound. Go, Hello, Snow
165 0xA5 \JH Blend 70 Voiced "J" sound. Dodge, Jet, Savage
166 0xA6 \VV Buzzing Sound 70 Voiced "V" buzzing sound. Vest, Even
167 0xA7 \ZZ Buzzing Sound 70 Voiced "Z" buzzing sound. Zoo, Zap
168 0xA8 \ZH Buzzing Sound 70 Soft buzzing "sh" sound. Azure, Treasure
169 0xA9 \DH Buzzing Sound 70 Voiced "th" sound. There, That, This
170 0xAA \BE Pop Sound 45 Start of word; before front vowels. Bear, Bird, Beed
171 0xAB \BO Pop Sound 45 Start of word; before back vowels. Bone, Book, Brown
172 0xAC \EB Pop Sound 10 End of word; after front vowels. Cab, Crib, Web
173 0xAD \OB Pop Sound 10 End of word; after back vowels. Bob, Sub, Tub
174 0xAE \DE Pop Sound 45 Start of word; before front vowels. Deep, Date, Divide
175 0xAF \DO Pop Sound 45 Start of word; before back vowels. Do, Dust, Dog
176 0xB0 \ED Pop Sound 10 End of word; after front vowels. Could, Bird
177 0xB1 \OD Pop Sound 10 End of word; after back vowels. Bud, Food
178 0xB2 \GE Pop Sound 55 Start of word; before front vowels. Get, Gate, Guest
179 0xB3 \GO Pop Sound 55 Start of word; before back vowels. Got, Glue, Goo
180 0xB4 \EG Pop Sound 55 End of word; after front vowels. Peg, Wig
181 0xB5 \OG Pop Sound 55 End of word; after back vowels. Dog, Pug
182 0xB6 \CH Blend 70 Sharp "ch" sound. Church, Feature, March
183 0xB7 \HE Hissing Sound 70 "H" sound before front vowels. Help, Hand, Hair
184 0xB8 \HO Hissing Sound 70 "H" sound before back vowels. Hoe, Hot, Hug
185 0xB9 \WH Hissing Sound 70 "Wh" blowing sound. Who, Whale, White
186 0xBA \FF Hissing Sound 70 "F" air hissing sound. Food, Effort, Off
187 0xBB \SE Hissing Sound 40 "S" sound before front vowels. See, Vest, Plus
188 0xBC \SO Hissing Sound 40 "S" sound before back vowels. So, Sweat
189 0xBD \SH Hissing Sound 50 "Sh" air sound. Ship, Fiction, Leash
190 0xBE \TH Hissing Sound 40 Quiet unvoiced "th" sound. Thin, Month
191 0xBF \TT Pop Sound 50 Middle or end of words. Part, Little, Sit
192 0xC0 \TU Pop Sound 70 Sharp start of words. To, Talk, Ten
193 0xC1 \TS Blend 170 "Ts" ending sound. Parts, Costs, Robots
194 0xC2 \KE Pop Sound 55 Start of word; before front vowels. Can't, Clown, Key
195 0xC3 \KO Pop Sound 55 Start of word; before back vowels. Comb, Quick, Fox
196 0xC4 \EK Pop Sound 55 End of word; after front vowels. Speak, Task
197 0xC5 \OK Pop Sound 45 End of word; after back vowels. Book, Took, October
198 0xC6 \PE Pop Sound 99 Start of word; before front vowels. People, Computer
199 0xC7 \PO Pop Sound 99 Start of word; before back vowels. Pod, Paw, Copy

Sound Effects & Tone List (Codes 200–254)

The SpeakJet also has 55 built-in sound effects, sirens, creature sounds, and telephone touch-tones.

Robot Chatter Sounds

Short, 80 ms electronic sounds useful for robotic chatter, button clicks, and sci-fi effects.

Dec Hex Name Time Sound Type Best Used For
200–209 0xC8–0xD1 \R0 to \R9 80 ms each Robot Quick electronic clicks, sci-fi computer sounds, and robotic chatter.

Sirens & Warning Alarms

Sustained pitch sweeps for alarms and alerts.

Dec Hex Name Time Description
210 0xD2 \A0 300 ms Fast mid-pitch chirp siren.
211 0xD3 \A1 101 ms High electronic blip.
212 0xD4 \A2 102 ms Low alert tone.
213 0xD5 \A3 540 ms Rising multi-tone siren sweep.
214 0xD6 \A4 530 ms High warbling siren.
215 0xD7 \A5 500 ms Loud industrial warning horn.
216 0xD8 \A6 135 ms Fast intrusion alarm beep.
217 0xD9 \A7 600 ms Rising two-tone siren sweep.
218 0xDA \A8 300 ms Continuous ringing bell sound.
219 0xDB \A9 250 ms Repeating alert beep.

Beeps & Button Feedback

Dec Hex Name Time Description
220 0xDC \B0 200 ms Clean confirmation beep.
221 0xDD \B1 270 ms Mid-pitch chime.
222 0xDE \B2 280 ms Low error / rejection buzz.
223 0xDF \B3 260 ms High-pitch success beep.
224 0xE0 \B4 300 ms Resonant dual-tone blip.
225 0xE1 \B5 100 ms Very short click.
226 0xE2 \B6 104 ms High button tap sound.
227 0xE3 \B7 100 ms Low thud tap sound.
228 0xE4 \B8 270 ms Rising two-note chime.
229 0xE5 \B9 262 ms Falling two-note cancel sound.

Biological & Animal Sounds

Dec Hex Name Time Description
230 0xE6 \C0 160 ms Short bird chirp / click.
231 0xE7 \C1 300 ms Low frog croak / throat growl.
232 0xE8 \C2 182 ms High bird trill.
233 0xE9 \C3 120 ms Quick animal squeak.
234 0xEA \C4 175 ms Cricket chirp sound.
235 0xEB \C5 350 ms Deep creature groan.
236 0xEC \C6 160 ms Short throat grunt.
237 0xED \C7 260 ms Rising creature screech.
238 0xEE \C8 95 ms Wet throat pop.
239 0xEF \C9 75 ms High bug chitter / click.

Telephone Keypad (DTMF) Tones

Standard dual-tone telephone keypad numbers. Each tone plays for 95 milliseconds.

Dec Hex Name Phone Key Low Tone High Tone Time
240 0xF0 \D0 Key 0 941 Hz 1336 Hz 95 ms
241 0xF1 \D1 Key 1 697 Hz 1209 Hz 95 ms
242 0xF2 \D2 Key 2 697 Hz 1336 Hz 95 ms
243 0xF3 \D3 Key 3 697 Hz 1477 Hz 95 ms
244 0xF4 \D4 Key 4 770 Hz 1209 Hz 95 ms
245 0xF5 \D5 Key 5 770 Hz 1336 Hz 95 ms
246 0xF6 \D6 Key 6 770 Hz 1477 Hz 95 ms
247 0xF7 \D7 Key 7 852 Hz 1209 Hz 95 ms
248 0xF8 \D8 Key 8 852 Hz 1336 Hz 95 ms
249 0xF9 \D9 Key 9 852 Hz 1477 Hz 95 ms
250 0xFA \D10 Key * 941 Hz 1209 Hz 95 ms
251 0xFB \D11 Key # 941 Hz 1477 Hz 95 ms

Miscellaneous Sounds

Dec Hex Name Time Sound Type Description
252 0xFC \M0 125 ms Sonar Ping Deep-water submarine ping. (The chip plays this during Baud Rate setup).
253 0xFD \M1 250 ms Gunshot Sharp pistol blast.
254 0xFE \M2 530 ms "WOW" Sound Vocal sweep moving up and down.

Practical Code Examples

Example 1: Saying "Ready"

Break the word into four basic sounds:

  1. Starting "R": \RR (148)
  2. Short "e": \EH (131)
  3. Front "D": \DE (174)
  4. Ending "ee": \IY (128)
  5. Finish with silence: Pause 0 (0)
// C code array to say "Ready"
const uint8_t SPK_READY[] = { 148, 131, 174, 128, 0 };

Example 2: Emphasizing a Word (Pitch + Slow + Stress)

In the sentence "Stop that!", you can make "Stop" urgent and loud by combining MSA commands:

  1. Set Pitch higher: 22, 105
  2. Slow down the 'O' vowel: 8, 135
  3. Add vocal muscle tension: 14
const uint8_t SPK_STOP_THAT[] = {
    // Word 1: "STOP" (Emphasized)
    22, 105,             // Raise pitch to 105 Hz
    188,                 // \SO (S-sound before back vowel)
    191,                 // \TT (T-sound)
    8, 14, 135,          // Slow + Stress applied to \OH (Short O)
    199,                 // \PO (P-sound)
    
    4,                   // Pause 4 (30 ms gap between words)

    // Word 2: "THAT" (Lower pitch conclusion)
    22, 75,              // Lower pitch to 75 Hz
    169,                 // \DH (Voiced "TH")
    132,                 // \AY (Short "A")
    191,                 // \TT (Ending "T")

    0                    // Pause 0 (Clean finish)
};

Example 3: Asking a Question with Rising Pitch

Notice how raising the pitch on the final syllable of "Online?" makes it naturally sound like an inquiry:

const uint8_t SPK_IS_ONLINE[] = {
    // Baseline configuration
    31,                  // Reset to standard defaults (Pitch: 88 Hz)
    
    // "ON-" (\OH, \NO)
    135, 142,
    
    1,                   // Pause 1 (100 ms inter-syllable transition)

    // "-LINE?" (\LE, \OHIH, \NE) with rising inflection
    22, 115,             // Step pitch up from 88 Hz to 115 Hz
    145, 157, 141,

    0                    // Pause 0 (Fade to silence)
};

Example 4: "System Alert" with Horn and Tone Changes

Plays an alarm horn, speaks in a firm tone, pauses between words, and accents the final word:

const uint8_t SPK_SYSTEM_ALERT[] = {
    // 1. Reset standard sound settings
    31,                  // Reset defaults (Volume: 96, Speed: 114, Pitch: 88, Bend: 5)
    20, 110,             // Volume up to 110
    22, 70,              // Pitch down to 70 Hz (Lower, serious tone)

    // 2. Play Warning Horn
    215,                 // Alarm A5 (500 ms)
    5,                   // Pause 5 (60 ms silent gap)

    // 3. Speak "SYS-" (\SE, \IH, \SE)
    187, 129, 187,
    // "-TEM" (\TU, \EH, \MM)
    192, 131, 140,
    
    2,                   // Pause 2 (200 ms break between words)

    // 4. Raise pitch for "ALERT"
    22, 85,              // Pitch raised to 85 Hz for emphasis
    130,                 // "A-" (\EY)
    145, 14, 151, 191,   // "-LERT" (\LE, \Stress, \AXRR, \TT)

    // 5. Clean finish
    0                    // Pause 0 (Fade to silence)
};

Example 5: Dialing a Phone Number

Transmits the touch-tones for "555-1212" with brief pauses:

const uint8_t SPK_DIAL_SEQUENCE[] = {
    245, 6, 245, 6, 245, 2,      // 5, 5, 5 with small gaps and a 200 ms break
    241, 6, 242, 6, 241, 6, 242, // 1, 2, 1, 2
    0                            // Mute when done
};

Glossary of Terms

Allophone
A specific version of a basic speech sound. For example, the "T" sound in top has a strong burst of air, while the "T" sound in stop is softer. Both are allophones of the letter "T".
Bend
A setting (0–15) on the SpeakJet that changes the sound filters. Lower values make the voice sound deeper and hollow; higher values make it sound sharp and metallic.
Diphthong (Sliding Vowel)
A vowel sound that glides smoothly from one mouth shape to another within a single syllable, such as the "oy" in boy or the "ow" in cow.
Fricative (Hissing / Buzzing Sound)
A sound made by squeezing breath through a narrow opening in the teeth, lips, or tongue. Examples include "S", "Z", "F", "V", and "TH".
Nasal (Nose Sound)
A sound produced by letting air pass through the nose rather than the mouth, such as "M" and "N".
Phoneme
The basic building-block sound family in a language. Changing a phoneme changes the meaning of a word (like changing the "B" in bat to a "C" to make cat).
Pitch
How high or low a voice sounds, like musical notes on a keyboard. Pitch is measured in cycles per second (Hertz).
Pop Sound (Stop Consonant)
A sound made by completely blocking the airflow in your mouth for a split second and then releasing it with a burst, such as P, B, T, D, K, and G.
Resonant
A smooth, singing consonant sound that lets air flow freely through the mouth without hissing or buzzing, such as "L", "R", and "W".
Voiced Sound
A speech sound made while your vocal cords are vibrating. If you gently touch your throat while humming an "M", buzzing a "Z", or saying "AH", you can feel the vibration.
Voiceless (Unvoiced) Sound
A speech sound made purely with rushing air, without using your vocal cords. Examples include whispering, "S", "F", and "T".