I noticed that SAM on Atari 8bit which has not a very nice sounding 'pokey' sound chip - can speak very clearly and to me so much superior than Superior Software's Speech! for Amstrad CPC. What is likely the reason for it? Is Pokey actually better for something that AY in the CPC isn't as good at? or Just better software?
https://www.youtube.com/watch?v=k7nqixe3WrQ
vs
https://www.youtube.com/watch?v=BIn6mFaLjVY
As I know SAM synthesizer had english and spanish version for C64 with SID, Atari 8b with Pokey, and Apple II with SN7, and sounds the same on each of them. Polish programmers also made polish version for C64 without license.
Speech synthesizer had english version for CPC, Spectrum, Sam Coupe and Atari ST. And spanish version for Spectrum (and maybe for others). And hardware version for CPC, connected to Printer Port, and all of them sounds equale terrible.
Sometimes Atari or C64 owners came to me and ask, do I have speaking program, and they laughing after demonstration. That was really one of very few moment of shame for Amstrad owner. :)
Too bad. I guess there was some license obstacle not hardware, to made Amstrad version of SAM. But after years who cares of license. I wish to hear SAM on CPC. And I'm sure we have enough talented programmers. :)
Or just get the LambdaSpeak FS!
Features here:
https://github.com/lambdamikel/LambdaSpeak-FS
Or the high-end version, LambdaSpeak III
Features:
https://github.com/lambdamikel/LambdaSpeak3
Search youtube for LambdaSpeak FS / III :) :) :)
I have 4 hardware speech synths for CPC including Lambda Speak and Speak & Sid - but the fact that SAM on an Atari can sound so good makes me wonder still about how they did that and can it be achieved on CPC in software at a similar quality?
It's not an accident that the display turns off in the video when playing speech effects, hammering POKEY like that to play back samples messes up the display. It can do 8-bit samples though as opposed to 4-bit on the AY, which partly accounts for why it sounds better I assume.
Hard to know without seeing someone type something in though, the Speech utility for the CPC can do a lot better if you spend enough time embedding various control codes to tweak the pitch of various phonemes, sounding more realistic than if you just give it literal text and expect it to read it out. Without knowing how much effort went into preparing the Atari data it's hard to say which is better.
All of C64, Atari XE and CPC can't play 8bit sample without add some Covox. 4bits is max what they can play on own sound chip. Used to I play some new <SAY command on C64 and it sound way much more better than CPC speak. I suppouse Speak use only 1 o 2 bits for sample, and that why it sound so awfully.
Lambda have zilion MHz and it need some computer only as keyboard, but zhulien ask, can we force AY in CPC to sound like SAM? And I believe, Yes we can. :)
For the Atari ST there is a speech synthesizer which sounds (to my ears) almost identical to SAM. It was good enough to being used in the techno song "Das Boot" by U96. This synthesizer was done very early in the lifetime of the ST and it's very likely it uses pretty basic techniques.
I would expect that you can do something very, very similar on the CPC.
I always wondered what speech synthesizer was used in das boot. Yes it does sound similar to SAM and I suspect the c64 game suicide express uses it too. It has a unique charm to its sound I think. Ssa1 and dktronics and lambda speak also have a charm, but perhaps a tiny bit too monotone to me... llambdaspeak though is a LOT more flexible than ssa1 and dktronics. I'll have to chase down the atari st speech utility - might be finally a feasible to own an atari st.
Having said that I do have an atari xegs which I seldom use as I find it too odd to use, cannot even get a directory in a disk? I haven't figured it out
Software speech synthesizers are always a balance between quality and used amount of RAM plus used amount of CPU time anyway.
Quote from: ZbyniuR on 22:52, 27 March 23All of C64, Atari XE and CPC can't play 8bit sample without add some Covox.
Last weekend I heard, that the Atari 8bit Pokey can combine two of its 4bit channels to one 8bit. In this case it would be possible.
There was also a project on the MSX, which is mixing all 3 AY PSG 4bit channels to one virtual 8bit sample channel with some tables. So here 8bit samples are somehow possible as well. On the CPC this would be much harder/slower as unfortunately you can't access the AY directly, but have to go through the PIO.
You can try with your PlayCity. :)
Quote from: zhulien on 14:44, 28 March 23I'll have to chase down the atari st speech utility - might be finally a feasible to own an atari st.
This is the one: https://www.atariuptodate.de/en/1686/st-speech
Quote from: Prodatron on 21:37, 28 March 23There was also a project on the MSX, which is mixing all 3 AY PSG 4bit channels to one virtual 8bit sample channel with some tables. So here 8bit samples are somehow possible as well. On the CPC this would be much harder/slower as unfortunately you can't access the AY directly, but have to go through the PIO.
And you can't use the same tables. The MSX or ST have a mono output so they can mix 3 logarithmic 4-bit channels which allows it to produce "almost" 8bit sound. As the CPC (in this case unfortunately) has stereo sound, it's impossible to get even close to the same quality.
@Prodatron - How many bits in samples we can play is depend of how many bits we have in volume register. Combine channels in Pokey nothing change with that. Reason why they combine channels is pitch, how many octaves we have possible beetwen lowest and highest sound. And makes better precise of pitch for each note, without combine most notes sounds false. Only combine channels give quality similar like in AY, SID or Ted (in C+4). Whithout this Pokey sounds like farts from ass. So Atarians still have to build Covox to play 8bit sounds, best of them can play even four 8bit channels.
http://atariki.krap.pl/index.php/Covox <- It's Polish Atari Wiki.
Register of volume in AY have 4bits. (thats mean 4bit sample from each channels). Digitracker on CPC can play 5bits sample using all 3 channels, (because 4bit play in left and right channels together is twice louder than 1 middle channel), or 8bit by Digibooster (CPC version of Covox with one 8bit channel. So stereo give us 1bit extra.
Register of pitch in AY have 12bits, that gave 8octaves. Pokey have only 3.5 octaves in 1 channel. In Pokey which bits doing what, is more complicated. Some bits in the same register change volume, some change pitch. Theoretically combine two channels can give 5bits of volume, but difference between levels of volume are not equal enough to sound better than 4bits.
I don't know how in MSX, but in CPC Plus new features can play by DMA 4bit stereo sound or 8bit mono from AY. That why new Rick Dangerous can scream. :)
Maybe PIO makes trouble during play sample, but it is better for chiptune in games, because it works as buffer, so Z80 can in part of second send info about all tones for next half minute and doing something else. And with PIO or not, Digitracker can mix 3 channels in 1 and send it to speaker. :)
Funny is, new version of SID have 8bits volume in noise channel. (old have 4bits). But Comodorians hate it, because new one (with old soft) sounds more silently. And they prefer build Covox for 8bit samples, as in the old days. Amateurs. ;)
@zhulien - I believe that in Das Boot they do not synthesize speech, but transform human speech by filters. If as you says ST have something better than SAM, thats good. I think SAM sounds better than command Say in Amiga, so... :)
Quote from: ZbyniuR on 03:15, 29 March 23Reason why they combine channels is pitch, how many octaves we have possible beetwen lowest and highest sound. And makes better precise of pitch for each note, without combine most notes sounds false.
Thanks for the info! I thought he was speaking about volume, not about pitch.
Quote from: ZbyniuR on 03:15, 29 March 23Digitracker on CPC can play 5bits sample using all 3 channels, (because 4bit play in left and right channels together is twice louder than 1 middle channel)
Not sure, if there is another Digitracker for the CPC :) But when you are speakin about my one:
When it is using the PSG, it plays 4bit only, as it is mixing the 3 digi channels into one and outputs them on one PSG channel. It would be too slow to use multiple PSG channels on the CPC, when playing multiple digi channels, as the PIO requires a lot of additional OUTs for switching between PSG registers, this really sucks.
Quote from: ZbyniuR on 03:15, 29 March 23PIO [...] works as buffer, so Z80 can in part of second send info about all tones for next half minute and doing something else.
At least on the CPC this is wrong. The PIO isn't a buffer, which can play PSG sound for half a minute without the CPU. Maybe you are mixing this with another system?
The Plus can still only play back 4-bit samples using DMA, but it can play three samples at once (one per audio channel).
@zhulien - I believe that in Das Boot they do not synthesize speech, but transform human speech by filters. If as you says ST have something better than SAM, thats good. I think SAM sounds better than command Say in Amiga, so... :)
I thought Vocoder was used for Das Boot
Quote from: zhulien on 16:43, 29 March 23I believe that in Das Boot they do not synthesize speech, but transform human speech by filters. If as you says ST have something better than SAM, thats good. I think SAM sounds better than command Say in Amiga, so... :)
Well, they do use speech synthesis.
Alex Christensen who produced "Das Boot" was a huge Atari ST fan and created the song with the help of an Atari ST which he heavily used in his studio productions (midi of course). He used the STspeech program (the one for which I gave you the link) for the speech synthesis.
From a German Atari magazine:
https://www.stcarchiv.de/stc/05/atari-fan-des-monats-alex-christensen
In this article there is even a list of further titles that used this program: http://www.successdenied.com/2011/06/25-jahre-stspeech/
Both articles are German but Google translate should do the trick.
Awesome song!
Get the source code of STspeech here:
https://www.atari-forum.com/viewtopic.php?f=16&t=2254&start=25
And then convert it to Z80 if you like ;D
Quote from: ZbyniuR on 22:52, 27 March 23All of C64, Atari XE and CPC can't play 8bit sample without add some Covox.
Not true. The C64 can play 8 bit samples:
https://www.youtube.com/watch?v=p6LYrQk5I7s
And this is not the best sounding example anymore, I just did not find them..
SAM has been ported to all sorts of unusual platforms. It doesn't need the Atari's hardware: there was an Apple II version, and that machine had roughly the same sound capabilities of a ZX Spectrum.
The source is knocking about somewhere. MicroPython for the BBC micro:bit includes a port of SAM that plays via a 1-bit PWM interface
@BSC - I mention about it:
" Funny is, new version of SID have 8bits volume in noise channel. (old have 4bits). But Comodorians hate it, because new one (with old soft) sounds more silently. And they prefer build Covox for 8bit samples, as in the old days."
@BSC - In this example he put sample in frequency register, it's maybe sound interesting but it not mean it play 8bit sample. :)
Quote from: ZbyniuR on 04:31, 01 April 23@BSC - In this example he put sample in frequency register, it's maybe sound interesting but it not mean it play 8bit sample. :)
Have you seen the description below the video? The important part is:
"..
and output as an analog voltage proportional to the 8 bit value."I see it like this: As long as you manage to turn 256 discrete values into a corresponding voltage that is somehow made audible, you are essentially playing 8-bit samples. No matter how many and what kind of registers were abused along the way.
Well, 8-Bit Sample Playing is something the CPC can do since ever. And since 30 years codes use it. They call it the printer port, all you need is a Digiblaster (parts are 1 Euro). And adding a Digiblaster is as easy as adding a cable to some computer anyway. Or a 2nd joystick.
And now: Shitstorm on! 8)
Quote from: GUNHED on 18:33, 01 April 23Well, 8-Bit Sample Playing is something the CPC can do since ever. And since 30 years codes use it. They call it the printer port, all you need is a Digiblaster (parts are 1 Euro). And adding a Digiblaster is as easy as adding a cable to some computer anyway. Or a 2nd joystick.
And now: Shitstorm on! 8)
Over the decades I learnt that you find some peculiar kind of amusement in derailing threads and topics and in mildly trolling around, but maybe that's a thing you'd like to reconsider, given that you are not 20 anymore, but most probably approaching the 50s. That said, let me respond to your message at hand:
The Digiblaster is a hardware add-on. Yes, many things become possible if you extend the possibilities of a CPC by adding hardware, but this thread has been about software-based solution from the start. I'd appreciate if you appreciated that and sticked to the reference frame stipulated by the initial post / topic of this thread. Kthxbye!
Of course I was aware that I can't post in a thread where BSC is posting too, without getting some offensive text. Well, I got used to it. A big forum must be able to withstand that kind of members. So we do. But let's talk about important things now...
Yes, this thread is about software speech synthesis. However it would be useful to consider cheap hardware add ons too.
The basic principle of the Digiblaster is to send an 8 bit value to an port / connector of a computer and there this 8 bit value goes into an D/A converter. The most easy thing back in the day was a combination of resistors, but also since a long time we can use a cheap chip to to the DA conversion.
The great thing is: That kind of DA sample playback can be done on probably nearly all computers.
Of course it's not needed it a particular system has a sound chip being able to play 8 bit samples (disregarding the speed thing right now).
Furthermore it should be doable to get more than 4 bit resolution with the PSG just by (and this is very time consuming!) using the regular sound channels and add up their current values. In this case it's a prerequisite to be able to measure the real-life outcome of the sound channel. Because theory and real-life are different, there is a lag ('mechanical' reasons).
Actually I didn't think that SAM was using samples until some replies suggested it might be.
SAM does not use samples but requires sample-replay routines.
It transfers text into phonemes and for each phoneme it uses a simple formula to "produce" the volume-values on the fly which are sent to the sample-replay hardware. It will even work on speaker sound but of course it will benefit from more powerful hardware.
A bit of explanation about the formula can be found here:
https://github.com/s-macke/SAM#final-output
Quote from: GUNHED on 16:14, 02 April 23Yes, this thread is about software speech synthesis. However it would be useful to consider cheap hardware add ons too.
Yes, it's true that hardware add-ons can also be a useful and cost-effective option for speech synthesis. The Digiblaster, as you mentioned, is a good example of such hardware.
However, it's important to note that while such hardware add-ons can offer a quick and easy way to achieve speech synthesis, they may not always be the most flexible or versatile option. For example, they may have limited capabilities in terms of the types of speech they can produce, or they may not integrate easily with certain software or platforms.
In contrast, software-based speech synthesis solutions can offer more flexibility and control over the speech output, as well as the ability to integrate with a wider range of systems and applications. Additionally, advances in technology have led to the development of more sophisticated software-based solutions that can produce higher-quality speech output.
That being said, hardware add-ons can still be a viable option in certain situations, particularly for those who are on a tight budget or who require a simple and straightforward solution. It's all about finding the right tool for the job, based on your specific needs and constraints.
It's not the point how many bits we have. Point is we need someone who can translate MOS program from C64, or Atari8 or Apple2 and put it to Z80 +AY, for CPC, MSX and ZX owner. Without programer we have shity Speach like old crow, and doesn't matter how many zilions bits or Covoxs we have.
And one more. If it will work only with digiblaster, then owner of other machines will say, they have AY and they don't use it, it must be shity sound chip. So I say, fuck it digiblaster, it should work od AY. :)
First film (with Atari) in this topic have quite poor sound. I always had feeling SAM sound better than Say in Amiga, and Say sound like this:
Few other examples old talking computers:
Old Mac
Apple II - start at 3:20
C64 - twice
and Amiga. :)
@BSC : Yes, of course you're right about software being more flexible and versatile. Sure, software can do pretty much everything. :)
@ZbyniuR : Well, you presented lots of videos for lots of computers - but for the CPC. Youtube has vids for the CPC too. (I don't paste them here, because my selection could be biased). ;)
Isn't that the Amsoft Speech engine?
I ported this to SymbOS (http://www.symbos.org/appinfo.htm?00013) and it sounds exactly the same.
It sounds to me like the Speech! program by Superior Software but could just as easily be the Amsoft program.
Can you point me to the sources of the Amsoft version please?
Time to compare the phonemes.