Creative Commons images are CC BY-NC-SA 3.0

39.95

added to your
shopping cart

quantity
22 available 22 in stock
39.95 1+ units
35.96 10+ units
31.96 100+ units

Description: The Open Music Labs Codec Shield gives your Arduino (or Maple) development board access to the all of the audio processing power of the Wolfson WM8731 codec. The WM8731 is a low-power stereo audio codec with stereo 24-bit multi-bit sigma delta ADCs and DACs which are used with oversampling digital interpolation and decimation filters. Thanks to the variable sampling frequency of the codec, even the relatively slow Arduino can grab and alter audio in real-time.

The Codec Shield breaks out all of the useful pins on the WM8731 including the mic, line-in and out, headphone, and midrail bias voltage pin. It also has 1/8" stereo input and headphone out jacks as well as a pair of potentiometers for modulating parameters in your code.

The shield uses SPI to communicate with the WM8731 so it won't work directly with the Arduino Mega, but getting started on an Arduino-UNO style board or LeafLabs Maple is easy! Just download the library and example code, hook up and audio source and start tweaking.

Obviously you don't have much time to execute code between audio samples, so your code will need to stay pretty slim, but the example code gives a great framework for how your code should flow. Open Music Labs claims a performance increase of 4x when running the shield on a Maple (thanks to the higher clock speed).

Features:

  • Wolfson WM8731 Codec
  • On-board 5V to 3.3V Level Translator
  • Mic, Line-in and out, Headphone, and Midrail Bias Voltage Pins Broken Out
  • 1/8" Stereo In and Out Jacks
  • Single Pole Analog Input Aliasing Filter
  • 2 Potentiometers On-board for Modulating Code
  • Stereo 24-bit Multi-bit Sigma Delta ADCs and DACs
  • Arduino and Maple Libraries and Code Available!

Documents:

Comments 13 comments

  • I have used this board. It’s great. I’ve used it as an audio interface, as a DC-coupled analog signal interface, and as a home-brew keyboard synthesizer (using the Sparkfun Midi shield to connect to my actual keyboard). This codec shield is pretty sweet. A couple of notes, however:

    1) The arduino doesn’t have much horsepower for processing audio in real-time. I didn’t realize how slow it was until I started trying to process audio. Wow. If you’re thinking of doing anything remotely complex with the audio signals, you’ll be stuck running this shield at the lowest sample rate (~2kHz) because the Arduino just can’t keep up. Yes, the demo code runs nicely at higher sample rates on the Arduino, but anything complex will likely be too much for the Arduino…you’ll have to run the codec slower. Sure, many of you are probably more efficient coders than I am, but for the everyday mortal out there, don’t expect the Arduino to become a pristine studio-grade audio processor running 24-bit at 44 kHz. You’ll need to step up to the Maple to do anything serious.

    2) The maple works great with this shield except that you need to disable the USB serial stream. In my opinion, this is a very serious and important thing to know before you jump in. Thankfully, the example code includes the proper disable command (which is great), so the device does work properly directly out-of-the-box. But, without the USB serial link, how do you send messages to the PC to debug your code!?! You won’t be able to do that here. Apparently, there’s some sort incompatibility on with the Maple itself. So, if you’re using the Maple, be aware that you’ll lose your USB serial. That’s painful. A work-around is to use one of the Maple’s regular (non USB) serial streams to talk to a 2nd Maple (or to talk to an Arduino) and then to have that 2nd device echo your text to the PC over its USB link.

    As long as you’re aware of the two issues above, the Audio Code shield is a really great product. And I think that the price is fantastic.

    • Once a sketch has been uploaded to the Maple that disables the USB like this, do you know how to recover the Maple from this so it can talk over USB again? Every time I plug in my Maple now, it immediately loads this codec shield program - and putting the maple into eternal bootloader mode doesn’t seem to work (just makes it appear as a libusb device, but doesn’t create a COM port).

  • just a heads up, if you’re trying to do anything with audio sampling/delay type effects without much effort/extra circuitry you should check out the audio hacker shield from nootropic design. The audio quality is lower, but not unusably so. The Maple (which this has libraries for) is also very difficult to use on Windows. I guess the bottomline is to research before you purchase either.

  • Will a DUE play audio beautifully through this? its 12 bit audio isn’t good enough fro me I think, I need 16+

  • If you are using a smaller Arduino so you don’t need the shield format you can buy the MIKROE-506 from Mouser for $20 with the same chip WM8731

  • I was wondering if i could use this shield to do some real time processing on human voices recorded through a mic ? Like amplifying specefic frequency ranges …

  • Can it be utilesed for midi interface?

  • Can it be utilesed for midi interface?

  • In the text above, you say “The shield uses SPI to communicate with the WM8731 so it won’t work directly with the Arduino Mega…” Could you explain? The Mega can do SPI.

  • I’d like to use this as the front end ADC for a software-defined receiver and noticed the low pass filter on the line-in. Looks like it has a 3dB point of around 17 kHz. If I were to remove C3/C4, anyone have any idea what the input bandwidth on this would be?

  • But will it work with ATRAC3? If it can work with that, you better get more in stock

  • If you need to do anything more ambitous with this kind of sound processing then the arduino or even the maple can handle, this is when you would consider an fpga platform.


Related Products