Author Topic: New "Next Generation Speech Synthesizer" for the CPC 464  (Read 11030 times)

0 Members and 1 Guest are viewing this topic.

Offline LambdaMikel

  • Supporter
  • 464 Plus
  • *
  • Posts: 373
  • Country: us
    • Homepage
  • Liked: 211
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #140 on: 17:44, 12 February 18 »
Using smaller CPLD XC9572XL VQ64 now.

Offline LambdaMikel

  • Supporter
  • 464 Plus
  • *
  • Posts: 373
  • Country: us
    • Homepage
  • Liked: 211
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #141 on: 09:51, 13 February 18 »
Don't you have a ROMBoard/MegaFlash type device to use the DKTronics ROM?

Tested now:

https://youtu.be/wxNSlEyfPMc
Also shows different speak rates and voices.

Offline zhulien

  • CPC6128
  • ****
  • Posts: 230
  • Country: au
  • Liked: 71
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #142 on: 16:08, 13 February 18 »
LambdaSpeak 1.8 has only one line from the address decoder GAL, that triggers the databus input buffer flipflop (a 74LS374), and also goes to an Atmega pin. The GAL now decodes both DKtronics and SSA1 addresses, and it seems that the existing software - including the SSA1 RSX driver and the DKtronics RSX driver - are not confused by that. Since the SSA1 is now seeing the requests being made for a DKtronics, and vice versa, I was concerned that the software might get confused and detect "the other device" and then starts malfunctioning, but fortunately this is not the case. It is good that, in addition to the different ports, SSA1 and DKtronics are also using different "protocols" (i.e., ready bits etc) Otherwise, that could have been problematic.

That means that the LambdaSpeak 1.8 board can do DKtronics emulation also (even though it wasn't designed to do it), with one shared IO request wire. A second wire would have been problematic anway, and I would have needed another 74LS32 Or gate in order to trigger the input buffer flipflop from 2 separate GAL outputs (no more pins left for another dedicated wire from the GAL to the input buffer flipflop clock).


That is correct, there is no confusion between them and software is in fact quite easy to port from one to the other - exactly same logic just different port.  I wonder why DkTronics didn't just use the same ports as Amstrad did with the SSA-1.  On the CPC, both can currently co-exist without confusion too, but there is quite a bit of line noise with 2 speech synths going from a splitter to the audio jack - that is likely a totally separate issue.  With Lambdaspeak, I noticed you have opted for an audio jack on it.  If you wanted (perhaps via a jumper), you could route that audio back to the sound pin on the bus too so that the speech will come out of the inbuilt CPC speaker (or is that an external Power Supply not audio jack?) - this trick also works with an AMDRUM - which I wonder... can you emulate also with the Lamdaspeak?  That would be super-awesome!  It is just an 8bit D/A converter using port FF to play drum machine music.  I think the RAM Music Machine is similar too but that thing has a lot more functions than just the D/A converter.  There is no buffer or anything with the AMDRUM, it just plays as fast or slow as you make the Z80 send data.



https://www.youtube.com/watch?v=0z-jGDOzwGQ
« Last Edit: 16:12, 13 February 18 by zhulien »

Offline LambdaMikel

  • Supporter
  • 464 Plus
  • *
  • Posts: 373
  • Country: us
    • Homepage
  • Liked: 211
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #143 on: 19:27, 13 February 18 »
If you wanted (perhaps via a jumper), you could route that audio back to the sound pin on the bus too so that the speech will come out of the inbuilt CPC speaker (or is that an external Power Supply not audio jack?) - this trick also works with an AMDRUM - which I wonder... can you emulate also with the Lamdaspeak? 


The little daughter board is the TextToSpeech click board from MikroElektronika:

https://www.mikroe.com/text-to-speech-click

Bryce is evaluating if he is going to keep the click board solution, or if he will put the Epson IC directly on the PCB (with OpAmp and IN/OUT audio jacks). Bryce, what's your take on the AUDIO output -> CPC speaker part?


Amdrum rocks!! 8) Yes, it indeed sounds quite easy to do - that means, just add a DA converter and let the CPLD decode the Amdrum address? I can try this on my breadboard prototype.

Not sure if Bryce would want to add it though (if it worked).

Do you have a suggestion for a DAC for this experiment?
« Last Edit: 20:12, 13 February 18 by LambdaMikel »

Offline zhulien

  • CPC6128
  • ****
  • Posts: 230
  • Country: au
  • Liked: 71
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #144 on: 20:09, 13 February 18 »
for me, as an M4 card with SSA-1 and Dk'Tronics and 'if possible' Amdrum capability I'd love to buy at least 1... I recommend a jumper to wire it to the CPC sound pin as some people likely won't want it - but then others will - it will be mono but automatically blend with the CPC audio.

Offline LambdaMikel

  • Supporter
  • 464 Plus
  • *
  • Posts: 373
  • Country: us
    • Homepage
  • Liked: 211
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #145 on: 20:14, 13 February 18 »
\I recommend a jumper to wire it to the CPC sound pin as some people likely won't want it - but then others will - it will be mono but automatically blend with the CPC audio.
 

I would like that, too. I am not a big fan of all the wires and external speakers etc. Even if sound quality is less great of course. I guess it depends on whether Bryce wants to do an Audio section, really, or if he is just going to use the click! board. In the former case, it should indeed be as easy as putting a jumper on the board. In the latter, click! board unfortunately does not have audio output other than the jack.

Offline remax

  • 6128 Plus
  • ******
  • Posts: 1.001
  • Country: fr
  • Liked: 326
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #146 on: 22:14, 13 February 18 »
for me, as an M4 card with SSA-1 and Dk'Tronics and 'if possible' Amdrum capability I'd love to buy at least 1...


I second that


I would like that, too.  I am not a big fan of all the wires and external speakers etc. Even if sound quality is less great of course.
I second that too

Offline LambdaMikel

  • Supporter
  • 464 Plus
  • *
  • Posts: 373
  • Country: us
    • Homepage
  • Liked: 211
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #147 on: 22:33, 13 February 18 »
It is just an 8bit D/A converter using port FF to play drum machine music.  I think the RAM Music Machine is similar too but that thing has a lot more functions than just the D/A converter.  There is no buffer or anything with the AMDRUM, it just plays as fast or slow as you make the Z80 send data.



I am wondering if that could even come "for free" with the current LambdaSpeak hardware. I will try if I can just do this in software on the ATmega 644, and use PWM for the output with a simple filter. That might be fast enough. I mean, the 644 is running at 20 Mhz...

Offline LambdaMikel

  • Supporter
  • 464 Plus
  • *
  • Posts: 373
  • Country: us
    • Homepage
  • Liked: 211
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #148 on: 09:24, 14 February 18 »
... I mostly found CDT Tape Images of Amdrum. Ok, one DSK for the main program, but all the drumkits I found are tapes. Does anyone have the link to DSK files for the drum sets?

@Bryce - we hae PB4 / OCOB available! That is a PWM pin... I will try if DA conversion will be fast enough in "Amdrum mode" (control byte &E3 ) using PWM. Then, I guess we only need a lowpass filter (RC) at the pin to feed it into an OpAmp if that worked?
« Last Edit: 09:27, 14 February 18 by LambdaMikel »

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 10.025
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 3371
Re: New "Next Generation Speech Synthesizer" for the CPC 464
« Reply #149 on: 09:59, 14 February 18 »
I wonder why DkTronics didn't just use the same ports as Amstrad did with the SSA-1.

Because the DKTronics Speechsynth came out BEFORE the SSA-1. It's hard to copy something that doesn't exist :D

Regarding Audio: My plan is still to have an audio in port so that the stereo output of the CPC can be mixed with the dual mono output of the speech. I can add a jumper to feed it back into the expansion port too if people want that. @LambdaMikel : It will most likely be cheaper to put the parts on the PCB rather than use a Clickboard.

Amdrum: The PCB already has everything it needs to emulate the Amdrum, you'd just need to feed a PWM pin from the AVR to the audio amplifier and write lots more code :)

Bryce.
« Last Edit: 10:02, 14 February 18 by Bryce »