welcome: please sign in

Revision 37 as of 2010-08-05 03:32:53

Clear message
location: MICrODEC

About MICrODEC

MICrODEC is a work in progress (and probably always will be). It is an open-source platform for Digital Signal Processing (DSP) that is approachable for those familiar with programming Atmel microcontrollers. For those unfamiliar, we hope its a fun excuse to learn.

The hardware itself is of moderately high quality (44.1ksps, 16bit, stereo, -96dB noise, 3Hz - 18kHz frequency response), and has built in features for use with audio effects (wet/dry mix, feedback, mic./instrument/line level inputs). Because of the high data rate, the MICrODEC does not allow for as much processing time as low-end ADC to PWM style microcontroller audio interfaces, but, with 6 seconds of sample time, plenty of useful functions can be executed in the ~400 free clock cycles per sample. And, at a lower cost in comparison to high-end DSP units, it provides a good platform for sound installations where more than a few units may be required.

Features yet implemented

Features not yet implemented

The current MICrODEC implementation is fun to use, but there are a number of things that would make it even better.

Things to put on this page, or subpages

Firmware page by page

The Firmware for the MICrODEC is divided into 2 parts. The first is a Main File, which deals with initializing the microcontroller and codec, and handles the interrupt routine. The second is the Function Bank, which holds all of the commands which are executed when an interrupt is called (once per audio sample). This may or may not be the best implementation. It has the advantage of being more portable, as different programs can be dropped into the Function Bank, without having to worry about conflicts in the Main File. On the other hand, no processing can occur during idle time outside of the interrupt loop.

This is the current Main File: AudioInt4.asm

Here is an example of a delay, with extensive comments designed to help you learn to program the MICrODEC: DelayTutorial.Asm

User written programs (which can be added to the Function Bank) can be found here (add link to new page).

Documentation can be downloaded here

Files: Beta Release