Close
0%
0%

LambdaSpeak 3

A Modern and Vintage Speech Synthesizer, PCM Sample Player, Drumcomputer, Real Time Clock, and Serial Interface for the Amstrad CPC

Public Chat
Similar projects worth following
LambdaSpeak 3 is a versatile hardware extension for the Amstrad / Schneider CPC home computer, with a focus on speech synthesis and PCM sample playing. It offers:
1. An Epson S1V30120 TTS chip running DECtalk v5 for natural sounding speech and even DECtalk singing, as well as a DECtalk-based emulation of the classic Amstrad SSA-1 and DK'tronics speech synthesizers from ~ 1985.
2. A fully authentic re-implementation of the classic SSA-1 and DK'tronics speech synthesizers using the original retro GI SPO256-AL2 speech chip.
3. A PCM sample playing mode where PCM data is "streamed" from the CPC and turned into PCM audio (the so-called "Amdrum mode").
4. An autonomous High Quality PCM sample playing mode that plays wave files / samples from a SPI EEPROM on board rather than having to stream the PCM data from the CPC.
5. A serial interface / UART that is used to control, for example, an MP3 player module.
6. A Real Time Clock.

Introduction

LambdaSpeak 3 is a versatile hardware extension for the Amstrad / Schneider CPC 464 (Plus), 664, and 6128 (Plus) home computer, with a focus on speech synthesis and PCM sample playing.

It offers:

  1. DECtalk-based Text-to-Speech (TTS) synthesis: the Epson S1V30120 TTS chip on the utilized mikroBUS "TextToSpeech Click!" daughterboard from MikroElektronika implements DECtalk v5 -- a natural sounding speech synthesizer for English and Spanish, with different voices. DECtalk can even sing. The DECtalk mode is very powerful and versatile, but the DECtalk control language can be difficult to program. Hence, a simplified control language for the S1V30120 is offered as well, the so-called Epson mode. The DECtalk mode is used to implement two Amstrad CPC-specific modes: LambdaSpeak offers a DECtalk-based emulation of the Amstrad SSA-1 Speech Synthesizer, and an emulation of the DK'tronics Speech Synthesizer as well. These retro speech synthesizers from ~ 1985 used the SPO256-AL2 from General Instruments. The emulation is faithful enough such that software that supports these speech synthesizers (e.g., games such as "Roland in Space" from Amsoft) works. However, the DECtalk-based speech sounds different from the original SPO256 AL2-based speech. For higher authenticity, LambdaSpeak can optionally be fitted with a SPO256-AL2 as well, see next.

  2. Optional GI SPO256-AL2 speech synthesis: this chip was used in the official Amstrad CPC SSA-1 speech synthesizer as well as the D'tronics speech synthesizer for the CPC. With fitted SPO256-AL2, LambdaSpeak 3 offers a modern re-implementation of these historic speech synthesizers that sound just like the originals from ano 1985.

  3. PCM Sample Playing Capability / Amdrum emulation: the Amdrum was a digital sample player / drum computer for the CPC. It consisted of a simple Digital-to-Analog (DAC) converter connected to the CPC databus. Bytes transmitted to the DAC would be turned into PCM audio. Hence, the PCM sample data has to be "streamed" from the CPC over the databus to Amdrum to play a PCM sample. The Amdrum supports 3 channels of 8 Bit audio in a decent quality; the mixing of PCM channels is done in software by the CPC / Z80 though, in real time, to achieve polyphony. LambdaSpeak 3's Amdrum emulation sounds just as good as the original (if not better).

  4. High Quality Polyphonous Autonomous PCM Sample Playing Capability: unlike the Amdrum mode, which requires the CPC to send the PCM sample bytes in real time over the databus to the Amdrum DAC, this mode offers "autonomous" sample playing. LambdaSpeak 3 is equipped with a 128 KB SPI EEPROM, which serves as a persistent memory for PCM samples. Samples can be uploaded into the EEPROM memory from the CPC, and played back by sending a "Play PCM" command. This mode offers up to 4 channels of PCM polyphony, and > 16 kHz bandwith is possible. Of course, higher quality PCM samples / WAV files will take up more space on the EEPROM. Moreover, since no real time streaming of PCM sample bytes is required from the CPC for sample playback, the automous EEPROM PCM sample playback can be triggered even from a BASIC program. The playback mode offers up to 4 channels of PCM audio, and the pitch / sample playback speed can be controlled to some extent as well. A sample can be as large as 128 KBs. The resulting PCM quality can be much higher than with the Amdrum mode.

  5. An UART / Serial Interface: this versatile general purpose UART / Serial Interface offers flexible BAUD rates, 5 to 8 bits per frame, and different parity bit and number of stop bit configurations. The UART Interface can either be offered via a PIN header on the LambdaSpeak 3 PCB such that a FTDI cable or RS232 TTL serial converter can be hooked up directly via DuPont cables, or an UART module can be soldered in permanently. The 4 $ MP3 UART Module from Catalex is a good choice for such a module - it offers MP3 playback from a MicroSD card. See below.

  6. An I2C Interface:...

Read more »

x-zip-compressed - 136.18 kB - 05/27/2019 at 02:46

Download

bom2.jpg

BOM 2

JPEG Image - 43.13 kB - 05/21/2019 at 14:34

Preview
Download

bom1.jpg

BOM 1

JPEG Image - 168.04 kB - 05/21/2019 at 14:34

Preview
Download

DSC08525.JPG

First batch.

JPEG Image - 4.35 MB - 05/21/2019 at 14:34

Preview
Download

DSC08419.JPG

Final breadboard prototype.

JPEG Image - 5.14 MB - 05/21/2019 at 14:33

Preview
Download

View all 8 files

  • 1 × Xilinx XC9572 PLCC88 CPLD
  • 1 × ATmega 644p 20pu @ 20 Mhz Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × GI SPO256-AL2 Retro Vintange Speech Synthesizer
  • 1 × 8 Segment LED RED BAR
  • 1 × I2C RTC DS3231 Board from Ebay (4 $)

View all 32 components

  • Hardware Finished - CPC Software in Progress!

    Michael Wessel05/31/2019 at 06:26 0 comments

    Now that the hardware is finally final, it is time to work on the CPC software!

    I am very happy proud and honored that TFM (aka Dr. Stefan Stumpferl), well-known in the CPC Scene for his fantastic FutureOS, is working on adding LambdaSpeak 3 support to his FutureOS, and he is also working on an RSX extension and a CPC ROM!

    Check out his homepage for updates:

    http://futureos.cpc-live.com/ 

    Currently, he is working on RSX commands for the PCM EEPROM Sample Upload. EEPROM PCM Sample playing already works, as does the RTC. In addition to the commands he already wrote for the predecessor, LambdaSpeak 1.95 and LambdaSpeak 1.99. So the RSX extension / ROM is already quite mature and offers a lot of functionality.

    I am thrilled that TFM continues to develop the LambdaSpeak 3 software. Thanks a lot, Stefan!! 

    In the meantime, check out the BASIC programs that demonstrate some features of LambdaSpeak 3, but epspecially the EEPROM PCM Upload is not really feasible from BASIC (it takes minutes to upload a PCM WAV / sample file from BASIC into the EEPROM...) 

View project log

View all 10 instructions

Enjoy this project?

Share

Discussions

Kristen Swanner wrote 05/21/2019 at 17:28 point

Your project is so coo!

  Are you sure? yes | no

Michael Wessel wrote 05/21/2019 at 17:42 point

Thank Kristen! Happy hacking :D 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates