Talking Arduino | Playing a MP3 With Arduino Without Any Module | Playing Mp3 File From Arduino Using PCM

electronicGURU 'profile picture'
66K3634

Intro: 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...

https://www.banggood.com/30pcs-TIP120-NPN-TO-220-D...

https://www.banggood.com/50pcs-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) -

https://drive.google.com/file/d/1LSb-nZcecs1VISQDP...

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.

25 Comments

Hey. I got it to play the example fine, but now I am trying to get it to play a custom file of an owl hooting.

All I am getting is buzz. The file was originally a .wav file, but I brought it into Audacity and made it 16 pcm at 8000 hz and then exported as a .mp3

I am using linux so I used the command xxd -i -s +44 owl-139676_mono_16bit.mp3 to get a hex dump of the file and then I converted that to decimal by using python.

Any ideas what may be the problem?
I need some help here I installed the pcm.zip file but clicking playback in examples does nothing.
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.
the volume of speaker is very slow how to increase it sir ,,
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.
Could not found :Java 2 runtime environment error pls help
Could not found :Java 2 runtime environment error pls help
Hello,

How can I adjust this to work on an Arduino Leonardo? This code will only compile for an Uno.
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...
I cant install the encoder software on my PC ...please help me to intall it
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?
Your encoder was crashed! System can't install your file what should i do?
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.
I didn't open the encode audio.exe file.
It shows an error javaw.exe were not found ,how I encode audio..?
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.
can you please give instructions to connect a pot
how do i control volume?
More Comments