Chorus/delay/pitch shifter with pic

Started by stfala, February 11, 2015, 05:28:51 PM

Previous topic - Next topic

stfala

I have been getting into the digital side for a while now but have no clue where to start with my idea for a digital stompbox project.

I've built various random basic projects with arduino to get a feel for things, but i want to get going with my own project.

I'd like to make a chorus, pitch shifter or delay, and possibly combine the three into one multi-effect. Ideally I'd do this on the arduino then program a chip like the atmega32 (I have no idea if that chip is even suitable though tbh) from there. My problem is that I can't seem to find any resources for creating a pitch shifter or chorus program on the arduino (or if its even possible just using the arduino). Does anybody know of any audio processing scripts available on the net for arduino that I could use for this type of project?

Yes, this is quite a noob question and my idea probably has obvious flaws but any help of pointers in the right direction would be appreciated!

Cheers!

g_u_e_s_t

i have written a pitch shifter and flanger for arduino.  i think the pitch shifter i have up on the website might be an older, not as well working version.  take a look at the libraries for the stompshield, miniardsp, and codec shield:

http://wiki.openmusiclabs.com/wiki/


anotherjim

Certainly possible with an Arduino. Assuming you mean the original ATMega based versions. There will be sound quality limits if going with minimal external parts. The best the ADC can do is 10bit. At 10bit, the sample rate from PWM output and the standard 16Mhz cpu clock will be about 15.6khz, giving a 7Khz limit. This is fine for instrument fx, although you'll need the same amount of external filtering that many bbd designs need.
The ADC can run at 70kHz sample rate, meaning you can take up to 4 readings and either have oversampling or read some pots as well as the audio input.
Go with 8bit, and the PWM rate goes up to 70.5Khz. This closely matches the ADC upper rate, so you can have a really high sampling rate to simplify the external filtering if you want.

More recent Arduino boards like the Due have 12bit ADC and DAC, which could improve matters no end.