Saturday, June 1, 2013

Build a Speech Synthesizer for VIC-20

Build a Speech Synthesizer for VIC-20

Speech Synthesizers for legacy systems are getting harder and harder to find. Back in the day, there were the high-end units that featured text-to-speech translation processors. The Cadillac systems were the Votrax "Type-N-Talk" and "Personal Speech System." Then there were the low-end units, requiring manual translation of allophones or phonemes from tables in manuals, combined with PEEKs and POKEs, to form words and sentences. The purpose of this project is to simulate the high-end units of the time.

The biggest challenge today is finding modern parts that are willing to communicate at 1200 baud. For example, the SpeakJet allophones synthesizer, combined with a 8-bit microprocessor programmed with letter-to-sound rules for text-to-speech (such as the TTS256), popular in today's robotics, will only operate at 9600 baud. That is too fast for poor, old VIC!

These days it is actually easier (and cheaper) to dedicate an entire computer and software to the task versus a purely silicon approach.  The dedication of a computer to a specific task as part of a larger system is not so different than the intelligent peripherals of the day, like disk drives and printers, where processing was offloaded to the device.    Today this is common place.  We're surrounded by dedicated systems interconnected in highly flexible ways.  Even the "walled gardens" of our cell phones, tablets and consumer appliances have full-fledged operating systems underneath their slick user interfaces. 

So, this solution does expose one to some really cool things: Raspberry Pi (University of Cambridge’s Computer Laboratory); Debian Linux configuration; hardware-level general purpose input/output (GPIO); TTL serial communications; logic level converters; the Festival (offline manual in PDF format) text-to-speech synthesis system (University of Edinburgh's Centre for Speech Technology Research and  Carnegie Mellon University) which has a Scheme-based (SIOD) command interpreter for control; basic soldering techniques and more!

This project can easily be completed in a weekend, and done together with a child or friend. Only a Raspberry Pi, simple components and basic soldering are required.  What you will have in the end is a unit that operates very much like the high-end Votrax systems of the day. ... You OPEN a command channel for writing and PRINT the sentences and words you want spoken.  Now you're talking!

So, what about the Scott Adams adventure games?  My hope was that Commodore was using a similar technique as this project for communicating with the Votrax.  Unfortunately, Votrax had some proprietary control codes that could be sent to their system and not be interpreted by their text-to-speech processor in the manner we're communicating for this project.  My belief is that only a Votrax Type-N-Talk (not even the Votrax Personal Speech System) is the only way to get voice from these adventures.  Bummer!

I have additional VIC-20 material over on my web site:

Are you interested in computer history?  Join the irregular regulars Earl Evans, David Greelish, and Carrington Vanston, plus surprise guests, in the show where everything old is news again.  Gather 'round a virtual table where today's talk is about yesterday's computers. Get the skinny from the world of vintage computer hobbyists, collectors, enthusiasts, and old school geeks. They cover modern day vintage tech events, new developments for old hardware, the revival of retro tech, the best of 8 bit culture, and take many strolls down memory lane.  Head on over to and explore podcasts, review show notes and be informed of upcoming episodes.  You'll be glad you did!

No comments:

Post a Comment