• Please review our updated Terms and Rules here

Talker/80 - New Voice Synthesizer in the Making

Talker/80 - New Voice Synthesizer in the Making

  • Add speaker + amplifier to board - for cassette output sound + speak

    Votes: 9 69.2%
  • Add more features - for example, PCM sound, Real Time Clock, ...

    Votes: 4 30.8%
  • Make it a cartridge that plugs into a back plane extender board

    Votes: 2 15.4%
  • Make it compatible with the Model 3 / Model 4

    Votes: 12 92.3%
  • Make a case / enclosure for it (3D printed)

    Votes: 6 46.2%

  • Total voters
    13

LambdaMikel

Experienced Member
Joined
Jan 25, 2020
Messages
277
Work in progress. So far, a first version of the PCB was designed. I plugs into the Model 1 expansion port via a cable, and passes the edge connector through. It is basically a re-iteration / port of a previous speech synth for the Amstrad CPC (LambdaSpeak 1.99). I'll call it Talker/80 for now - to stay away from any TRS and Tandy in the name. I'll also skip prototyping / bread boarding this time given that I have made a lot of these for the Amstrad CPC, and will make the firmware once I have the hardware built. Let's see how this goes. Will probably need more than one iteration of the PCB. I'll start with DECtalk native mode. Next, I will also attempt VS100 and TRS Voice Synthesizer emulation. DECtalk should be a no brainer - not so sure about the emulations though.

talker80-1.jpg
talker80-2_80.jpg
 
First PCB version got sent to OshPark today for a first run.
The design uses:
- 2x GAL22V10
- ATmega 644 @ 20 MHz AVR
- LM741 Opamp for mixing (TRS audio output + speech synth output)
- Text to speech click board from MikroElektronika:
https://www.mikroe.com/text-to-speech-click
- and some resistors, capacitors etc.
7a6267b1c151fbe211e1183f3b1d5876.png
190b8b7d9d49bec883b6bf833e6e9006.png
 
Here is a small update - progress report: admittedly, it was kind of a bold move to not do any bread boarding this time, and go to PCB production right away. Would my design actually work? Now, 3 prototyping PCBs at OshPark for Talker/80 is 65 $, not a huge amount of money, but still!

The only aspect of the design that really worried me was the address decoding and databus latching and "ready signal" requiring tri-state logic - given that the Model 1 expansion port is notoriously known for being shaky... and add the Expansion Interface to the mix, and everything would break down?? :-?

Happy to say that my experiment confirmed that the two 22V10B GALs will do the job just fine - IO address decoding, memory bus snooping, databus byte latching, and presenting bit 7 and bit 6 to the databus if needed (IN / IOREQ INPUT for the speech synth READY signal) works like a charm, even with the Expansion Interface.

Now, I have a whole box of these 22V10B's that I got for 20 $ on Ebay - glad I can finally use them for something!!

So, given that this part of the design works, the rest should work out as well. Phhhw, that's a relief!! With a little bit of luck, this might come together sooner than later.

DSC09709.JPG
DSC09711.JPG
 
A first version is working - here is a short demo video showing it in action:

https://youtu.be/NUp0_M16cys?list=PLvdXKcHrGqhcJzzogLMI-J4Or-ap6UVSY

Next, I am going to work on implementing the TRS and VS100 emulations. The demo shows the "native" mode of the Talker80, which is DECtalk-based. The DECtalk / Epson firmware does text to speech directly, no phoneme conversion required.

So, no roadblocks so far - my PCB should work as planned.

DSC09719.JPG
 
Last edited:
Very nice! Looking forward to seeing more.

Thanks! I am planning to make the final product available at some point. From a hardware point of view, the product is almost finished. I still want to add the amplifier and speaker. Then people can also plug in the cassette sound, and it will get mixed and amplified with the speech. I have a whole box of little speakers sitting here (20 or so) which I got as a bargain on Ebay at some point. They also make great replacements for internal speakers of old computers (e.g., CPC etc.)

I also tested the video memory snooping / memory mapped interface of Talker-80 by now. Works reliably as well, but only if connected directly to the Model 1 expansion edge connector.

Anybody knows why the Expansion Interface does not pass MEMRD and MEMWR through? I guess because they thought the Memory is already maxed out anyway with the EI, so no need to pass it through? Hmm..

This is why Talker-80 has to be connected directly to the Model 1 if the TRS Voice Synthesizer is to be emulated (for native or VS100 emulation, it can be connected to the EI instead). For that reason, my PCB has an expansion port pass through connector, and I hope it will work... this is the only aspect I cannot test without the PCB really. Must say that my EI has never given me any trouble with electric connection or reliability so far. But it is the revised version.

So, PCB should arrive end of next week, then I will know if the expansion port pass through will work.
 
Project Update:

The PCBs arrived today - and worked out of the box! Pictures attached. The EI works without problems from the edge connector pass through.

There are still a couple of things I'd like to change:
- the Model 1 IDC connector should go on the backside... it gets into the way of the audio cable.
- add the amplifier and speaker option. Currently, it has an LM741 OP Amp that mixes the cassette cable sound and speech synthesizer output. I'll leave that, but also add an audio amp and speaker.

The bigger outstanding work is with the firmware and the RS and VS100 emulations. But glad that everything works as planned so far.

DSC09720 - Kopie.JPG
DSC09721 - Kopie.JPG
DSC09723 - Kopie.JPG
 
the voice sounds almost like the departed Stephen Hawking voice nice, when you get it going for a model 3 or 4 I will extremely interested

Right, AFAIK, the Hawking Voice Synth at least has some overlap with DECtalk, which is what you are hearing here.

Model 3 / 4... just read the IO port description. It is different from Model 1. In particular, we have the ~IOSEL line there which has to be generated by the hardware extension for input IOREQ (IN) (a simple NAND between IO address decoder and IN). And memory mapped IO is not possible, as we all know.

The VS100 emulation should be possible. But it seems it will be a different device than the Model 1 version.

Personally, I only own a Model 1 and a Model 4. Model 4 I will support sooner or later, no doubt about it.
 
The VS100 emulation should be possible. But it seems it will be a different device than the Model 1 version.

Personally, I only own a Model 1 and a Model 4. Model 4 I will support sooner or later, no doubt about it.

Model III support should be a subset of Model 4. As far as I know the only difference is that Model 3 will access the device more slowly.

If you're feeling especially generous, route the cassette relay signal to the device along with the audio. When the relay is activated you can turn off speaker output of the cassette audio. It'd be a small convenience to anyone who decides to CSAVE.

Or maybe they'll just have to learn to turn off the speaker or something.
 
If you're feeling especially generous, route the cassette relay signal to the device along with the audio. When the relay is activated you can turn off speaker output of the cassette audio. It'd be a small convenience to anyone who decides to CSAVE.

Or maybe they'll just have to learn to turn off the speaker or something.

Yes, little on/off switch for speaker I am OK with. Have to be mindful of the costs... I need to change the audio socket. Currently, works with stereo plug only. Mono plug doesn't get through. Most cassette audio cables will have a mono plug (like the one I got from Ian M.). Well, next PCB revision...

In the meantime, here is a new video, showing the first PCB version in action, and that the expansion port passthrough via EI works:

https://youtu.be/BFiDv-7CvXA?list=PLvdXKcHrGqhcJzzogLMI-J4Or-ap6UVSY
 
Project update: TRS Voice Synthesizer emulation, first steps:

https://youtu.be/rNow4joSyGI

Still some fine tuning required, but the overall scheme of things is working.

Next steps: refine TRS Voice Synthesizer timing and single phoneme utterances, then VS100 emulation.
 
I have finished the PCB design - this is the 2nd prototype, PCB revision 3 (not counting the breadboard version).
Pictures attached.

The firmware is almost final by now, but still some work required, especially wrt. VS100 emulation.

Features:

- DECtalk / EPSON speech: natural TTS engine for English and Spanish, no phonemes required. DECtalk singing, different voices, etc.
- easy to program from BASIC: port 11, or "print @992,..." method
- 3 LEDs: Mode, Data In, Speaking
- TRS Voice Synth emulation
- partial VS100 Voice Synth emulation (no pitch control so far)
- expansion port pass through connector
- compatible with EI and FreHD and floppy drives
- audio mixer for sound and speech
- 2 pots / trimmers for input mix
- optional speaker and amp
- 1 pot / trimmer for amp audio volume
- goodies (database of HAL9000 quotes)
- intelligent firmware (e.g., firmware modes can be changed via software / control bytes)
- reset button for device
- speaking / ready signal available via INP(11) for VS100 and DECtalk / EPSON modes.
- handy DIP switch for initial / startup mode selection, but can be changed via software control byte anyhow

Price: 80.80 $ plus Shipping. Speaker and audio amp option is 15 $ extra. 5V wall wart with positive tip polarity required; not included in the price.

Will ship in June (depending on Seeed).

DSC09757 (Small).JPG
DSC09758 (Small).JPG
DSC09760 (Small).JPG
 
Last edited:
Allright, the VS 100 Emulation is working by now - check out the VS48 and VSDEMO.BAS program:

https://youtu.be/aMnv22EwFEc

I have used an old PC-speaker instead of the little loudspeaker this time for demo of the Talker/80 amplifier option (note that there is no amplifier in the PC speaker). The sound quality is quite decent with a larger speaker such as the one used here.
 
Great work, LambdaMikel! Thank you for keeping us up to date on the progress and availability.
 
Some folks asked me for more details, also regarding the firmware sources.
Sources will be made available on Github soon, but not quite yet.
In the meantime:

https://hackaday.io/project/171035-talker80-for-the-trs-80-model-1

I am looking for 2 volunteers that would be willing to test the Talker/80 with their systems.
If you are interested, please PM me.

You need to have a Model 1 with Expansion Interface. And preferably at least 32 KBs so you can run the VS100 software. And disk drive etc. and knowledge how to run the programs etc.
 
Back
Top