Pages: [1]   Go Down
Author Topic: Arduino digital delay?  (Read 1084 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 17
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey everybody, do you think it would be possible to make an audio digital delay effect using the arduino? Would it work if you used a 16-bit A/D Converter IC, write the samples to flash memory maybe?, and then convert it back using a D/A Converter? I wonder if the Arduino is fast enough to handle it.
Logged

Wuppertal/Germany
Offline Offline
God Member
*****
Karma: 1
Posts: 895
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
simple answer, No!
...and if it were possible its would cost more than buying a digital delay at the store :-(
Sorry
 Eberhard
Logged

Brisbane, Australia
Offline Offline
God Member
*****
Karma: 1
Posts: 593
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Well it depends really.

If you consider VoIP to have pristine audio quality then it will sound ok. ;D
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nice idea, but I think you'd need so many external components that the Arduino would be redundant!  The ATMega itself is fast enough, but doesn't have nearly the i/o bandwidth you need - getting data in from the ADC, out into external RAM (the 1k that the ATMega has won't get you very far), back in again from RAM, back out again to the DAC just isn't going to happen at any useful sample rate.

Something like an ARM7 / ARM9 board might  be better suited to this (iirc they clock at about 50MHz), or one of the dedicated DSP evaluation boards.
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 207
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It does depend on the audio bandwidth you are looking for and the delay times.

Some years ago I worked on a system for digitizing voice (approx 100Hz to 3kHz). I used a Dual Slope Delta Modulation technique to digitise the incoming audio - the thing about it is it digitises to a bit stream.

There are some largish serail ram chips - the serial stream could be packaged into 8 bits written in using SPI and read out from a different address in order to get the delay.

I think an arduino could handle this.

Mike
« Last Edit: January 08, 2008, 04:50:40 am by BigMike » Logged

SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 133
Posts: 6755
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The AVR on the arduino should be able to do reasonably good audio quality, but the big problem is going to be the amount of ram for your delay buffer.  The AVR only has 1k, and at a reasonable-quality sample frequency (20000Hz?) that means a max of 1/20 second or so, even if you could use all the ram for the delay buffer (and  you can't.)  You could add an external delay buffer of some sort, but then you could just purchase something more special-purpose and be done with it...
Logged

Pages: [1]   Go Up
Jump to: