Hey all. A friend is creating an art piece using vintage computer speech synthesis. I remember that there are some possibilities on the C64. Does anyone here own any of these? One is called Magic Voice, one is called SAM (?) and one is called Votrax.

Also, if you know of any other vintage speech synthesis hardware/software, I'd love to hear about it. Thanks.

there is also speech 64, by currah, I never used it though.
edit: and I just saw one called "big mouth" smile

Last edited by the mist toggles (May 26, 2010 5:00 am)

SAM is on most machines iirc, it's short for Software Automatic Mouth, see the c64 version here: http://noname.c64.org/csdb/release/?id=42843.
As of recent years more c64 composers have experimented with it, not by using SAM, but by using their tracker of choice.
(e.g. Jammer: http://noname.c64.org/csdb/release/?id=38922 or randall: http://noname.c64.org/csdb/release/?id=38792 or hein: http://noname.c64.org/csdb/sid/?id=13907).
But this is by far not complete.. we better wait for goto80 smile

There's not that many speech synthesizers on C64 where you can fully control what it says, afaik. SAM has a nice interface to it, in Dalek Speech. By accident, I posted something about speech synthesis at Chipflip a while back, and there's some links scattered around there: http://chipflip.wordpress.com/2010/03/2 … synthesis/

And then there's for example http://noname.c64.org/csdb/release/?id=40227 & http://noname.c64.org/csdb/release/?id=88354 where you can control some stuff. The best one in this category is probably http://noname.c64.org/csdb/release/?id=44096

Would be great to hear your friend's work!

Last edited by goto80 (May 26, 2010 9:31 am)

A good friend of mine released this at Syntax Demoparty last year.   http://www.youtube.com/watch?v=0dRCPmoNd9s

Think of it as "Vectorised voice" system which operates on two of the sid channels and defies what a C64 can do.  The irony is that it takes a multi processor PC ages to actually generate the data before it hits the C64!  (good old brute force)  I'm talking to ALIH about actually doing a recording in a studio with proper mics and compressors and see how good we can get it to sound:

In his notes:
( see: http://noname.c64.org/csdb/release/?id= … show=notes )

"The music is a cover of Hoobastank's "My Turn" from the album For(n)ever. ...  Speech sounds on a c64 - one channel is the carrier, which is the frequency of the speaking voice, and one is the modulator, which is a ring modulation, sync, or both. If you're Agemixer, filter banks are also involved smile.  In any case, the codec used here works kind of like that. I use a phase vocoder (that I suspect has an occasional bug!) to get the base pitch of the tone, and then try different modulation frequences until I find the closest match (based on the magnatude portion of an FFT calculation). If people are interested, I will release this tool at some point.

I have a parameter in that which controls how often the sid is updated. I did 25fps to make everything fit into ram. .... So in order to get intelligable output, I ended up dealing with five parameters - two voice frequencies of eight bits each, two volumes of four bits each, a waveform of three bits ($11,$21,$41,$81) for the carrier channel and a modulation type of two bits (1 bit ring, 1 bit sync) for the modulator channel. This gets compressed into four bytes per updated frame. The instrumental part of the song was done in a single track in ninjatracker 1.02 (I think 1.02), then patched the player to only play a sid channel, mostly because the rotozoom part relies on a music player of no more than 12 rasterlines to achieve 50fps. Ninja takes 4 rasterlines, and voice player takes 7. There really is no excuse for it taking 7 rasterlines other than some shitty, shitty code on my part.

The replayer code has a couple of major points of shittiness, the most obvious one being the classic problem for anyone who does sid programming - you'll notice that I said that I needed to set two volumes.... so obviously you can't fucking do that smile. Quick sid theory lesson for those not initiated: there is a "feature" in the sid where you can change teh sustain _down_, but not _up_ without a retrigger. You can do this after having the ADSR at zero for three cycles or so (might have been five, i forget now), which is pretty inaudable. But, the fastest attack is 12ms or so, which is half a frame, whcih causes a nice audable click. I originally had the filters turned on to attempt to deal with that, but I actually _forgot_ to turn them back on after turning them off for testing reasons.  But net result is that you end up with something that is vaugely in the right direction of there, but obviously not acutally totally brilliant, due to a combination of bugs and stupidity on my part. But I still thought it sounded cool, and some of the other people I showed it to thought that it sounded cool, and besides, I was already committed wink. I think it's one of those like/hate things again.

But back on topic, once I've turned the sample data into sid data, i cut it up into blocks and stream it from the disk into a 4k ring buffer from the loader routine. So you end up with code that looks like:

while ringBuffer needs data:
while ringBuffer needs data:

in an effort to try and keep that buffer nice and full. And it mostly works... i mean, for obviously small values of "works". But it also puts some stress on the loading times, which is not something I considered until I wrote the ringbuffer code at 5am on satuday morning, and realised that all of my loading times doubled."

So there we go - something of a break though in speech synth on C64 ;-)  From here in Australia!

Yeah, I love the sound of it! I was completely shocked when I first heard it. What the hell is this?! smile There's been other similar things - like C64MP3 and, maybe more similar, Birdburner. But technically I guess they are more like vocoders than speech synthesizers. Pre-calc lamerz, hehehe. In that context, it's worth to mention Dan Stowell's "realtime AY-vocoder", which I jammed together with live at Hatebit a while ago -- http://www.youtube.com/watch?v=OJZ1qjMdZHE

Oh hell.  That's mega-awesome!

it'd be nice to hear the voice synth on it's own.  Im slowly learning to use SAM myself, still a massive MASSIVE c64 noob. Too many toys, not enough time.

You mean Stowell's AY-thing? I'm pretty sure it's on its own in that video. He loops his voice and stuff though.

there's one for DOS, i'm pretty sure its called Speak

not very vintage but: http://www.wizardmaster.com/bludgeonsof … index.html

I fortunately grabbed an Alien Group "Voice Box" unit a few years ago - damn lucky to see it pop up on ebay - is user-port box for the C64 and it is the only speech synth I know of that has a 'sequencer' written for it (i.e. 3 channels of SID output work in conjunction with the speech output).

The software is in basic and you have to play in each musical part for each SID 'voice' - then you have to record expression parts for the speech and also sequence the notes for the 'singing'. Damn HORRIBLE interface but I think it was done in 1983.

Also the animated face can be fully customised and looks suspiciously like David Byrne of Talking Heads.

Here is one of the example songs - https://www.youtube.com/watch?v=2zvTmC7mzb4

Another example song - https://vimeo.com/150045715

Here is me messing with the preset "bicycle built for two" pre-loaded so you can trigger words at any chosen pitch - https://vimeo.com/135723824

There was also the Covox Voice Master you might find them on ebay.

There was also the Covox Voice Master you might find them on ebay.
OOps I submitted twice dang Laptop wont respond. smile

Last edited by traymond (May 30, 2016 2:54 am)

So what Sam did was programmed directly using the Sid chip?
I have the cheaper Commodore voice cartridge but Sam was way awesome.

The Covox Voice Master has a head set and a microphone to record a voice possibly other stuff.


Hi all,

I have the Kerberos Midi cartridge but the software wont respond at all to my Keyboard, and pressing the
F8 key goes into a setup menu, I have tried all settings in there and still no sound from my keyboard.

Was the tracker called Sid Tracker (Above issue)?
I was told that  maybe when this was flashed into the cartridge Rom may not have programmed all the way?

I had to find a Mid interface for:  USB(PC interface) to Midi Din IN and OUT. 
connect the Midi out to the Midi IN on the Kerberos cartridge.
Frank Buss has both a PC or Macintosh Application for flashing any programs, my question is does the program have to be
converted into a binary file, or will any other filetype work? (I don't know much about Flash Rom's is why I ask).
So Frank suggested this as a possible solution to make my Kerberos work with my keyboard.

Are there any other C=64 Midi sequencers out there, I would like to try something different than the German version if possible and if its
not copyrighted.