playing spoken word / music with an arduino

I am about to try a new project where I want to get Arduino to ring a telephone, then when it is picked up, for an Audio file (wav or mp3) to be played into the earpiece. what would be the best "shield" to use for the audio part of it? the quality doesnt need to be high.

Adafruit wave shield or Adafruit 1788 "music maker"? what are the differences in these hardwares? are there any other more suitable hardware for this?

cheers Tris

Lets start at the beginning with the telephone ringing. What kind of telephone and do you have any idea how a real telephone ringing is done?


Yes thanks, I have a vague idea how a telephone rings. I would like to use an old-fashioned telephone with an electromagnetic bell, and yes I am aware that I will need to apply a 20hz ish +/- 90Volt waveform to the bellset. I imagine that I might be able to do this with a DC boost converter via an H-bridge. I can probably trigger the H-bridge from the Arduino to give ring cadences. (?)

Im fairly confident that I will be able to do that although I realise that it is not trivial. what about the audio reproduction facility?

I'd start by gutting the original phone, replace the bell by one that sounds the same but which operates at 5V, and wire up the speaker output of a DF Player to the earpiece. Maybe you can use the original speaker in there; maybe you're better off replacing that as well.

Of course I am assuming this is some kind of prop phone, not connected to the actual phone network or so.

OK, thanks for all this but what I was really asking was more Arduino related than all this bell nonsense.

I have established that a normal personal MP3 player’s output is sufficient to drive the earpiece of a normal phone to an acceptable level.

So, I am pretty happy that anything “designed” to drive headphones is going to fly here. what I am not too sure of is writing a program that can trigger an MP3 player to play a pre-recorded track.
I am going to want my Arduino system to play a track when the phone handset is lifted, and to stop playing when the handset is replaced on-hook.

I know enough about basic electronics that I am happy with ringing a telephone bell, and happy with driving an earpiece with an audio signal.

what I don’t know about, and am therefore asking about, is what I need to add to an Arduino to play MP3 (or other audio files)

“Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.” - Well, quite!!

By the book, your bell is looking for 90 volts AC at 20 Hz.


Yes thanks all for unsolicited bell advice. can we now end the bell discussion and PLEASE can anyone advise whether I can:

use an Arduino with something else, probably a Shield product, so that I can get the arduino to play an audio track from an MP3/wav player? (ideally I might expand this so that the arduino could play one of a number of tracks depending on which switch has been touched.

how might I best go about doing this? could anyone please recomend a product that they might already have used to do something similar?

it seems like it might be a common enough requirement (talking toys, pinball games, information systems, annunciators...

As said: use a DF Player. That IS the mp3/wav/etc player, and is very easily controlled by the Arduino.

Indeed, a very common requirement, and the solution is likewise very common. So common indeed that three of the first four (didn't look further, not counting the video results even) google search results of "Arduino mp3 player" also suggest the DF Player.