Sound bank chip

Hello! I am looking to build a toy with Arduino that needs to play a bunch of sounds e.g. “fire shot”, “you are dead!”, “explosion” etc.
I am probably fine with a total memory of 8-10 seconds. I am not interested in the SD Mp3 or Wav players out there I need a simpler solution (preferably a bread board) that <<attention!>> allows me to play more than one pre-recorded sound (on non volatile memory). Very similar to a talking toy that reacts and plays messages depending on user’s action.
Please advice me and sorry if this has already been answered; I did several searches but didn’t find anything to clarify my entire question. And yes, I’ve seen those 8s record/playback chips on ebay however I need to be able to play 5-6 different sounds …
Thanks!

p.s. Speakjet from SpeakJet.com is waaay to expensive at $25usd… I need something simpler an cheaper

How about $8? http://www.mdfly.com/products/sd-sdhc-card-mp3-wav-module.html Add an inexpensive Promini to sense user's inputs and send appropriate command message to the player.

I think some of these will respond to button inputs directly also. http://www.mdfly.com/search.php?search_query=mp3

...nope that won't work they all need a source (e.g. SD) I need a chip that stores the samples inside on a non volatile type of memory. Do you know those kids toys that are producing sounds when a button is pressed? Or the singing "post card"? That is what I need in a cost effective package. 1) ability to write and store 4-6 samples 2) I2C control (preferred) 3) ability to play back the stored samples (or portions of them) 4) hi-quality sound is NOT a mandatory feature. Mono 22khz is plenty for what I need. 5) an integrated sound amplifier on the board would be nice.

I've found chips that are able to record 10seconds and play it back however I am not sure I can play back just a section(e.g. 2.500ms - 4.450ms) of the 10s sound as that would serve my purpose. Here is the aforementioned chip http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=160883881867&refid=store&tfrom=150916490980&tpos=unknow&ttype=price&talgo=origal This is a cheap sound player $3.50 (but again needs an SD and that makes it unreliable long term) http://www.ebay.com/itm/310629013078

Hey dude. I'm looking the same of you. Perhaps, your are looking for a DataFlash Chips. Most of them are simple 8pin chips and needs a Microcontroller for Data Store and Read. Wikipedia: https://en.wikipedia.org/wiki/DataFlash

Some docuementations: https://www.sparkfun.com/datasheets/IC/AT45DB161D.pdf This is a 16MBit Dataflash

Im not sure how implement this, and some of this DataFlash are documentated for work in AVR Atmel Controllers like this: http://www.atmel.com/Images/doc1456.pdf (This is a Audio Player/Recorder make with DataFlash and AVR Risc Microcontroller)

Also, I found a Library for Arduino: http://playground.arduino.cc/Code/Dataflash But if we dive more deeper im sure we can get something like we want. ;)

BlueIronThiever: Hey dude. I'm looking the same of you. Perhaps, your are looking for a DataFlash Chips. Most of them are simple 8pin chips and needs a Microcontroller for Data Store and Read.

Every Arduino microcontroller has buil-in flash memory. An UNO has 32KB.

If you just want to play short snippets of low-qulity ("speech quality") audio sound, you can store the sound data within the same Arduino program which acts as the player program. See here: http://playground.arduino.cc/Code/PCMAudio You not even need 8-bit/8000Hz PCM audio for short voice messages. 8-bit 4000Hz should be enough.

4000Hz 8-bit means: Each second of audio requires 4000 bytes of storage.

So if you put 28000 bytes into PROGMEM aray, you have 7 seconds of audio data in an UNO, you can player either 7 seconds in one piece, or maybe have three audio clips of 2s+3s+2s audio to play from.

PROGMEM data can easily be used up to 64KB on controllers with more than 64KB, and with a MEGA2560 you can use possibly more than 64KB, so more than 15 seconds audio, played from the Arduino program itself, should be no problem, using 8-bit 4000Hz audio data.

For playing longer audio sequences, I'd rec ommend using a small micro SD card module and playing 8-bit WAV file format from SD card. Or maybe use a small and cheap MP3/WAV audio module which can play MP3 or WAV files from MicroSD cards.

jurs: Every Arduino microcontroller has buil-in flash memory. An UNO has 32KB.

If you just want to play short snippets of low-qulity ("speech quality") audio sound, you can store the sound data within the same Arduino program which acts as the player program. See here: http://playground.arduino.cc/Code/PCMAudio You not even need 8-bit/8000Hz PCM audio for short voice messages. 8-bit 4000Hz should be enough.

4000Hz 8-bit means: Each second of audio requires 4000 bytes of storage.

So if you put 28000 bytes into PROGMEM aray, you have 7 seconds of audio data in an UNO, you can player either 7 seconds in one piece, or maybe have three audio clips of 2s+3s+2s audio to play from.

PROGMEM data can easily be used up to 64KB on controllers with more than 64KB, and with a MEGA2560 you can use possibly more than 64KB, so more than 15 seconds audio, played from the Arduino program itself, should be no problem, using 8-bit 4000Hz audio data.

For playing longer audio sequences, I'd rec ommend using a small micro SD card module and playing 8-bit WAV file format from SD card. Or maybe use a small and cheap MP3/WAV audio module which can play MP3 or WAV files from MicroSD cards.

Okey, I got it. I can play a 1 second "cought" sampler for my project, but the volume of the sampler is so low. I play the sampler directly in a 8Ω, 1.5W speaker. Would there be a problem if i connect the speaker to a Sound amplifier like a LM386? I make that question becouse most of the LM386 aplications are for analog input. But in this case, the sound is digital.

I play the sampler directly in a 8Ω, 1.5W speaker.

The Arduino pin can not drive a speaker directly, you will damage the Arduino.

Would there be a problem if i connect the speaker to a Sound amplifier like a LM386?

No problem that is what you must do.

most of the LM386 aplications are for analog input.

Yes.

But in this case, the sound is digital.

No, you have an analogue signal in the form of a PWM signal. It averages to analogue. You might need a RC restoration filter but most amps can cope without one.

BlueIronThiever: Okey, I got it. I can play a 1 second "cought" sampler for my project, but the volume of the sampler is so low. I play the sampler directly in a 8Ω, 1.5W speaker.

Which circuit did you use for audio coupling between Arduino putput and speaker?

This circuit should work for Atmega based boards and a small 8 Ohm speaker, assuming that you create audio output on digital PWM output pin D9: |500x422

You can get a higher output volume when using a 1µF capacitor instead of the 100 Ohm resistor in that circuit.

I have been searching for the same thing. I did come across the ISD2360 chip that is able to have sound files stored into it but I haven't come to find out how to program it or how to use it with other chips/arduino.

Heres the link to the chip: http://www.nuvoton.com/hq/products/isd-voice-ics/isd-chipcorder-family/digital-chipcorder-series/isd2360/?__locale=en

If you have been searching for the same thing as the OP, you have not found it in that chip.

BlueIronThiever: Okey, I got it. I can play a 1 second "cought" sampler for my project, but the volume of the sampler is so low. I play the sampler directly in a 8Ω, 1.5W speaker. Would there be a problem if i connect the speaker to a Sound amplifier like a LM386? I make that question becouse most of the LM386 aplications are for analog input. But in this case, the sound is digital.

Probably for your case a simple transistor with a 10k base resistor will be enough to drive that speaker. Unless you have at hand a module based in the lm386 making one for this project is probably overkill.

If you connect a 8 ohm speaker to an arduino pin you'll go over the max current for that pin, so you'll have to add a resistor between the pin and the speaker, I think that 1 K ohm is safe.