mcu based delay or reverb,is it possible?

Started by Lee, May 21, 2006, 11:57:11 AM

Previous topic - Next topic

Lee

Hi ALL~(I am not good at english,I wish you guys could understand me)

I `m trying to build a digital delay effect unit . Simply,it includes a 16bit A/d c,mcu and a d/a c chip,but i never used a mcu before,eventhough I m trying hard to learn it ,but there`re still to many questions I don`t know,I don`t even know  what I desided to built could work or not.Is it possible? If it is possible ,which adc/dac chip should I use,and how to link them to the mcu`It is better to use an serial data!

thanks for the reply!

Peter Snowberg

Lee, your English is great. I can understand you perfectly.  :icon_biggrin:

Older digital delays are built using that exact method. That was mainly in the days of 8 and 12 bit units.

16 bit converters are much more commonly available with serial interfaces. There are parallel ones, but they are generally high perforance and quite expensive.

The easiest way to make a delay like this is to use an MCU with A/D already built in. Some MCUs also have D/A, but the A/D is the hardest part.

Look at this thread for a delay built using a VERY efficient MCU method:
http://www.diystompboxes.com/smfforum/index.php?topic=43177.0

When you make a device like this you are building a computer from individual parts so it is a complex undertaking, however the link above shows that it can be done with a minimum of parts.
Eschew paradigm obfuscation

wirelessJack

Hi,

I have never attempted any sort of delay effects..but I have some background in digital audio.  In my opinion, most microcontrollers are not fast enough for fair quality DSP effects.  The ADC's built in may be able to run fast enough (32Khz?) but 8-12-bits might not cut it.  That said, unless you're using your delay for 'repeating' a phrase for a long time, it might be ok for 'echo' type effects..with lower volume echoes.

Also, ADC's in microcontrollers (SAR ADC's) require a good lowpass filter, to attenuate all frequencies above half the sampling frequency.  EG, you sample at 32Khz, you want a filter that can attanuate everything above 16Khz.  As for resolution, 16-bits would be absolutely fine, but I would set 10 bits as a minimum.

I have had a PIC microcontroller controlling an ADC and DAC running at 32Khz, 18-bits....but because of the speed the microcontroller didn't really have time to do anything useful with the signal (like delay, mixing, EQ etc..).  There are faster micro's out there, AVR's tend to be quicker, and cheaper, although I've yet to tinker with them.  As for ADCs/DACs being serial or parallel....parallel is easier to interface, but the serial ones can be contrlled using a microcontrollers 'built in' interfaces.  They'll get the data into your PIC with you controlling it in software, and saves a lot of time.

My advice would be to experiment with ATMEL micro's, especially the big ones like ATMEGA88.  They're quite cheap (nothing compared to a small DSP chip) and have built in ADC's, serial interfaces.  For a DAC, check google for 'R2R DAC'..its cheap easy and simple, and works for audio (I've done this myself).

Sorry for such a long post, I really hopes this helps in some way.

WirelessJack.
The on going wireless guitar project...eating up my money and time...