RP2040 Emulator Brings The Voice Of The 80s Back To Life

You may not have heard, but there’s a chip shortage out there. And it’s not just the fancy new chips that are in short supply; the chips that were fancy and new back when you could still buy them from Radio Shack are getting hard to come by, too. For different reasons, of course, but it does pose a problem that requires a little hacking to fix.

The chip in question here is the General Instrument SP0256, a 1980s-era speech synthesizer chip that [Andrew Menadue] relies on. The LSI chip stored 59 unique allophones, or basic sounds the vocal tract is capable of, and synthesized speech by rapidly concatenating these sounds. The chip and its descendants made regular appearances in computers and games throughout the 80s, so chances are good you’ve heard it. If not, think WarGames (yes, we know that wasn’t actually a computerized voice) or [Stephen Hawking] and you’ll be pretty close.

[Andrew]’s need for such a chip stems from his attempts to give voice to his collection of Psion Organisers, another 80s relic that was one of the first pocket computers. Some time ago he built a speech board for the Psion based on the SP0256-AL2, but had to resort to building an emulator for the chip since none were to be had. The emulator uses an RP2040 and lives on a PCB that has the same footprint as the original chip, so it can just plug right in. He dug up WAV files of the allophones and translated those to sequences of bytes, allowing the RP2040 to output the correct sounds as they’re called for. Speaker problems notwithstanding, it sounds pretty good in the video below.

We’ve featured a fair number of SP0256 projects before, on everything from Amstrad to Z80. We’ve also shown off a few of [Andrew]’s builds before, including this exploration of the voltage tolerance of the RP2040.

23 thoughts on “RP2040 Emulator Brings The Voice Of The 80s Back To Life

  1. Excellent! I’m going to pick this up for LambdaSpeak and maybe Talker-80 eventually! This is GREAT, I really struggled with sourcing the SP0. Got fakes and bad ones in the past. Nice that we have an unlimited source now that also doesn’t require the obscure 3.12 MHz clock 😀

    1. worked fine with a NTSC colorburst xtal. Just slightly faster and higher pitch.
      definitely a trip down memory lane!
      Coincidentally I had done an emulator some years back (q.v. my HaD.io profile) and provided an option to emulate the 3.12 or 3.5… osc. I kind of prefer the higher frequ.
      That was on the then super-cheap BluePill. I did also add text-to-speech to that. Not identical to the *-CTS chip, but better because I added a boatload of additional rules.
      Code is posted and if it is of interest anyone is free to use in anyway. Note: that project is not a drop-in-chip emulation. But it’s all C code and mostly platform agnostic (FreeRTOS for threads and whatnot), so it might give a leg up to someone.

      1. The blue pill is still very cheap. I’ve recently bought original ones for around $2 on aliexpress (plus shipping, which isn’t much per board if you order half a dozen). And I tested all of my previous order for genuineness.

        1. Nice to know! they were quite high for a while, so much so that the newer ‘401/’411 based ‘black pill’ boards were cheaper — at least a couple years ago. And who doesn’t like the extra storage and a floater? The single ADC bugged me, though.

  2. Back in the 80’s, we made a ROM only speech synthesizer called the DYKA speech ROM.. for the BBC Micro.
    Only the ROM needed. No other hardware…it used the Beeb sound system and had a pre-defined library of words it could say.. but you could also just ask it to *say “my name is Keith Martin”… and it would speak those and sound quite convincing. It had also a basic sentence understanding so it knew the difference between a sentence talking about someone in a wheelchair being an ‘invalid’ and something which was an incorrect input ‘invalid’ … for example.
    It was not Kenneth Kendal quality… but it worked very well for it’s time.

    1. Bring back Angela Rippon, I say. I remember hacking the speech files from an ancient golf game (“absolutely marvelous putt”) and saving files for each phoneme to make other sentences. Painstaking, but fun.

  3. Wait, the chip shortage is still on? At this point it’s not a shortage, it’s OPEC-style control of supply. It’s really too bad we can’t make computer chips aaaaanywhere except that one weird island…

    1. lol; a chip shortage of the long-since-out-of-production-and-the-IP-assets-have-changed-hands-many-times sort.
      but yes it is disconcerting that the vast majority of stuff is made at that one foundry. talk about a single-point-of-failure.
      more charitably, they’ve moved their production lines to current process nodes where the market demands, and vintage tech is just not practical to produce without redesign. and ‘vintage’ might be just 20 years ago, even more so 50.

  4. Great project, and I understand that it was done for a special project.
    What I cannot understand is,
    that there is no version just running on a standard RPI PICO.
    I would love to try it out on a standard RPI PICO.
    But I just checked – I still have the SPo256 AL2 from then, but would rather use the RPI PICO.
    Most probably such a version would be tried by hundreds or thousends of people here.
    I am rather sure, that during the development of this project, the standard RPI Pico was used first.

    1. This code should work on a Pico, It’s only done on an RP2040 so it will fit the footprint of the IC. I do usually use a Pio for prototyping, but didn’t in this case as it was such a simple project, I started with the PCB and RP2040.

      1. That should be ‘Pico’ not Pio. Wonderful as the Pios are, they can’t quite prototype whole projects. That’s another typo due to the ‘c’ key on my laptop being superglued together…

  5. I used the SP-0256 in a repeater controller I designed. Simply because it was available at Radio Shack. It made the 6802 processor workload much lower and saved storage space over a D/A converter with digitised speech.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.