Any recommendations for audio player microcontrollers?

May 31, 2008 17 Replies

I'm trying to build a small device that instantly plays one of many short audio clips stored in memory on user's command.



Does anybody know any easy to program microcontroller that integrates all the needs below?


  1. GPIO (8 pins will be enough)
  2. Built in memory (external is OK as long as it's easy to hook up)
  3. Directly drives small loudspeakers (0.5W).

The audio quality doesn't have to be good. 22kHz audio will be more than enough.



Thanks!.



Cheers, Hoi


couple of solutions here to make life easier:

formatting link

but you would still need a micro to run these off the shelf solutions.

Cheers Don...

Don McKenzie Site Map: http://www.dontronics.com/sitemap E-Mail Contact Page: http://www.dontronics.com/email Intelligent 2.83" AMOLED with touch screen for micros: http://www.dontronics-shop.com/product.php?productid=16699

Looks like if you use the chip, only, you can program it:

formatting link

Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de

This depends on how many seconds at which bit resolution you want to store.

A cheaper solution than the VLSI chip could be to use a standard low-cost microcontroller with sufficient flash. Most microcontrollers have a PWM output. Add an external FET and lowpass filter for some cents, and you can drive a loudspeaker with it.

The only drawback is that flash in microcontrollers is expensive. If you use something like 16k flash, the sound memory would be less than a second, if uncompressed. Would be interesting to see, if it is possible to implement e.g. a decoder for the free Ogg Vorbis format (MP3 requires license fee for each device, or a really big one-time fee) in a small and slow microcontroller.

Another idea: just buy a 500k serial flash for less than $1 (in higher quantities), which can store more than 20 seconds uncompressed 8 bit audio data.

formatting link

Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de

if you really have a lot of audio clips, then this may work for you:

formatting link

Don...

Don McKenzie Site Map: http://www.dontronics.com/sitemap E-Mail Contact Page: http://www.dontronics.com/email Intelligent 2.83" AMOLED with touch screen for micros: http://www.dontronics-shop.com/product.php?productid=16699

formatting link

Real programmers implement their own SD card readers with a PIC16F690, if you really need lots of audio data, with LCD, oscilloscope, accelerometer, speaker and Pong integrated :-)

formatting link

Frank Buss, fb@frank-buss.de http://www.frank-buss.de, http://www.it4-systems.de

formatting link

nice work, nice video :-)

Don...

Don McKenzie Site Map: http://www.dontronics.com/sitemap E-Mail Contact Page: http://www.dontronics.com/email Intelligent 2.83" AMOLED with touch screen for micros: http://www.dontronics-shop.com/product.php?productid=16699

That is high fidelity in the treble range. Normally required telephone quality audio requires 3.5 kHz only. Similarly telephone bass falls off at 300 Hz.

[mail]: Chuck F (cbfalconer at maineline dot net) [page]: Try the download section. ** Posted from http://www.teranews.com **

I've heard people do nothing but bad-mouth PIC microcontrollers on this newsgroup... which is suprising after seeing that video.

Hi Don,

Thanks for your inputs. The device that I'm building is a small portable device (wrist-watch, belt, whatever) that gives out sound effects (each 1~5 seconds, and a total of 8~256 clips) on user command. For sound quality, I might need it to be better than telephone because many sound effects will lose its thrill if they are too distorted.

200ms delay between command and playing will be unacceptable, that's why I was worried about the overhead time to read from file systems on SD cards.

Do you have any good cheap microcontroller (I don't need a lot of features) that's small, low power, and have fast access to like 4M memory?

Thanks.

Cheers, Hoi

formatting link

formatting link

You don't have to put a filesystem on an SD card. Just invent a storage format you like and store and image of it in a binary file. Then use a tool like dd to copy it to the device file representing the raw card - trivial under linux, do-able but a bit trickier under some versions of windows. And of course possible if you initialize the card in your embedded device by downloading data to it.

200 mS is 1/5 of a second, which will be imperceptible to the user. Also, you can't get good audio fidelity without large speaker systems.

Please do not top-post. Your answer belongs after (or intermixed with) the quoted material to which you reply, after snipping all irrelevant material. This top-post has lost all the preceding quotes. See the following links:

(taming google) (newusers)

[mail]: Chuck F (cbfalconer at maineline dot net) [page]: Try the download section. ** Posted from http://www.teranews.com **

Search for information on the Chinese line of MCUs "Jaztek." There shoul be some good leads in this group as well. It can be hard to track dow samples you need but its exactly what you are looking for. From what understand this line of chips are popular in the toy industry.

If you'd like help tracking down more info or datasheets feel free t email.

Op Sat, 31 May 2008 21:08:04 +0200 schreef Hoi Wong :

Quality is also greatly influenced by the audio equipment.

To reduce response time, you could store the first part of (a portion of) the samples in a faster medium (like RAM).

Define cheap, small, low and fast.

Gemaakt met Opera's revolutionaire e-mailprogramma: http://www.opera.com/mail/

Hi Hoi,

I have worked on a few audio reference designs over the past few years with my company.

We have an ST7 based WAV file player, but it uses external M25Pxx memory to hold the data. Works up to 32kHz. Low cost option, and sounds quite good. Have also written some PC WAV file converter and ROM builder software to accompany this.

Microchip have an ADPCM solution (free if you use their devices).

If you want to go for higher quality, less memory storage then I have an STR9 based MP3 player based on Helix MP3 routines, and EFSL filesystem (SD-card).

Am working on ogg vobis now. Although CPU is struggling, need to add FreeRTOS and do some optimizing...

Let me know if you want schematics / code, and I will send...

Cheers,

Martin.

h
o
t
l

formatting link
M

I would be greatly interested in getting the ST7 package.

regards,

-jim

Renesas has an ADPCM based solution that lets you use internal Flas memory or external Flash to play-back 11-16Khz, 16 bit compressed audio o the M16C and R8C microcontrollers.

formatting link

There are multiple examples, schematics, sound samples and even WAV t ADPCM converter that runs on a PC. It all works with the Renesas Compile and IDE called HEW.

This is a really inexpensive way to go (free compiler up to 64k of code) and you can even use a 20 PIN SSOP package device. Audio quality can b very good with the right LP Filter and amp.

-- CG

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required