Introduction: Talking Arduino | Playing a MP3 With Arduino Without Any Module | Playing Mp3 File From Arduino Using PCM
In this instructables we will learn how to play a mp3 file with arduino without using any audio module, here we gonna use PCM library for Arduino which plays 16 bit PCM of 8kHZ frequency so lets do this.
Step 1: Gather Your Components
BUY PARTS:
BUY TIP120:
https://www.utsource.net/itm/p/384328.html
BUY 12V ADAPTER:
https://www.utsource.net/itm/p/8013134.html
BUY ARDUINO UNO:
https://www.utsource.net/itm/p/7199843.html
//////////////////////////////////////////////////////
so in order to do this we need a few components very firat An Arduino & then a speaker 0.5w to 10 w any speaker will do the job then you need to buy a transistor for amplification if your speaker is higher than 0.5w as mine was 3 w so i used a TIP 120 transistor dor amplifying the audio you can use any audio amplifier too.
Buying links. -
Items to Buy (affiliate link) -
Arduino Uno-
https://www.banggood.com/UNO-R3-ATmega16U2-AVR-Mod...
Speaker -
https://www.banggood.com/2-Pcs-3-Inch-4-10W-Full-R...
https://www.banggood.com/50MM-0_5W-Customized-50mm...
https://www.banggood.com/3-Pair-4-Ohm-3W-LCD-Panel...
TIP 120 transistor -
https://www.banggood.com/10pcs-TIP120-NPN-TO-220-D...
Step 2: Connections
The connections are really simple if you are using 0.5watt speaker then directly connect the +ve pin of speaker to digital pin 11 on Arduino & -ve pin of speaker to gnd & if using 3 watt speaker then use a tip120 transistor & connect the 11 of Arduino to the base of transistor and -ve pin of speaker to the collector of the transistor & emitter of the transistor to the gnd pin on Arduino.
IIf having issues with connection refer video for help.
Step 3: Download Required Files
To do this you will need few files first of all PCM.zip file to play PCM audio from arduino.
ThEN we will need Audacity software to convert a normal mp3 audio to a 16bit PCM 8hkz audio
& Lastly we need a encoder software to encode that audio into data which we can paste in the code.
DOWNLOAD Audacity -
https://www.audacityteam.org/download/
Download PCM.ZIP & Encoder software (file named as Arduino MP3.zip) -
Step 4: Prepare Audio & Convert It Into Data
the important step is to prepare the audio data.so very first we will need a mp3 file either you record one or get one from anywhere then open that file into Audacity and & click on format then select 16 bit pcm then go down & select frequency of audio to 8000hz & export the audio as mp3.
Then open encode audio software & navigate to the audio file we generated froma audacity then you'll get a message audio copied to clipboard successfully.
Step 5: Coding Part
so the next part is coding part , so as you downloaded the the Arduin mp3.zip file which contains PCM.zip file so add this PCM.zip file as a library to the arduino & then open the playback example available in the that PCM library , & there in the sketch you have to edit the 2nd line of code in sample[] arrray which is of programem type you need to remove all the data in that aray & paste the data which is copied to the clipboard by the encode audio software.
Step 6: Upload the Code
so finally our code is ready so upload it to the arduino & you'll hear your recorded audio from speaker , enjoy it & if you have any issues or want to about this in deep just refer the video provided.
Thank you.

Participated in the
Microcontroller Contest
24 Comments
Question 5 weeks ago on Step 4
I need some help here I installed the pcm.zip file but clicking playback in examples does nothing.
Question 2 years ago on Step 2
Why 11 exactly?
2 years ago on Step 6
Dear Sir
How about if I need to apply this on my car as notification whether I STOP, REVERSE, TURNING to the right/left or HAZARD? I am totally blind for the technology. When I found this project of your, my heart say "this is amazing". I wish you would be kind to help me.
2 years ago
the volume of speaker is very slow how to increase it sir ,,
Tip 2 years ago
For Those: If you are facing error "Java 2 Runtime Environment couldn't found"
Simply go to control panel and uninstall extra java runtime environment just keep one.
My error is gone now so this is my tip.
Question 2 years ago
Could not found :Java 2 runtime environment error pls help
Question 2 years ago
Could not found :Java 2 runtime environment error pls help
Question 2 years ago
Hello,
How can I adjust this to work on an Arduino Leonardo? This code will only compile for an Uno.
3 years ago
how come I didn't see this project before? ... You changed my arduino projects forever ... Thank you very much for sharing .... Regards from Costa Rica...
3 years ago on Step 6
I cant install the encoder software on my PC ...please help me to intall it
Reply 3 years ago
https://www.java.com/en/download/win10.jsp
install it
3 years ago
hello, i followed the steps way down but i can´t open the encoder.exe. I receive an Error that Java can not be open...
so what do went wrong?
Reply 3 years ago
i ll face sames problems ,then install java.exe from here.https://www.java.com/en/download/win10.jsp
then ok
Question 3 years ago on Introduction
Your encoder was crashed! System can't install your file what should i do?
3 years ago
Why have you no resistor in the base of the transistor? As you have it you are drawing too much current from the Arduino pin and it is being damaged. Eventually this pin will fail and will not work anymore. It will not instantly stop working but over time it will.
3 years ago on Step 6
I didn't open the encode audio.exe file.
It shows an error javaw.exe were not found ,how I encode audio..?
Question 4 years ago on Step 5
Hi ,
I am fallowing all your steps and I have generated the custom encoded data and pasted in the array.
But I am not getting the audio out put due to that new data.
i want to play the sound like "OUMM".
PLEASE HELP ME TO GET THE OUTPUT.
4 years ago
can you please give instructions to connect a pot
4 years ago
how do i control volume?
4 years ago
NICE WORK!!!how this will work with arduino mega?