Monowave debugging.... into DSP's

Tony Hardie-Bick EMAIL HIDDEN
Tue Aug 25 19:58:22 CEST 2009


Hey Jay

> I have a Soundbite as well and have been doing some synth sessions at
> Metalab .. we used the Soundbite to build a nice little 6-channel
> mixer, which was quite easy, and are now working on porting Tonys'
> DFM-1 filter to it, which is .. not so easy .. but still a good way to
> make some progress since the DFM-1 code (C, linux-alsa plugin) is very
> well documented and .. shall I dare say it .. 'sensible'.  So I'll let
> you know when the code is ready for public consumption by those who
> have Soundbites to work with.

Well, the DFM-1 is written to be readable (without compromising the quality!).
If you're porting to 56K, the optimal code for that is in the entity filter, 
which is also GPL'd. That's what your port *should* look like, if you do a 
fixed-point port of DFM-1 to 56K. The filter calculations are linear. Supplying 
the coefficients is... not easy to follow, and the DFM-1 calibration sequence 
would be a better way to generate coefficients, and then do your own design for 
the LUTs, simply cos it's easier to start that stuff from scratch, than copy 
from an existing implementation (with a particular set of constraints that was 
relevant only to the Chameleon).

56K source is here:

http://www.entitysynth.net

see dsp/sampleGenerator.asm lines 209 to 347

you need gaussian or at least triangular pdf noise in a lut before you execute 
the filter code sequence, and this needs to be freshened each time the filter 
sequence is called. This is shown in DFM-1.

I feel slightly guilty about the whole complexity level of DFM-1/AFM-1/Entity, 
but, at least it's there.

Tony (HB)



More information about the music-bar mailing list