2
\$\begingroup\$

What kind of chip or device can you use to download 1 minute of music or sound from your PC into it and this same chip or device will sound what you downloaded into it when connected to a small micro controller?

\$\endgroup\$
4
\$\begingroup\$

There are many sound and speech recording solutions, but amongst the easiest and most compact to use are the ISD ChipCorderIC's by Nuvoton.

They have many variants but the simplest ones require little more than the IC to record and playback and can be microcontroller or PC controlled or standalone. The initial products had analog only interfaces, requiring recording f analog sound signals, but current offerings allow recording of either analog or digitised audio signals. Data storage / recovery rate and compression methods can be varies across a wide range allowing quality/duration tradeoffs. [I have used their ISD2500 devices in the past with good results. I have not used their digital recording capable parts but expect them to meet their claimed performance specifications equally well.]

They say:

  • Nuvoton's ChipCorder® is a complete, single chip solution for voice and audio recording and playback. It is designed to offer the highest quality single-chip voice record/playback solutions for embedded applications. Non-volatile and highly integrated, they are ideal solutions for adding voice prompts, alerts, interactive menus, and voice memos to consumer, industrial and security products. Available pre-recording services make it easy to add voice to system design.

enter image description here

A good start to look at is their ISD15100 series with datasheet here

Application example here:

enter image description here

\$\endgroup\$
0
1
\$\begingroup\$

Many open-source music players use a SD/MMC flash card or a CompactFlash card to store the music.

\$\endgroup\$
1
  • \$\begingroup\$ Yes, though for shorter audio durations a soldered in spi flash can be more cost effective provided there is a way to program it either before or after installation. \$\endgroup\$ – Chris Stratton Oct 23 '11 at 0:15
1
\$\begingroup\$

If you go the simple route and use uncompressed 8-bit PCM (.wav), a 1 minute sound byte, sampled at 8kSPS (max 4kHz frequency components), will have 60*8000=480000 bytes, or 468.75KB, of raw data. On top of that you'll need some code space, stack space, and some data packaging overhead (wiggle room). It will need a serial input capable of this download. Keep in mind that at 115'200 bps this will take over 30s. Finally, it'll need one or two pins with which to drive a speaker amplifier at 6kHz and more; two is better. One could also use an integrated DAC, but it's not required.

With these rough requirements in mind, head over to Microchip's site, or whichever brand you fancy, and use their parametric searches. It looks like the PIC32 family has a few 64-pin, 512KB monsters that'll fit the bill. The real kicker is the memory -- without that requirement, nearly any 8-bit micro will do the job. Consider external memory modules, such as davidcary's Flash suggestion, to expand your options. Other memory modules can be spied in Digikey's IC>Memory section. (Look at this little guy!)

\$\endgroup\$
1
\$\begingroup\$

You can make a cheap high quality playback system with a SPI flash memory and Audio DAC. With slightly creative use of an SPI port and timer output on a small MCU you can stream the data from the memory to the DAC without it passing through the MCU.Choose a DAC that has a DSP format option - this relaxes the timing requirements on LRCLK. Realtime recording is not practical due to the flash erase/write times.

\$\endgroup\$
1
  • \$\begingroup\$ You can also get cheap micros with a dac built in, or those with fast enough PWM for many purposes. \$\endgroup\$ – Chris Stratton Oct 23 '11 at 5:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.