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.
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 😀
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.
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.
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.
Is your hard float soft?
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.
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.
She is back! She’s on strictly come dancing ;o)
I still have two Psion Organisers and somewhere I still have the BBC ROM and a couple of BBC B computers.
Stephen Hawking’s voice was NOT an SPO-256, it’s not even close. Do not disrespect DECTalk.
<>
(well I guess that didn’t work!)
< >
(well that didn’t either, and I can’t delete/edit)
so I was trying to say “on-the-nose”. sorry for the deep posting, but I call technical limitations of the forum with respect to using angle brackets.
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…
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.
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.
Will there be a STANDARD VERSION FOR 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.
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.
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…
I think that chip is still in the RadioShack blister pack in my stash.
heh, who else has parts in original RS blister packs? :raised_hand:
✋🏻
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.
Well thats lucky, I was thinking of doing this myself ..Those SP0256 chips were great in the 80’s but now most are fake or varients with different Phonemes in