Planning a new audio shield: Your opinion requested!

I am thinking of developing a shield that I’ll call Audio Lab for now, and would like to find out whether people have any interest in it, and what features they would like to see. My idea is inpired by Adafruit’s Wave Shield, but with a lot more features and flexibility. Containing an FPGA, this shield would allow the user to input, store, manipulate, and play audio, under the Arduino’s control.

Features of the Audio Lab shield would include:

  1. Microphone input connector, amplifier, and ADC (possibly internal to the FPGA).
  2. DAC, amplifier, and speaker/headphone output connector.
  3. Pre-programmed FPGA, with the option of modifying the configuration for experimentation or upgrade.
  4. Flash memory (SD card would be great, but I’m not sure there’s physical room for it.).
  5. Some extra pins as GPIOs to respond to or trigger external events.
  6. Possibly LEDs as indicators.
  7. SPI interface to Arduino.
  8. Pin-compatible with Adafruit Wave Shield; allow reuse of Wave Shield libraries and sketches.

Standard programmed functions would be included that can be selected by sending commands from Arduino:

  1. Record microphone input onto flash.
  2. Transfer audio files from PC to flash via Arduino.
  3. Play contents of flash, handled by the FPGA, allowing better playback quality and freeing the Arduino to handle other tasks.
  4. Digital synthesizer (sine, square, triangle waveforms).
  5. Apply audio effects such as delay, equalization, custom digital filtering.

Advanced features and applications: users could write their own HDL code and share it on the project web page. Some potential applications could be:

  1. Voice control of robot.
  2. Voice output for robot.
  3. Voice recognition to control lock.
  4. FFT and spectrum analysis.
  5. Graphical spectrum analyzer with addition of a display screen.
  6. Educational suite to learn and experiment with audio signal processing.
  7. Suggestions?

Questions:

  1. Would you prefer the Audio Lab sold as a kit, or pre-assembled?
  2. What resolution (bits) and sampling rate would be needed?
  3. What format(s) for storing audio files should it support?
  4. What type(s) of microphone would people most like to use?
  5. What would be a fair price for this shield (specify kit or assembled)?

Thanks!

  1. Microphone input connector, amplifier, and ADC (possibly internal to the FPGA).

By microphone input, do you mean an unbalanced, electret microphone input (like on a PC soundboard) or do you mean a balanced input for condenser microphones (in which case, where would you get the 48V for phantom power)?

Obviously these are at very different price and quality points, which in turn determines your target audience.

  1. Would you prefer the Audio Lab sold as a kit, or pre-assembled?
  2. What resolution (bits) and sampling rate would be needed?
  3. What format(s) for storing audio files should it support?
  4. What type(s) of microphone would people most like to use?
  5. What would be a fair price for this shield (specify kit or assembled)?
  1. pre-assembled
  2. for serious use, e.g as a sampler for music, 24/96 is usual and 24/44.1 or 16/44.1 is the minimum. For applications where audio quality is not a concern, maybe 12/22.05? Either way you would need a separate ADC, perhaps oone of the I2C ones. The built-in Arduino ADC is not going to cut it, at 10 bits and pretty slow sampling, for audio applications.
  3. Wav, for simplicity and lossless sampling. Mp3, AAC, FLAC or OggVorbis add significant complexity (and MP3 or AAC add cost in terms of licensing fees)
  4. If you go for the higher quality ADC options, then dynamic microphones should be supported with a balanced input and a low-noise mic preamp. (This would also support ribbon mics if your mic pre is quiet enough and has sufficient gain). Adding +48V phantom power to support condenser mics seems awkward on a shield (but leasving it off cuts out the studio musician crowd). An alternative would be to go for a balanced line input, as well or as an alternative to the mic in. People with good mics can use an external pre.
  5. Depends very much on the quality and features provided.

Sorry to spam the thread, but I just came across the Rugged Circuits Audio Sheild while reading up on another of their products.

It has 12/44.1 input and output; unbalanced mic in, line in and headphone out; microSD storage, and an on shield ATxmega32A4 microcontroller to control it all, offloading that from the main Arduino procesor. Which seems like a pretty good deal for USD 34.95; I might get one myself.

I would suggest ensuring your proposed shield is either much cheaper, or much better.

Thanks, Nantonos. This is just the sort of feedback I'm looking for. I'm not aiming for the studio musician crowd; I figure they would prefer a self-contained box with built-in power supply, etc. My target market is general Arduino hobbyists and educators. I think if this shield is flexible enough, it could be put to a lot of creative uses, which users could share.

I was thinking more of a PC kind of mike connection. But clearly, I need to do some homework and understand microphone technology a little better. For the ADC and DAC, I was already assuming some kind of external device.

I'm planning to have the smarts reside in an FPGA rather than a microcontroller, mainly because I have more experience programming FPGAs, so hopefully I can come up with some unique applications that would leverage the advantages of FPGAs compared to MCs.

speaking as a general arduino hobbyist.. that you are targeting..

Most of the NEWER people arent going to care (or understand the hardware behind.. what it allows or restricts because of it)..

Hardware/usability wil be #1 in my opinion..

so if its a kit.. needs to be nice and easy (like the Adafruit kit is)

I would say the software/library would need some REAL help...

I know there are samples for the WaveShield.. and they arent THAT hard to understand/follow.. but they could be NOOB freindly.. easy to use and understand class functions/methods..

etc..etc..

SD or microSD?

What type of DAC? I think the Waveshield libs only work with that specific DAC... so that would need to be 'revised'??

Have you given any thought of its useage? might help form some of the functions on your end?

Seamless looping?

What about layering or mixing audio samples? (loop in background SEAMLESSLY playing.. with layer sounds over it?)

Im assuming this will take all burden/processing power off the Arduino then? I believe the sampling from SD card takes ALOT... and has the SPI bus pretty busy as well? (with Arduino/Waveshield)

Hi-
I'd like to suggest a potentially popular use for your shield, that is difficult to do with existing shields. I am one of a growing group of Halloween Artists, who have recently discovered the Arduino. The number one thing we need for an arduino sound shield to do is to be able to play a stereo audio file, with one of the channels being used for audio output of a recorded voice, and the other channel containing an edited "click" track - basically short bursts of edited audio signal that are used by the Arduino to drive a servo in sync with the recorded voice. This allows you to drive the jaw of a talking skeleton or other figure, making it appear as if the prop is talking. I have seen one example online of someone using Ladyada's board for this, but I don't think it could do stereo, which meant it was driving the servo from the actual voice audio, which results in a very sloppy, unsatisfactory sync. By being able to edit your own signal track, with short bursts of audio signal, you can fine tune the movement, to make it very believable. Currently I use Scary Terry circuits from Cowalicious Designs to accomplish this, though it requires an external sound source. I use an iPod, in combo with the circuit to currently drive my projects. It would make much more sense to me to be able to use a sound shield with arduino, especially if the shield allowed the audio playback to in some way synced with other movements controlled by the arduino. For instance, it would be great if, using the arduino, You could use a servo to turn the head of the skeleton, then play one of the audio files, then turn the head again. My current system doesn't allow for me to synch the sound with other movement. Also, most Halloween enthusiasts, like myself, are not masters of writing code, which means if you could provide clear and easy to understand sketches for using your shield to operate talking props, you could pretty much corner the Halloween market.

Hello again-
I had more thoughts/suggestions, so thought I'd share them. In my last post, I focused on the bare minimum of what would be useful for Halloween Haunters. It occurred to me afterwards that there is a broader need out there for what you might call a "Holiday Audio Shield." In other words, something that would work for both Halloween and Christmas decorators. There is definitely a market for a well designed, easy to use, pre-assembled audio shield that would make it easy to sync servos, LEDs, or relays that control 110v ac circuits, to an integrated stereo audio source, which means the shield definitely needs an onboard SD card. You said there might not be room for it, but you need to make room. Other similar audio shields have them. It would be essential. I'm talking a shield that could control a talking animated character, or be used to animate your yard lights to music at Christmas. A board designed specifically for the holiday DIY, like me, who doesn't want to waste time soldering and learning how to write complex code. I can't tell you how frustrating it has been trying to find easy arduino solutions for my needs. So much of what's out there requires such a high level of technical understanding, that I believe it scares off tons of potential customers. Why can't someone make an audio shield that doesn't require an engineering degree to understand how to get it to work? I believe there are lots of folks like myself out there, who understand the basics of writing sketches, but get completely lost when trying to understand the level of code knowledge required for things like audio shields. I guess my point is, the most important feature of your shield is ease of use for the semi-novice. You need to provide sketches for every possible thing it can do. EVERYTHING. Searching the internet for sketches and trying to make them work make people like me crazy. The easier you make it for consumers, the more units you will sell. And I believe whoever successfully fills the holiday audio shield niche first, will find they have a huge client base and lots and lots of money in the bank. Hope this helps.
Best of luck and happy holidays.