MATRIXSYNTH: Search results for Michael Wessel


Showing posts sorted by relevance for query Michael Wessel. Sort by date Show all posts
Showing posts sorted by relevance for query Michael Wessel. Sort by date Show all posts

Monday, April 01, 2019

LambdaSpeak & LambdaDrum for the Amstrad CPC

LambdaSpeak 3 - Simple 10 Track Pattern Sequencer / Drum Sequencer

Published on Apr 1, 2019 Michael Wessel

You might remember the Next-Generation Speech Synthesizer for the Amstrad / Schneider CPC 464 from Michael Wessel. Here are a three new videos featuring the LambdaSpeak & LambdaDrum for the Amstrad CPC, in via Michael Wessel. The LambdaDrum is a High Quality 10 Track 4 Channel PCM Pattern-based Drum Computer for the Amstrad CPC (a feature of the LambdaSpeak 3.0 Speech Synthesizer).
Related: Also check out the Amstrad CPC - Vocal synthesizer by Techni Musique (1986).

Video description for the above:
"A simple 10 track pattern-based drum computer for LambdaSpeak 3 (written entirely in BASIC).

This is a demo of 4channel polyphonous PCM sample playing with LambdaSpeak 3. Here, up to 4 channels of 8 Bit 16 kHz PCM are being played in parallel.

The LambdaSpeak 3 board has a socket for an (optional) vintage GI SPO256-AL2 speech chip, which is being used in this demo as well. The SPO256-ALs has its own channel (8) and track (11), and is being used for random allophones here."

LambdaDrum CPC Drum Computer Demo - 4 Channels of 8 Bit PCM @ 16 kHz

Published on Apr 1, 2019 Michael Wessel

"Spent some more time optimizing the PCM playback capabilities of LambdaSpeak 3. By now I have 4 channels of high quality 8 Bit PCM.

In this video, 16 kHz drum samples are being used. 16 kHz are a good compromise between size and quality. The samples are from the Boss DR 660 drum computer, and can be found online. Combined, these 10 samples are about 120 KBytes in size - a good fit for LambdaSpeak's 128 KBytes of PCM EEPROM sample memory!

Some ome pre-processing needs to be applied to the samples before they can be used with LambdaSpeak - first I am using Audacity for PCM editing (cutting, fading, normalizing, ...), then the Switch Sound File Converter for conversion to 8Bit 16 kHz PCM, and finally a program to remove all file and PCM headers from the PCM files.

The resulting PCM files are then put on a standard CPC DSK file and being uploaded into LambdaSpeak's EEPROM memory using a simple CPC BASIC program (a MC program would do the 120 KByte upload in a few seconds).

The drum computer program shown here is a simple BASIC program - all the actual PCM playback is done by LambdaSpeak, not by the CPC. The CPC would be incabable of serving PCM of that quality over its databus (insufficient CPU band width and clock speed)."

LambdaDrum Pattern Sequencer in BASIC

Published on Mar 25, 2019 Michael Wessel

"A simple pattern-based drum computer in BASIC, demonstrating the polyphonous high quality PCM sample playing mode of LambdaSpeak 3.

The PCM samples are from the Boss DR-660 drum computer and have been been uploaded from the CPC into the 128 KB SPI EEPROM of LambdaSpeak 3, from which they are also being played back in realtime. The EEPROM is a standard, inexpensive 25LC1024.

The recording is direct line-out; no further audio post processing. The DAC is done by the ATmega and a simple RC; no further audio circuitry is being used.

The on-the-fly mixing of different PCM channels (for polyphony) still requires some fine tuning; there are still some artifacts."

Update: also see: LambdaSpeak 3 - Amstrad / Schneider CPC MIDI IN Synthesizer Demo

See the Amstrad label below for more.

Wednesday, June 02, 2021

Ultimate Amstrad CPC MIDI Sound & MIDI Interface Card

This one is in via Michael Wessel who has been featured on the site previously.

"I am bulding a GM MIDI sound + interface card for the Amstrad CPC, using the STM32 BluePill microcontroller (well, it's really a System on a Chip...), an S2 Waveblaster from Serdashop, and the Adafruit MIDI Featherwing. Also the CPC itself is turned into a MIDI instrument, as shown here (3voice polyphonic CPC sound chip sound; it responds to the NOTE ON / NOTE OFF messages, using its internal AY-3-8912 soundchip). The S2 is also playing along:

Ultimate Amstrad CPC MIDI Sound & MIDI Interface Card - MIDI IN Demo

video by Michael Wessel

"The firmware of the Blue Pill & S2-based MIDI Sound & MIDI Interface Card for the CPC is now able to receive incoming MIDI message over the MIDI IN input and present / relay it to the CPC via (input) ports &FBEE and &FBFE. That latter indicates that a MIDI byte has been received and waiting to be fetched from the input buffer via INP(&FBEE). I am demoing a simple CPC MIDI synthesizer here - incoming MIDI NOTE ON / OFF messages are being played back by the CPC sound chip (AY-3-8912). MIDI Data is received over MIDI IN from a PC MIDI USB interface."


S2 playback only, using more complex MIDs (Canyon.mid and Descent2), without the CPC playing along:

Creating the ultimate MIDI Sound Card for the Amstrad CPC


"As shown in the video, the S2 on board can get its MIDI input either directly from the MIDI IN DIN socket ("MIDI SOFT THRU" via Blue Pill firmware), or from the CPC over the expansion port, and I can merge both MIDI stream 'on the fly'.

We are also working on a MIDI Realtime Sequencer (Record + Playback at the same time) for the CPC, and a MID file player for the CPC. Currently, the MID songs are being "streamed" from the PC over a MIDI USB Cable into the MIDI DIN socket of the board, and then into the Blue Pill and into the S2.

The idea is to make a "lazy engineering" kind of expansion board for the CPC. The final PCB will just have three sockets - one for the BluePill, one for the S2 Waveblaster, one for the Adafruit MIDI Featherwing module (optional for folks that want a real MIDI Interface on their CPC - if you just use it as a GM Soundcard, there is no need for MIDI DIN sockets of course). In addition, I will only need one chip on that board - an address decoder. This is necessary because the Blu Pill does not have enough 5V-compatible GPIOs to do the address decoding. Everything else is done in software - the 72 MHz Blue Pill is fast enough to respond to the IOREAD and IOWRITE requests from the CPC using Interupt Handlers. No extra circuitry / glue logic (flip flops, bus drivers, ...) is required for that.

Cheers, all the best,

Michael"

Thursday, December 05, 2019

Speak&SID - CPC MIDI IN SID + AY Synth


Published on Dec 4, 2019 Michael Wessel

"Turn your CPC into a powerful MIDI IN SID + AY Synthesizer!

A new mode has been added to the Speak&SID firmware - the MIDISID mode.

In this mode, Speak&SID can receive MIDI messages over its UART header to which a 10 $ MIDI breakout board is connected via Dupont cables. The Microkorg is used solely as a MIDI controller here (no sounds from the Microkorg). The incoming MIDI messages are then received by the CPC by reading the Speak&SID serial buffer byte by byte, and analyzed and translated into (polyphonous) notes for the internal CPC AY 3-8912 soundchip. At the same time, these notes are also sent to the (ARM)SID chip on the Speak&SID card, which is then also playing the received notes (currently only 1 voice - but for the AY we are using all 3 voices). With a little bit of additional work on the CPC machine code program, all of the SID's capabilities will be controlled via MIDI and/or the CPC keyboard keys in the near future, hence turning a CPC with Speak&SID into a powerful and inexpensive, versatile SID + AY 3-8912 MIDI IN realtime synthesizer. It is even possible to add one more soundgenerator to the mix - the SpeakJet chip is also a 4channel sound synthesizer! Interestingly, as you can hear, the SID and AY sound chip are slightly detuned from each other. Not sure why this is... maybe I need to tune the SID or AY frequencies a bit? Or maybe that's an ARMSID inaccurarcy? Have to try with my real 6581."

Speak&SID CPC - 2nd Demo, Line Out Recording + LEDs!

Published on Nov 9, 2019 Michael Wessel

"This time, a line out recording of Speak&SID CPC. Last video was taken from the camera's mic. Speak&SID's GPIO LEDs are controlled by the CPC, not the firmware. The 4 LEDs, from left to right, are the GATE bits of the corresponding SID cannels, and the 4th LED indicates changes in filter resonance. As the LEDs are controlled by the CPC / SID Player software, it is also possible to turn this LED display into a volume level indicator display, or other kinds of "lightshows". It is easy to patch the ASM for that (all the SID registers are modeled in software there).

In the meantime, the 2nd PCB revision boards arrived. So I should be able to ship out the first Speak&SID cards early December."

Thursday, July 01, 2021

The Ultimate CPC MIDI Soundcard - Standalone CPC MIDI Playback


video upload by Michael Wessel

"Another update from the Ultimate CPC MIDI Soundcard project: We can now record and playback MIDI streams from CPC memory! A number of standalone MIDI song fragments demonstrate the sonic range and MIDI bandwidth of the card. I think it is fair to say that this card represents a breakthrough and pinnacle in providing MIDI capabilities to the Amstrad CPC. If you are interested in purchasing one, please drop me a note, but I have very limited stock. The DSK files (ULTMIDI.DSK and ULTMIDI2.DSK) are in the GitHub repo: https://github.com/lambdamikel/BluePi..."

Follow-up to this post.

You can find additional posts featuring Michael Wessel here.

Sunday, May 31, 2020

The Making of a TRS-80 Voice Synthesizer - Talker/80


Published on Mar 14, 2020 Michael Wessel

via Michael Wessel, who brought us the Speak&SID:

"New dimensions in voice synthesis for the iconic Trinity computer from 1977!

Talker/80 is a new speech (voice) synthesizer for the TRS-80 Model 1. It offers DECtalk-based natural sounding speech, and can emulate the "official" TRS Voice Synthesizer as well as the VS-100 Alpha Products voice synthesizer. The original software runs without changes / patches. Both the VS-100 and the TRS Voice Synthesizer utilized the Votrax SC-01 speech chip. The SC-01 is "emulated" by means of DECtalk here (phoneme mapping).

Everything is open source, including the firmware sources and Gerbers:

https://github.com/lambdamikel/Talker-80"

Sunday, October 17, 2021

Building a Drum Computer for the RetroChallenge 2021/11


video upload by Michael Wessel

This one is in via Michael Wessel.

"This is my entry for the RetroChallenge 2021/10.

My Hackaday project page explains some more details"

And via Hackaday:

"In this episode, I extend the pattern-based drum computer to full 16 steps / beats (4 bars x 4 beats), and tailor for real time drum pattern input (like a real drum computer).

This requires inputting data from the keypad using the KIN (Keyboard Input) op-code, whilst playing back the pattern, and hence isn't possible with the standard Microtronic KIN. Thus, I implemented a non-blocking KIN behavior. Utilizing 2 more vacuous op-codes, I can now toggle between the standard blocking KIN input behavior, and the new non-blocking behavior.

The op-codes for determining the KIN mode of operation are 3F0 (blocking KIN mode) and 3F1 (non-blocking KIN mode). By default, the Microtronic only uses blocking KIN. The vacuous op-codes 3F0 and 3F1 are idempotent immediate AND (ANDI) op-codes, i.e., the operand 0xF = 0b1111 = 15 is idempotent for 4bit registers, and hence, no (existing or new) program would ever use them. So it is safe to assign the mode toggling extra side-effect to them.

In general, the following vacuous op-codes are available for side effect extension:

MOV x,x: copy register x onto register x, 0xx
ADDI 0,x: add 0 to register x, 50x
SUBI 0,x: subtract 0 from register x, 70x
ANDI F,x: bitwise AND of register x with F, 3Fx"

Full details on Hackaday.

Sunday, May 21, 2017

Next-Generation Speech Synthesizer for the Amstrad / Schneider CPC 464 - First PCB Version


Published on May 20, 2017 Michael Wessel

"This is the first PCB version of my Emic 2-based Next-Generation Speech Synthesizer for the Amstrad / Schneider CPC 464. If you would like to purchase one of these, please contact [Michael Wessel on YouTube here]."

Monday, January 31, 2022

Ultimate CPC MIDI Card Demo - Line-Out Recording


video upload by Michael Wessel

"A Line Out-recording of the Ultimate CPC MIDI Card - Eye in the Sky.
The X2GS sounds super smooth and offers the best sound quality - you can get one from Serdashop: https://www.serdashop.com/X2GS
Please contact me if you'd like to purchase an Ultimate MIDI Card for the CPC.
https://github.com/lambdamikel/BluePi... The DSK file of this song can be found in the Github repo:
https://github.com/lambdamikel/BluePi... Enjoy!"

Some additional info via Michael:

here is another update from the Ultimate MIDI Card project for the Amstrad CPC!

By now, I have a Python .MID file converter so that I can create MIDI songs for the Ultimate MIDI card on the PC / Mac. Previously, I was recording the complete song .MID MIDI stream in realtime with the CPC. The MIDI message stream was created with a MID file player such as MIDIBAR running on the PC, and then simple fed into the CPC via a USB-2-DIN MIDI cable. For complex multi-track and highly polyphonic MIDI, this was a bit at the limit of what the CPC and BluePill microcontroller can handle, and thus sometimes resulted in dropped or hangind notes for complex MIDI. Hence, a more stable solution was required - the Python-based converter.

Here is a demo of complex converted .MID song played back from CPC memory. Most CPC-users have 512 KBs of extended RAM memory available - the DK'tronics 512 KB RAM expansion is a "standard" even for contemporary CPC RAM expansions. My CPC "converted .MID" player supports 512 KBs of RAM - this is large enough to fit this ~ 96 KBs large BIN song into memory; enjoy the smooth sound of the X2GS sound module plugged into the S2-compatible header at the back of the card."

Sunday, November 03, 2019

Amstrad CPC Speak&SID - First Demo of SID Player


Published on Nov 2, 2019 Michael Wessel

"First demo of Speak&SID with the DaDMaN's version of Simon Owen's SID Player. Thanks to DaDMaN from the CPC Wiki Forum for sharing his branch of this player with me, which he had already customized for the CPC! Indeed, it was very little effort to get it running with Speak&SID. I only needed to change the output port and a couple other bits. And worked out of the box, to my surprise! And now - enjoy RoboCup and Commando on the authentic SID 6581.

In case you should be wondering why the sound volume goes low and sounds tinny for a couple of seconds at some point in the video - Speak&SID also feeds into the CPC's internal audio speaker, so at that point I am turning off the amp and let the CPC speaker roar for a bit."

Some additional info in via Mechael Wessel:

"I am cooking up a SID soundcard for the Amstrad CPC

Maybe of some interest to SID / CPC lovers?

'CPC Speak&SID' is a SpeakJet-based speech synthesizer for the CPC, and a SID sound card! It works with the original SID chips, but SwinSID and ARMSID are also valid options. The video shows the original 6581 in action.

The sources for CPC Speak&SID will be made open source soon. The production costs for the card are in the 50 $ range (without the SID chip of course - builders have to source one themselves) Speak&SSID uses the SpeakChip chip for the speech synthesizer, an ATMega 8535 at 16 MHz as the microcontroller, and a Xilinx 9536 CPLD. The SID chip is connected directly to the CPC address and databus though; the CPLD generates the 1 MHz clock signal from the CPC's 4 MHz clock, as well as the other control signals such as R/~W etc.

Unlike the Commodore, the CPC uses IO ports instead of memory mapped registers for hardware interfacing. Hence, the 29 SID chip registers starting at address &d400 to &d41c in the C64 memory are mapped to the CPC's Z80 IO ports &fac0 - &fadc. C64 SID BASIC programs can be ported easily to Speak&SID, simply by replacing the POKE's (PEEK) with OUT (INP) commands, and by adjusting the SID base address.

For the SID Player shown in the video, I am using a version that was already customized by DaDMaN from the CPC Wiki Forum, and it is based on Simon Owen's SID Player for the Z80."

Saturday, April 06, 2019

LamdbaSpeak 3 - Audio Playback over CPC Speaker & Serial Interface


Published on Apr 6, 2019 Michael Wessel

"LambdaSpeak 3 audio output can now also be sent back into the CPC to be played over the CPC's internal speaker, using mono SND pin of the expansion port. Hence, the final version of LambdaSpeak 3 will have 2 more DIP switches (one for left audio channel, one for right audio channel) that allow turning audio loop back on and off.

Also, the new serial mode seems to be working! LambdaSpeak 3 will have a new "serial" mode and 4 PIN headers (VCC, GND, TX, RX). In this mode, the hardware USART0 of the ATmega 644 will be used.

So far, there is a little test that initializes the USART, and then communicates with the Emic 2 speech synthesizer board on the little breadboard, connected over the 4 yellow wires (VCC, GND, TX, RX). The Emic 2 is connected to an amplifier. It uses a simple serial protocol (plain ASCII) which is being sent over the USART / serial connection. Seems to work!"

See more here

Thursday, August 08, 2019

LambdaSpeak 3 - Amstrad / Schneider CPC MIDI IN Synthesizer Demo


Published on Aug 7, 2019 Michael Wessel

Demo comes in at 1:18. This is a follow-up to the LambdaSpeak & LambdaDrum for the Amstrad CPC post here.

"Good news - the LambdaSpeak 3 Serial Interface is now versatile and fast enough to support MIDI IN in real time!

The Akai Miniak synthesizer shown in this video is only used as a MIDI controller, and it is the CPC that is actually producing the sound that you hear, NOT the Miniak.

Hence, LambdaSpeak's MIDI IN DIN socket receives MIDI NOTE ON / NOTE OFF messages from the Miniak, and the CPC is running a simple 'CPC MIDI Synthesizer' machine code program that interprets the MIDI messages and turns them into sound, via the internal CPC GI AY-3-8910 soundchip.

Besides this, MIDI OUT also already works with LambdaSpeak 3, and it can even be programmed from BASIC. Regarding MIDI IN, the CPC is fast enough to do the MIDI real time processing as demonstrated in this video with no latency, provided a machine code program is used.

This 'CPC MIDI Synthesizer' machine code program will be extended soon to also process note velocity, pitch bend MIDI controller, as well as 3 channel polyphony and program change messages for changing the sound.

Stay tuned for updates!

I will put the 'CPC MIDI Synthesizer' program on the LambdaSpeak LS300.DSK on the Github page for reference. Please note that you will require the latest LambdaSpeak 3 firmware to run it."
HOME


Patch n Tweak
Switched On Make Synthesizer Evolution Vintage Synthesizers Creating Sound Fundlementals of Synthesizer Programming Kraftwerk

© Matrixsynth - All posts are presented here for informative, historical and educative purposes as applicable within fair use.
MATRIXSYNTH is supported by affiliate links that use cookies to track clickthroughs and sales. See the privacy policy for details.
MATRIXSYNTH - EVERYTHING SYNTH