SPEECH CHIP COLLECTION

SP0256 speech processor family

Explore the SP0256 speech engine, internal allophone and custom ROM programs, external speech memories, and the people who created its voices.

SP0256 speech processor family

Overview

The General Instrument SP0256 is a programmable speech processor: a digital model of the vocal tract, a speech-program sequencer, and an internal ROM in one package. Its familiar suffixes identify different factory-programmed speech contents. AL2 is the internal allophone ROM pattern, not a different synthesis technology. Compatible external ROMs or a serial data interface let the same engine speak additional words, voices, and effects.

Image gallery

How a tiny chip reconstructs a voice

Rather than store a continuous recording as thousands of waveform samples, the SP0256 stores instructions and compact descriptions of how a voice changes over time. Linear predictive coding (LPC) models speech as an excitation signal shaped by the resonances of the vocal tract. For voiced sounds, the excitation is a repeating pulse train whose spacing determines pitch; for unvoiced sounds, such as hiss-like consonants, it is noise. A 12-pole digital filter shapes that source into speech. Changing its coefficients changes the simulated resonances; amplitude, pitch, and timing parameters control other features of the sound.

The ROM contains a speech program

A built-in sequencer reads the ROM and turns its instructions into settings for the speech engine. The contents are more than a list of recorded sounds: they include parameter changes, timing, and program control. A selection code identifies an entry point in that speech program. The sequencer then runs the selected utterance, passing successive settings to the filter. This separates the stored vocabulary from the hardware that produces the sound. The chip’s output is pulse-width modulated digital audio, which needs a low-pass filter and an amplifier to become a useful loudspeaker signal.

AL2 is the internal ROM pattern

The SP0256-AL2 is an SP0256 with the AL2 speech program manufactured into its internal 16-kilobit ROM—2,048 bytes, not 16 kilobytes. AL2 supplies 59 allophones and five pauses, selected by 64 codes. The suffix identifies those built-in contents; there is no separate AL2 ROM chip to plug in. It is also important not to confuse it with the CTS256-AL2, a separate text-to-speech companion. The internal ROM is mask-programmed during manufacture, so an ordinary programmer cannot erase it or replace its vocabulary after purchase.

Why allophones made AL2 useful

An allophone is a particular realization of a speech sound. By choosing these building blocks in sequence, a computer can attempt new words without a stored recording of every word. This is the basis of AL2’s “unlimited vocabulary” description: it means words can be assembled, not that the chip understands written English. Software—or the CTS256-AL2—must convert spelling into sound codes. The stock allophones have programmed pitch and timing rather than a set of normal host commands for arbitrary intonation. Sound selection and pauses help phrasing, and changing the clock shifts both pitch and speed. Concatenation does not provide all the transitions of fluent speech, which helps explain AL2’s recognizable robotic accent.

Why provide an external ROM interface?

Two kilobytes is a small budget for complete phrases. An appliance might need only a few announcements, but a talking game, clock, or computer peripheral could need much more. External speech ROMs supplied additional encoded speech programs without redesigning the synthesis engine. They could hold complete words and phrases, specially prepared voices, melodies, or effects. A custom phrase program can preserve acoustic changes within a whole utterance that simple concatenation of isolated allophones may miss. Extra memory therefore expands the available speech content; it does not turn the SP0256 into a new kind of synthesizer.

How the serial speech ROMs worked

The SPR016, SPR032, and SPR128 are specialized serial speech ROMs. Inside, they contain a byte-organized memory array plus address, program-counter, return, and shift-register logic. Their serial interface carries address information and speech bytes under clock and control signals from the speech system. Data is shifted out a bit at a time, rather than appearing on the wide parallel address and data buses familiar from an ordinary EPROM. The internal counter and control logic support the speech sequencer’s navigation through stored programs. These parts are storage and interface devices: the SP0256 still performs the synthesis.

More than a generic ROM socket

The external memory must match the speech chip’s protocol, timing, contents, and circuit wiring. A random parallel ROM cannot simply replace an SPR speech ROM, and matching memory size alone does not establish compatibility. General Instrument’s SPR128 documentation describes expansion using up to four devices without additional buffering; selecting and connecting multiple devices still requires the specified control circuitry. The SP0256 also has an external-data test mode that can bypass its internal speech program. Bypassing the ROM is not the same as rewriting it.

Prototype with EPROMs, manufacture with masks

General Instrument offered the SFD2000 Speech Field Development Board to demonstrate and test speech before committing it to mask ROM. It combined an SP0256, an SPR000 interface, and sockets for eight 2732 EPROMs, emulating up to 256 kilobits of expansion memory. Developers could change EPROM contents during development instead of ordering a new custom masked chip for each revision. The SPR000 provided the bridge between the speech system and parallel EPROM storage. Once approved, the encoded program could be supplied for a custom internal ROM pattern or compatible production speech ROMs. This was a manufacturer-supported development process, not a facility for reprogramming an existing AL2.

What it took to create the speech data

Creating a useful vocabulary involved considerably more than burning a recording into a ROM. Speech had to be represented as the excitation and filter parameters the processor could reproduce, then arranged into its instruction format and fitted into the available memory. Designers needed suitable utterance entry points, correct timing, and listening tests on the actual hardware. Analysis tools provided a starting point, but intelligibility, character, and size often demanded careful editing. A voice that sounded good as a recording was not necessarily easy to reproduce within the chip’s constraints.

Inside Mattel’s voice-production workshop

Patrick Jost, who worked on Intellivoice speech, described starting with scripts and phonetic transcriptions, auditioning voices, and avoiding troublesome sibilance and popping sounds. Recordings were analyzed on an HP 1000 minicomputer using ILS software and custom tools. Automatic analysis did not always give good results or economical data. Jost manually edited waveform segments and repeated the analysis to improve intelligibility and reduce storage. He worked extensively on Space Spartans and B-17 Bomber and trained other editors for Bomb Squad. The memorable game voices were the result of actors and substantial production work, not merely a vocabulary typed into a programmer.

Who made custom speech sets?

General Instrument supplied the processors and custom speech-memory technology; customers defined and developed the content for their products. Mattel used the SP0256-012 in Intellivoice. Its common resident vocabulary included number and direction words and the “Mattel Electronics Presents” announcement, while individual games supplied their own speech. The Odyssey² Voice used the SP0256-019 with an SPR128-003 expansion ROM. Radio Shack sold the SP0256-017 and SPR016-117 talking-clock combination. The SP0256-060 in this collection contains appliance announcements. These examples illustrate distinct customer applications, rather than user-reprogrammable versions of the AL2 chip.

Intellivoice cartridges: speech without an SPR ROM

External speech data did not always come from a dedicated serial ROM. Intellivoice’s SPB640 interface includes a 640-bit FIFO: a temporary first-in, first-out buffer, equivalent to 80 bytes. The console feeds game speech data through it to the SP0256. Thus a game’s additional voices can reside in cartridge memory and be streamed to the processor, alongside the common vocabulary in the SP0256-012’s internal ROM. The FIFO is neither a permanent vocabulary ROM nor a replacement speech synthesizer.

Selecting sounds and checking readiness

In the usual strobed interface, a controller sets a selection code and pulses the active-low ALD input. LRQ indicates when another selection can be accepted; the processor can retain one pending selection while the current utterance plays. That is distinct from the SBY indication that speech has finished. Six selection bits cover AL2’s 64 entries, but the SP0256 family has eight selection inputs, and other ROM programs can use a different selection scheme. A selection is an entry in the speech program, not the address of an uncompressed audio sample.

SP0256-012: the Intellivoice vocabulary

Mattel’s Intellivoice uses the custom SP0256-012 with the SPB-640 interface. Its built-in vocabulary includes an introductory announcement, game-oriented words, and number words that can be combined into larger numbers. The recordings below include “Mattel Electronics Presents,” a large number, and a commander greeting.

SP0256-017: a voice for clocks

The SP0256-017 was sold by Radio Shack with an SPR016-117 companion ROM. Its combined vocabulary supports talking-clock applications, including number words, time-related phrases, and melodies. This is a different ROM set from the AL2 allophones.

SP0256-019: The Voice of Odyssey²

The custom Odyssey² processor works with the SPR-128-003 serial speech ROM. The system offers allophone selection, game-oriented phrases, and sound effects. Type & Tell supplies text-to-speech conversion in cartridge software, while other games select phrases and sounds. The Voice exhibit includes the complete hardware gallery and an explanation of the console’s speech banks.

SP0256-060: an unusual appliance voice

The SP0256-060 in this collection speaks OSROW ice-cream status messages and a completion melody. A contemporary UPI report from April 12, 1986 describes an OSROW talking ice-cream machine that played Happy Days Are Here Again when ready. This supports the appliance connection, although a verified circuit and model number linking it to this precise chip remain undocumented. See the SP0256-060 exhibit for the observed messages and technical context.

CTS256-AL2: adding text-to-speech conversion

The CTS256-AL2 turns incoming text into allophone codes for the SP0256-AL2. This companion, based on Texas Instruments’ TMS7000 microcontroller family, performs the spelling-to-sound work outside the speech processor. Rule-based English conversion can need phonetic respelling for names or irregular words. Host software can perform the same role; Currah’s Voice Messenger is an example.

Clock, audio, and experimentation

The speech clock affects both the speed and pitch of playback. The Currah “By your command” recording demonstrates a lower clock rate. The processor’s digital audio output requires filtering and amplification before driving a speaker. Scott’s SP0256 experiments explored selection codes, readiness signals, test modes, and alternative crystals using an OOPic controller.

Related hardware and arcade speech

Companion speech ROMs and interfaces are part of the system, not interchangeable sound sets. The SP1000 is a separate speech-related processor rather than an SP0256 suffix variant. Sega G80 speech hardware used the SP0250; the Astro Blaster photograph belongs to that related branch, rather than proving use of an AL2 chip.

Why searches sometimes say SPO256

Older General Instrument typography made the letter O and numeral 0 look very similar. The family consequently appears in historical references under both SP0256 and SPO256. SP0256 is the numeral-zero spelling used here; the later Microchip datasheet makes the distinction clearer.

Further reading

Dave Prochnow’s Chip Talk: Projects in Speech Synthesis (Tab Books,1987) covers speech projects; ISBN 0-8306-1912-7 hardcover and 0-8306-2812-6 paperback. John Wike’s “Electron Speaker,” Electronics Today International, November1984, pages57–60 and82, describes an SP0256-AL2 speech synthesizer for the Acorn Electron.

Memory sizes at a glance

Part or memoryCapacityPurpose
SP0256 internal ROM16 kilobits / 2 KBFactory speech program; AL2 is one ROM pattern
SPR01616 kilobits / 2 KBExternal serial speech ROM
SPR03232 kilobits / 4 KBExternal serial speech ROM
SPR128128 kilobits / 16 KBExternal serial speech ROM
SPB640 FIFO640 bits / 80 bytesTemporary streaming buffer; not ROM

Alphabet — Currah SP0256-AL2

Currah Voice Messenger alphabet; the final letter is pronounced “zed.”

Digits — Currah SP0256-AL2

Currah Voice Messenger: digits one through nine, then zero.

By your command — Currah SP0256-AL2

Currah Voice Messenger demonstration using a lower clock rate.

Mattel Electronics Presents — SP0256-012

Intellivoice’s custom introductory phrase.

999,999 — Intellivoice SP0256-012

Intellivoice number vocabulary combined into a large number.

Hello commander — Intellivoice SP0256-012

Intellivoice: “Hello commander. Computer reporting.”

SP0256-AL2 allophone demonstration

The individual AL2 speech sounds, recorded during chip experiments. This is an AL2 recording, not a custom019 phrase set.

Individual processors and companion chips

SP0250 · SP0256-AL2 · SP0256-012 · SP0256-017 · SP0256-019 · SP0256-060 · SPR-128-003 · SPR016-117 · SPB-640

Documentation and downloads

Devices using this speech family

Further references