[sdiy] Walsh bank, was: Re: [sdiy] Micro as a Linear to Exponential converter?

Neil Johnson neil.johnson97 at ntlworld.com
Sun Aug 16 00:17:27 CEST 2009


Hi,

Tom Wiltshire wrote:
>> How many terms do you need to get useful results?
>
> Lots. You're building up waveforms out of 'square-wave' functions,  
> so things will have crunchy digital edges until the number of  
> functions gets pretty large. Yes, I *am* being deliberately vague,  
> sorry. But it's partly a question of taste.

Some people happen to like crunchy digital.

> Analogously, how many sine waves do you need to make an arbitrary  
> waveform with standard fourier analysis?

An infinite number? :)

> I've used 64 in my oscillator design, as a compromise between  
> quality and feasibility.

A cut-down Kurzweil K150 then?  More like a Kawai K5 or K5000.

> I'd say you need at least that many for Walsh synthesis, and  
> probably more, since you're adding functions with sharp edges and  
> that will make the results more crunchy. Double or quadruple this  
> would be better.

An alternative viewpoint is that additive with sines is fine if you  
want to sound like a hammond or a piano, but if you want crunchy  
digital aggressive sounds then Walsh functions offer more.

> The problem I see with Walsh synthesis is that it has the worst  
> features of additive synthesis (How do we control all those  
> coefficients effectively?) and it has added difficulties in that a  
> given coefficient doesn't relate directly to a particular harmonic.

Then hide the complexity behind software.  Who said you had to expose  
the inner workings to the user?

> This means you can't easily say "I'd like a little more sixth  
> harmonic" and turn up a control for it - some maths has to be done  
> to work out which coefficients need to alter and by how much. This  
> makes it more obscure.

Funny that - processors are *really good* at doing maths.  If you  
want a user interface that allows a user to express such a thought  
then its not impossible to code up routines that present a facade of  
sine-wave synthesis, then convert the input into the Walsh domain to  
drive the underlying hardware.

The great advantage of Walsh over Fourier is that coefficient  
multiplication turns into add or subtract.  Sinewaves you need to do  
multiplications all over the place (or that double-add-with-phase- 
shift of Hal Alles).

Neil
--
http://www.njohnson.co.uk






More information about the Synth-diy mailing list