Speech Synthesizer using Arduino

Synthesized speech was for a long time the Holy Grail of computing, and back in the 1980s when a 4MHz CPU made your computer the fastest machine in the neighborhood it just wasn’t practical for software to create intelligible speech. In those days the only sensible way to generate speech was to offload the task to dedicated hardware because the CPU simply couldn’t keep up. The most widely used speech chip through the 80s and early 90s was the famous SPO256A-AL2, the allophone speech processor. It was used in toys, in external speech synthesizer peripherals for desktop computers, in industrial control systems, and all sorts of other unexpected places. Then as CPU power continued to increase rapidly speech synthesis was moved to being a software function, and nowadays of course it is almost always done entirely in software by the main CPU using only a tiny fraction of the available processing power. As a result the SPO256 chip dropped out of production and became a footnote in the history of technology.

Speech Synthesizer

Which leaves Arduino developers in a quandary, because in terms of processing power the ATmega chips put us back into the 80s again. An ATmega could possibly produce intelligible speech directly but it would use every available CPU cycle to do it, and the Arduino itself would be pretty much useless at doing anything else at the same time. Not much good if you just want to add voice feedback to an existing project. However, the demise of the SPO256 means you can’t just link one up to your Arduino and offload speech generation to it.

With old stock of the SPO256 drying up Magnevation decided to do something about it, and designed a new speech chip that works on the same principles as its predecessor but has a much smaller physical package and offers a handy serial interface rather than a clunky parallel interface. The result is the SpeakJet, an 18-pin DIP device that can do everything the old SPO256 did plus more.


In this project we’ll assemble a speech-synthesizer shield that combines a SpeakJet chip with a simple audio amplifier to let you add speech output to a new or existing Arduino project.

Major Components in Project

General Parts
1Arduino Duemilanove, Arduino Pro, Seeeduino, or equivalent
1Prototyping shield
1SpeakJet speech synthesizer chip (www.magnevation.com)
118-pin DIP IC socket
31K resistors
1%: brown-black-black-brown-brown
5%: brown-black-red-gold
210K resistors
1%: brown-black-black-red-brown
5%: brown-black-orange-gold
227K resistors
1%: red-violet-black-red-brown
5%: red-violet-orange-gold
210nF monolithic ceramic capacitors (marked “103”)
1100nF monolithic ceramic capacitor (marked “104”)
110uF electrolytic capacitor (6.3V or greater)
13mm green LED
13mm red LED
13mm blue LED
Line-level output cable
12-pin, 0.1-inch pitch PCB-mount male header
12-pin, 0.1-inch pitch line-mount female connector
13.5mm stereo line socket
1mShielded single-core audio cable
On-board audio amplifier
1LM386 audio amplifier IC, DIP-8 package
18-pin DIP IC socket
210uF electrolytic capacitors (6.3V or greater)
1100uF electrolytic capacitor (6.3V or greater)
1220uF electrolytic capacitor (6.3V or greater)
11nF (1000pF) ceramic capacitor (marked as “102”)
1100nF monolithic ceramic capacitor (marked as “104”)
110K trimpot
12-pin PCB-mount screw terminal
1Audio speaker (usually 8 Ohms)

For more detail: Speech Synthesizer using Arduino

This Post / Project can also be found using search terms:

  • arduino speech synthesis
  • Speech Synthesizer arduino
  • spo256
Clip to Evernote

Leave a Comment

(Spamcheck Enabled)

Read previous post:
Arduino simulator Schematic 1
Arduino simulator using Proteus as project simulation

Barebone Arduino in Proteus I use Proteus design a Barebone Arduino: ▲ Barebone Arduino The Barebone Arduino pin completely modeled...

Scroll to top