The Audio Codec Shield works directly with the Arduino Uno, Arduino Duemilanove, and Leaflabs Maple, but NOT with the Aduino Mega. The Mega has a different pinout for its SPI bus, so some hacking is required. Also, the Maple USB currently does not work with the Codec Shield, due to interrupt blocking times, and Arduino serial commands have the same problem. You can still use the Arduino serial port if you access it directly.
The Audio Codec Shield is an Arduino shield that uses the Wolfson WM8731 codec, capable of sampling and reproducing audio up to 88kHz, 24bit stereo. The Audio Codec Shield has 1/8″ stereo input and headphone output jacks, a single pole analog input aliasing filter, and 2 potentiometers for varying parameters in your code. (Check out the wiki page for the Arduino and Maple code libraries.)
The Audio Codec Shield pins out all of the useful pins on the codec, including the microphone pins, the line in and line out pins, the headphone pins, and the midrail bias voltage pin. This extends the Shield’s productivity beyond the Arduino platform, to a general purpose breakout board for the codec. It also has a 5V to 3.3V level translator so it can be used with most microcontroller platforms. And the enable pin on the level translator is pinned out, in case you want to multiplex your SPI line.
The WM8731 has a lot of useful features, and routines have been written for most of them for both Arduino and Maple (the 32bit Arduino alternative). The codec is DC coupled on both the input and output, so you can even use it as a high quality ADC and DAC for signals of all kinds. In the addition to high frequency audio sampling, the WM8731 is capable of sample rates all the way down to 2kHz . The variable sampling rate can come in handy if you need to free-up more processing time. But don’t worry, if you hit a ceiling with the Arduino, you don’t have to sacrifice your resolution, as the Maple gives at least a 4x performance increase from our tests.