[sdiy] New Module pseudo DIY

Eric Brombaugh ebrombaugh1 at cox.net
Wed Dec 16 21:44:58 CET 2009


On 12/16/2009 12:20 PM, Antti Huovilainen wrote:
> On Wed, 16 Dec 2009, Eric Brombaugh wrote:
>
>> for what it does though - I translated an algorithm from FV-1 code to
>> dsPIC and saw a 5x increase in code size!
>
> I'm curious. What algorithm was this?

In this case it was a simple delay-based pitch shifter in stereo. The 
FV-1 can do this in about 10 instructions, whereas it took more than 50 
for the dsPIC. One big difference is that the FV-1 handles circular 
buffers with only a load and store instruction because the indexing and 
limit tests are all automatic. The other is that linear interpolation 
between two buffered values takes only two instructions.

> I've been planning a dspic based fx module and preliminary notepad
> coding suggests that a single dspic could well do phaser, chorus, delay
> & reverb all at once (in stereo).

I wouldn't argue against this - my experience with doing audio effects 
on the dsPIC has been generally positive. If you're using the newer 
40MIPs parts and running at ~48kHz sample rates then you've got plenty 
of horsepower for doing basic delay & filter effects. The main 
limitation I've come up against in these situations is that 16-bit math 
constrains dynamic range and the accuracy of filter coefficients for 
narrow bandwidth IIRs. I suppose you could do double precision 
computations, but the hardware doesn't support this so you take a big 
hit in code complexity and throughput.

Eric


More information about the Synth-diy mailing list