toneburst

Speech Synth Chips

29 posts in this topic

Anyone tried to MIDIfy any vintage speech synth chips using a MIDIBox core? I'm thinking of the old SP0256 and Votrax chips that used to be available as addons to personal computers in the '80s, and were apparently also used in some arcade games.

a|x

Share this post


Link to post
Share on other sites

Hi.

I remember playing around with the SP0256 20 (odd) years ago! It was find but pretty basic.

There is a MIDIbox project that has similar (but much improved) functionality based around the SpeakJet IC.Take a look at http://ucapps.de/mbh...c_speakjet.html for more information and http://www.midibox.o...idibox_speakjet

Cheers

Phil

Edited by philetaylor

Share this post


Link to post
Share on other sites

Hi ,

actually seems that midification of speech syntesisers with MBHP is only for Speakjet.

I used years ago SPO256AL2 to give voice to VIC20 and ZXSpectrum and more recent on LPT port

of my old 486 and used to sample it on my old S1100

Time ago I thought the same project as this chip are very easy to manage ( at least 6 bit word and two

control lines ) but I am a BASIC programmer

and actually I havent enough skills for design such an application.

I think it could be interesting project...another way to generate chip voice :smile:

Anyway I can give hardware effort

Regards

Antix

Share this post


Link to post
Share on other sites

Hi Phil, antix, thanks for the rapid replies.

I know about the SpeakJet project. I'm about to build one based on TKs new version of audiocommander's original code, tweaked to run on the LPCXPRESSO board. I was just wondering if anyone had done something similar for any older chips.

I have the datasheet for the SP0256-AL2, and it looks like getting it to output basic allophones wouldn't be too challenging, for someone who knew what they were doing (unlike me). It doesn't seem to have any information about pitching the oscillators though.

The Votrax also sounds intriguing. There's apparently a patent application from Kraftwerk (no less) for a circuit to add MIDI control for this IC. I have a suspicion it's what they used on their remake of Autobahn from their The Mix album.

a|x

Edited by toneburst

Share this post


Link to post
Share on other sites

The MBHP_CORE_LPC17 would be powerful enough to handle speech synthesis by itself - in background (because it wouldn't really time consuming work @ 120 MHz...)

It even supports a I2S output for an audio DAC at 48 kHz (stereo)

Problem: I don't know free (open source) code for such a synthesis, and developing it wouldn't be a task of one evening...

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Problem: I don't know free (open source) code for such a synthesis, and developing it wouldn't be a task of one evening...

That could be interesting, have you seen espeak? http://espeak.sourceforge.net/

Cheers

Phil

Share this post


Link to post
Share on other sites

The MBHP_CORE_LPC17 would be powerful enough to handle speech synthesis by itself - in background (because it wouldn't really time consuming work @ 120 MHz...)

It even supports a I2S output for an audio DAC at 48 kHz (stereo)

Problem: I don't know free (open source) code for such a synthesis, and developing it wouldn't be a task of one evening...

Best Regards, Thorsten.

Interesting. I was more interested in the sound of those vintage chips, but under MIDI control. Having said that, an entirely software-based solution, would also be quite cool. Would you envisage that being possible within a MIOS framework, TK?

Incidentally, did you get my pvt message re. the the SpeakJet circuit?

a|x

Edited by toneburst

Share this post


Link to post
Share on other sites

That could be interesting, have you seen espeak? http://espeak.sourceforge.net/

Cheers

Phil

That does sound cool. I guess if you were going strip it down to MIDI-controlled phoneme synthesis, you could probably strip out the majority of the quoted 1.4MB of program code, too, leaving just the phoneme tables and formant engine.

Never done any hardware programming in C though, so I may be talking out of my hat.

a|x

Edited by toneburst

Share this post


Link to post
Share on other sites

Nice solution - it seems to be portable to embedded systems.

But still not a "weekend project" for myself - maybe for somebody else?

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Nice solution - it seems to be portable to embedded systems.

But still not a "weekend project" for myself - maybe for somebody else?

Best Regards, Thorsten.

Definitely not a 'weekend project' for me. More a 6-month project, probably ;)

a|x

Share this post


Link to post
Share on other sites

uhm...

Probably it need less time find a SPO256AL2 and write an application on a pic core to move some bits on MIDI event

But as I say I did in BASIC some years ago and I will try when I will have more MIOS knowledge.

Anyway my SPO256AL2 works fine yet

Regards

Share this post


Link to post
Share on other sites

The LPC17 is running *much* faster than an Arduino (although the LPCXPRESSO is cheaper), so that more complex algorithms can be used which should lead to higher audio quality. :)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Just been listening to some of the Cantarino demos. That sounds great! Not very understandable, but lovely and crunchy. Would be cool to hear that running from a MIDIbox, under MIDI control.

I wonder if it was written in C.

a|x

Share this post


Link to post
Share on other sites

The LPC17 is running *much* faster than an Arduino (although the LPCXPRESSO is cheaper), so that more complex algorithms can be used which should lead to higher audio quality. :)

You say 'higher audio quality', Thorsten, but I quite like the crunchiness of low-quality speech synthesis (hence my interest in vintage speech ICs) ;)

Just out of interest, is it possible/advisable to output audio directly from the LCPXPRESSO, or is some kind of external DAC required?

a|x

Edited by toneburst

Share this post


Link to post
Share on other sites

You say 'higher audio quality', Thorsten, but I quite like the crunchiness of low-quality speech synthesis (hence my interest in vintage speech ICs) ;)

Adding some distortion would be simple as well ;)

Just out of interest, is it possible/advisable to output audio directly from the LCPXPRESSO, or is some kind of external DAC required?

Yes, there are multiple possibilities:

  • using one or more PWM outputs to generate the sound exactly on the same way like on SpeakJet (and other speech chips)
  • using the inbuilt DAC - it has only a single channel at 10 bit resolution, available at pin J5A.A3 (P0.26) - the result should be more crunchy than on a SpeakJet ;)
  • using an external I2C stereo DAC

Maybe the first option isn't that bad, especially since it would allow to generate different sounds in parallel on multiple outputs to simplify the Fx chain

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Interesting.

Going back to the hardware approach, I've discovered another speech synth chip that seems to have a nice voice, and is quite well documented. It's called the Soundgin, and it seems to be quite like the SpeakJet in some ways.

a|x

Share this post


Link to post
Share on other sites

The soundgen is very close to the speakjet, but is geared more towards general synth as well was speech. I've got a demo board around here, (somewhere). The synth design is modeled after a SID, I think, but of course does't sound as good. Had thought about modding the speckjet project for a soundgen, but my project 'to do' list is already very long.

Yogi

Share this post


Link to post
Share on other sites

The soundgen is very close to the speakjet, but is geared more towards general synth as well was speech. I've got a demo board around here, (somewhere). The synth design is modeled after a SID, I think, but of course does't sound as good. Had thought about modding the speckjet project for a soundgen, but my project 'to do' list is already very long.

Yogi

Hi Yogi.

Funnily enough, I've just bought a Soundgin development board and chip set from a US website. I don't have any real idea how I'm going to go about getting the chip under MIDIBox control, though...

I'm moving over to the LPCXPRESSO development board ( http://ucapps.de/mbhp_core_lpc17.html ), after TK suggested a simple circuit to control the SpeakJet, and tweaked Audiocommander's KII MIOS app for me so it would run on the new hardware. It's working pretty well so far, much to my surprise. My matrixboard wiring skills leave a lot to be desired, I can tell you...

Any tips on getting the Soundgin and LPCXPRESSO talking? Are the electrical and serial communications requirements of the Speakjet and Soundgin identical, do you think? Sorry for the newbie questions.

a|x

Edited by toneburst

Share this post


Link to post
Share on other sites

I little demo, SpeakJet controlled by Ableton Live, with some tweaking of the 'Stress' and 'Speed' parameters from a MIDI controller. I've added a touch of note randomisation, and I'm also transposing the MIDI notes up and down so that different allophones get triggered. It's a little bit unstable- the same MIDI notes don't always seem to trigger the same allophone, and there's definitely something weird going on with the release envelope, but overall I'm quite pleased.

I'm starting to realise how time-consuming it would be to actually have it speak or sing intelligible words, though.

I've added a little reverb from NI Guitar Rig's Reflektor, and a little pingpong delay. I've also applied a gate to the input to squash the background noise. It's much less noisy now I've added the lowpass filter, but it's definitely still not hi-fi!

a|x

Edited by toneburst

Share this post


Link to post
Share on other sites

Wow, sounds good! Would be awesome to have it actually talk.

Share this post


Link to post
Share on other sites

Yeah, talking is.. difficult, I think. You have to string words together from individual phonemes. I haven't tried it yet, but it should be possible, in theory. Maybe Audiocommander has tried it. You can also save words and phrases in the chips internal memory, but you have to do it with a Windows-only application, and then connect to the SpeakJet via a serial connection. I haven't setup my board with a serial connection, so it can only be controlled via MIDI, through the USB port. I'm sure it would be possible to add serial control, but I wanted to keep everything as compact as possible, so I could put the board in a small enclosure.

a|x

Edited by toneburst

Share this post


Link to post
Share on other sites

Incidentally, I've just ordered a Soundgin chip and development board from US webshop (stupidly expensive delivery to the UK, but that's another story). I'm hoping to bring that under MIDIbox control at some point in the future.

a|x

Edited by toneburst

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now