[sdiy] long delay lines

Eric Brombaugh ebrombaugh at earthlink.net
Thu Jul 12 00:02:34 CEST 2007


Derek Holzer wrote:

> My first question is, are there currently any "single chip" solutions 
> for this kind of application?

CoolAudio/Behringer has taken over the Alesis AL3201 and now calls it 
the V1000 DSP/Effects chip. It can be used for delay, but I'd be 
surprised if they're set up to support DIY applications.

http://www.coolaudio.com/products.html

Spin Semiconductor appears to be founded by the guys who did the AL3201 
and they have new/improved versions with devkits, etc.

http://www.spinsemi.com/products.php

> The spec I'm aiming for is:
> 
> * 16bit sound
> * 44.1K sampling rate
> * Maximum delay of well over a second...hopefully up to 3 seconds
> * Possibility of decaying feedback or stable looping
> * Reproducible design (i.e. low number of components, not too expensive 
> or time consuming to program), since I hope to make 8-12 of the things!
> * Small package (by this I mean that I'd like to construct it on a 
> modular synth-sized board...I have a laptop which I currently use for 
> this delay system which is quite big enough, thanks!)
> * SMD components aren't a problem, I can probably work out soldering 
> them by hand or oven somehow

Those specs will be tough to hit with currently available single-chip 
solutions. The two listed above don't have nearly enough on-chip RAM to 
support 3 seconds of delay at those sample rates and resolutions.

If you set your sights on a multi-chip solution though you should be 
able to do it without too much difficulty. 3 seconds @ 16bit/44kHz will 
require about 256kB of RAM - more than most microcontrollers provide. 
Use a fast MCU and some off-chip RAM and you can hit the target. DRAM is 
problematic because aside from the refresh issue, most of what you can 
get these days is geared toward complex interfaces (DDR, etc) that are 
hard to implement on an cheap MCU, and the older stuff isn't dense 
enough. What you'll end up with are fast/wide SRAMs from the likes of 
Cypress.

> I'm also curious about the relationship between clock time and audio 
> quality. Will longer delay times always necessarily loose quality?

Yes, if the amount of RAM is fixed. You either need more RAM, slower 
sample rates or lower resolution. Slower sample rates mean less 
bandwidth in your signal and lower resolution means more quantization noise.

> Conversely, if I choose a system where the clock speed is separated from 
> the delay time, do I lose the ability to pitch the sound down by 
> lengthening the delay?

Yes. If sample rate is constant then varying the delay won't have any 
effect on pitch. Also, you'll have to do some interesting tricks to 
smooth out the transitions from one value of delay to another without 
causing audible glitches.

> It would be good to know what is 
> necessary for programming the different digital interfaces, since that 
> may determine what kind of chip I will use in the application (and 
> possibly which of my friends I can recruit to program it!).

Be prepared to buy a lot of beer for your buddies. Programming a good 
sounding digital delay may seem simple, but it definitely isn't a 
weekend project.

> Can anyone who has taken up a similar project send me some pointers? I'm 
> aware that my "spec requirements" will require some flexibility, of course!

You might start trolling through the archives of the music-dsp mailing 
list, as well as the comp.dsp newsgroup. These things come up there 
fairly frequently.

Eric





More information about the Synth-diy mailing list