This Next-Generation Speech Synthesizer for the Amstrad CPC 464 by Michael Wessel started with a breadboard and now a PCB. For the moment, they are 4 videos of the interface card on Youtube :
- Amstrad / Schneider CPC 464 Breadboard Connector
- CPC 464 Breadboard Adapter Demo - 7-Segment Display for CPC :-)
- A Next Generation Speech Synthesizer for the Amstrad / Schneider CPC 464
- Next-Generation Speech Synthesizer for the Amstrad / Schneider CPC 464 - First PCB Version
It uses an Emic 2, the other components in the design are : Atmega 328 for implementing a parallel (CPC) to serial interface, to bride from the CPC to the Emic 2; a 74LS373 flip flop, 2 G16v8 PLD's for address decoding and generation of the chip select signal, and some other gates. The hardware extension is at address &F9E1. The speech synthesizer requires almost no driver, since the microcontroller and the Emic 2 are implementing an intelligent interface. The Basic program shown in the videos is implementing a simple protocol, but basically, to talk to the speech synthesizer, one only needs to write bytes to port address &F9E1 (e.g., using OUT in BASIC). Interestingly, the interface from the CPC's parallel data bus to the Atmel was tricky to implement.
It isnt compatible at the momeent with the other Amstrad CPC synthesizers : Dktronics and SSA-1. Emic 2 requires Start- (S) and End-Token (CR) - whereas Dktronics and SSA-1 simply send the allophones. Emic 2 works buffered, asynchronously, Dk'tronics and SSA-1 work synchronously. To make it compatible with SSA-1 and Dk'tronics, it would a) need to translate between allophone bytes and Emic 2 "equivalents", and b) figure out start- and end-token and shuffle them into the data stream (maybe based on a speech pause timing criterion). Not so obvious. Speech won't be synchronous, but maybe doable.