pwm audio on atmega/arduino

Started by g_u_e_s_t, January 15, 2013, 12:18:22 AM

Previous topic - Next topic

g_u_e_s_t

im not certain what will happen.  i would expect any analogwrite to timer1's output pins will be at that frequency, but it all depends upon when the arduino code does the timer setup.  it might do it every time analogwrite is called?  i dont know.

g_u_e_s_t

i finally got around to cleaning up the hardware for this project.  i recorded a short sound sample of processing the audio through the arduino.  there is a link below to the wikipage with the sound sample.  its under the "Sound Sample" heading about halfway down the page.  again, webstuff confuses me, and this seemed simplest to do.  the first few bits are just straight passthrough, to give an idea of noise floor and frequency response.  the last bit is with a flanger effect.

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

im working on an arduino shield for it right now that fits in a 1590bb.

earthtonesaudio

The fidelity is way better than I expected.  Is there enough processing power left over to do tap tempo or other parameter adjustment?

g_u_e_s_t

right now i have a rotary encoder to change the LFO.  i think a tap tempo would work, especially if it is connected to one of the timer inputs, so it can run off an interrupt.  the shield im designing has a rotary encoder with switch on it.  maybe i should send that switch to the timer input.

earthtonesaudio

That would be cool.  I like rotary encoders.  Easy enough to put a footswitch in parallel with it.
I assume feedback and depth controls (if any) are analog/external to the DSP.

How big is the flanger program?  Would it be feasible to select multiple programs without re-flashing?


If you can't already tell, my interest level in this project just increased exponentially. :D

Also if you want any help with the analog wrapper let me know.

g_u_e_s_t

right now the shield has feedback, gain, mix, and volume.  so feedback and depth are done in analog, which offloads a lot of the processing, which is nice.  there are 3 pole anti-aliasing filters on the input and output, with a cutoff frequency of 10kHz.

ive written a tremolo, flanger, vco, delay, and bitcrusher.  each program probably takes up less than 1KB, so you could get quite a few of them on there.