Archive of the former Yahoo!Groups mailing list: Korg Poly800/EX800 Users

previous by date index next by date
previous in topic topic list  

Subject: Re: [korgpolyex] Re: New CPU - idea

From: gordon@...
Date: 2014-10-15

On Tue, Oct 14, 2014 at 02:49:10PM -0700, Michael Hawkins korgpolyex800@... [korgpolyex] wrote:
> Well, I've thought about the VCF issue and all I can say is that I ∗think∗ the STM32 would be able to do its own digital filters on the voices. I don't know this for certain and I am not a math whiz with digital filters (actually I've never created a digital audio filter in code and wouldn't even know where to start). If anyone has a link or ten to help me write an audio digital filter in C, I am all ears. But, even if we keep the VCF as is, we shall be able to produce eight totally independent voices with a long list of waveforms all independently clocked for separate modulation goodness. That can't be a bad thing! My own opinion is that it will be the finishing touch on Poly that will transform it into a "real" synth.
>

The STM32 should handle eight voices with filters. It's got a fairly decent ALU which can cope with signed multiply and divide. I've implemented a single 12dB/octave biquad on an AVR8 which is trickier since you only have unsigned multiply and no divide (obviously you've got signed multiply and division in C, but it's slow compared to unsigned mult which compiles to a single instruction).

This is my automatic bassline generator (Amen break played back and filtered sawtooth generated in realtime at 32kHz)
http://gjcp.net/~gordonjcp/mp3s/acid6.ogg

The code for it is floating around in here
https://github.com/gordonjcp/gyoza

and the quick and easy guide to biquad filters that you may find helpful is here
http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt

> And there will be a need to develop the tone generation code in the STM32 using C. A key point here is that the TG will generate the waveforms for all eight voices, will need to generate its own envelopes and will need to generate its own oscillator modulation and finally, will need to emulate the MSM5232 perfectly.

MSM5232 emulations already exist in MESS/MAME

Can't help but think it will so radically alter the character of the Poly800 as to render it unrecognisable, though. Wouldn't this almost be better as a separate standalone module?

--
Gordonjcp MM0YEQ