TRS-80 Voice Synthesizer
The speech synthesizer you programmed by writing to the screen
Overview
The TRS-80 Voice Synthesizer (catalog number 26-1180) was a speech synthesis peripheral sold by Radio Shack for the TRS-80 Model I computer. Introduced in 1979 at $399, it was built around the Votrax VSL phoneme module — a potted epoxy block containing the Votrax SC-01-A phoneme synthesis chip. The unit plugged directly into the Model I expansion port and worked with both Level I and Level II BASIC systems.
The device's interaction model was extraordinary: it 'paralleled' 32 bytes of video memory corresponding to the right half of the bottom screen line. Each phoneme was mapped to a different ASCII character. To produce speech, a program would write ASCII phoneme codes to that portion of the screen, bracketing them with question marks. The synthesizer would read the characters and speak the phonemes in sequence. For example, the word 'compute' could be spoken with: PRINT@992,"?K6MPY(UT?"; The mapping of phonemes to arbitrary ASCII characters was cryptic — '6' represented the UH1 sound, '$' was TH, '+' was NG — making speech programming feel like a secret code.
The unit could produce 60 distinct phonemes and had no text-to-speech capability — every word had to be manually decomposed into phoneme codes by the programmer. Radio Shack sold exactly one dedicated software title (Talking Eliza, catalog number 26-1908), and a handful of third-party programs supported it including Fantastic Software's Hyperlight Patrol. The device was discontinued in 1983 with no Model III version ever produced.
Deep dive
The TRS-80 Voice Synthesizer was built around the Votrax VSL (Voice Synthesis Library) module — a potted epoxy brick containing the Votrax SC-01-A phoneme synthesis chip. Votrax, based in Troy, Michigan, had developed the SC-01 in collaboration with the U.S. Naval Research Laboratory's text-to-phoneme algorithm from 1973. The SC-01-A provided 60 phonemes at two pitch levels each, with programmable inflection. The VSL module was the same core technology used in other Votrax products of the era including the Type-N-Talk standalone TTS unit. Radio Shack's implementation was distinctive. Rather than providing a serial or parallel interface with a command set, they mapped the synthesizer directly onto the TRS-80's video memory. The synthesizer monitored 32 bytes of screen memory (addresses 3E0h–3FFh, which corresponded to the right half of the bottom line in the 64×16 text display). Any ASCII characters between question marks ('?') in that region would be spoken as phonemes. This design eliminated the need for I/O port addressing or interrupt handling, making it trivially accessible from BASIC with simple PRINT@ statements. References: Matthew Reed, trs-80.org; BYTE Magazine October 1979: 'The TRS-80 Speaks' by Tim Gargagliano and Kathryn Fons.
The video-memory interface was the synthesizer's defining peculiarity. In the TRS-80 Model I, the video display was memory-mapped at addresses 3C00h–3FFFh (1KB of video RAM). The Voice Synthesizer connected directly to the expansion bus and monitored the last 32 bytes (3E0h–3FFh), which displayed as characters 32–63 on the bottom line of the screen. To speak, a program would: 1. Write a '?' character to the monitored region to signal the start of a phoneme string 2. Write ASCII characters representing phonemes (using the mapping table) 3. Write a closing '?' to signal the end of the utterance The synthesizer would immediately begin speaking the phoneme sequence. The user could literally see the phoneme codes on the screen as the voice spoke them — a visible trace of synthetic speech. This created a unique feedback loop: the programmer debugged speech by watching the screen, not by listening alone. The phoneme-to-ASCII mapping was arbitrary and non-intuitive. For instance: A = short A (as in 'bat'), E = long E ('beet'), O = long O ('boat'), U = OO ('boot'), but 6 = UH1 ('but'), $ = TH ('the'), + = NG ('sing'), & = ZH ('measure'). Learning this vocabulary was essential to programming speech — there was no abstraction layer, no text-to-speech engine, just raw phoneme codes.
The TRS-80 Voice Synthesizer sold for $399.00 — roughly $1,700 in 2025 dollars. It was prominently featured in Radio Shack catalogs from 1979 through 1983 under the headline 'Your TRS-80 Speaks!' The product introduction called it 'a peripheral right out of the next century' and explicitly targeted hobbyist programmers who wanted to add speech to their own software. Radio Shack sold exactly one dedicated software title: Talking Eliza (catalog number 26-1908), a voice-output version of the classic ELIZA chatbot. A handful of third-party programs supported it, including Fantastic Software's Hyperlight Patrol (a speech-enhanced arcade game) and Lance Micklus's Trek III.4. However, the unit never achieved mass adoption — the requirement to manually encode every spoken word as phonemes was a significant barrier to casual use. The unit was discontinued in 1983 as Radio Shack transitioned to the TRS-80 Model III, for which no voice synthesizer was ever produced (the Model III used a different expansion bus). The Votrax SC-01-A chip lived on in many other products through the 1980s, including the Votrax Type-N-Talk, the Echo II speech card for Apple II, and various accessibility devices. References: Matthew Reed, trs-80.org; Radio Shack catalog listings; VCFED forum discussions; Ken Gregg's phoneme table research.
Team & pioneers
- Radio Shack / Tandy Corporation. Manufacturer and retailer, Fort Worth, Texas
- Votrax International, Inc.. Supplier of the VSL phoneme module and SC-01-A speech chip, Troy, Michigan
- Richard T. Gagnon. Original Votrax speech synthesis designer; developed NRL text-to-phoneme algorithm
- Tim Gargagliano and Kathryn Fons. Authored BYTE Magazine article 'The TRS-80 Speaks' (October 1979) documenting the unit
Media