[CM] Reconfigurable DSP patches

cristopher pierson ewing cewing@u.washington.edu
Wed, 16 Oct 2002 16:53:51 -0700 (PDT)


I'm trying to implement a reconfigurable sampler that I have modelled in
csound.

The basic idea is that I have a set of simple single-purpose instruments
that each perform some DSP fuction.  I can then send a sampled sound (or a
generated one, for that matter) through an arbitrary series of these DSP
instruments and play back what comes out the other end.  This part is
simple enough.

I would then like to be able to change the DSP patches from one sampled
sound to the next so that each sound that plays gets its own patch to play
through.

Here's a pseudo-code example:

DSP1 = band-pass
DSP2 = ring-modulator
DSP3 = low-pass

smp1 = first sample
smp2 = second sample
smp3 = third sample

out = (dsp1 (dsp2 (dsp3 smp1))) +
      (dsp2 (dsp1 (dsp3 smp2))) +
      (dsp3 (dsp2 (dsp1 smp3)))
etc.

Currently, I have been exploring the use of (sound-let*) which allows me
to write the output of each dsp to a temp file that is then used as the
input of the next dsp.  This is great stuff, and works well, but is really
slow.

I'm wondering what might be another way of doing this so that I don't have
to rewrite the entire soudfile between each dsp iteration.

Any suggestions would be greatly appreciated.

Cris Ewing



********************************
Cris Ewing
CARTAH Assistant
University of Washington
Home Phone: (206) 365-3413
E-mail: cewing@u.washington.edu
*******************************