MrZmann
Published © GPL3+

Out of My League - Music on Arduino

Music by Fitz and the Tantrums played on 3 piezo buzzers using an Arduino Nano (clone).

BeginnerFull instructions provided1.5 hours3,594
Out of My League - Music on Arduino

Things used in this project

Hardware components

Piezo Buzzer
Linked to 5 pack (what I bought), but you only need 3
×3
Arduino Nano R3
Arduino Nano R3
I bought clones (accidentally), they are cheaper but you have to download extra files for them to work. Also I suggest soldering onto a breadboard stand.
×1
Resistor 7.5K ohm
I used 2, but they get way cheaper when you buy more
×2
Resistor 3.9K ohm
Only used 2, but again it makes more sense to buy 100
×2
Breadboard (generic)
Breadboard (generic)
×1
Jumper wires (generic)
Jumper wires (generic)
Optional - the resistors and buzzers should suffice
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Code

MoreThanJustADream.ino

C/C++
This has parts for all 3 buzzers. I also redefined the note frequencies so they'd be more in tune. Don't forget to download the Tone library!
  //created by Reed Zimmermann 4/23/18
  #include <Tone.h>
//Don't forget to download that library, I have the notes defined here but not the methods
// Redefined notes just temperemant (C), sounds so much better
#define NOTE_C2  65.4
#define NOTE_CS2 69.8
#define NOTE_D2  73.6
#define NOTE_DS2 78.5
#define NOTE_E2  81.8
#define NOTE_F2  87.2
#define NOTE_FS2 92
#define NOTE_G2  98.1
#define NOTE_GS2 104.6
#define NOTE_A2  109
#define NOTE_AS2 116.3
#define NOTE_B2  122.6
#define NOTE_C3  130.8
#define NOTE_CS3 139.5
#define NOTE_D3  147.2
#define NOTE_DS3 157
#define NOTE_E3  163.5
#define NOTE_F3  174.4
#define NOTE_FS3 184
#define NOTE_G3  196.2
#define NOTE_GS3 209.3
#define NOTE_A3  218
#define NOTE_AS3 232.5
#define NOTE_B3  245.3
#define NOTE_C4  261.6
#define NOTE_CS4 279.1
#define NOTE_D4  294.3
#define NOTE_DS4 314
#define NOTE_E4  327
#define NOTE_F4  348.8
#define NOTE_FS4 367.9
#define NOTE_G4  392.4
#define NOTE_GS4 418.6
#define NOTE_A4  436
#define NOTE_AS4 465.1
#define NOTE_B4  490.5
#define NOTE_C5  523.2
#define NOTE_CS5 558.1
#define NOTE_D5  588.6
#define NOTE_DS5 627.9
#define NOTE_E5  654.1
#define NOTE_F5  697.7
#define NOTE_FS5 735.8
#define NOTE_G5  784.9
#define NOTE_GS5 837.1
#define NOTE_A5  872
#define NOTE_AS5 930.2
#define NOTE_B5  981.1
#define NOTE_C6  1046.6
#define NOTE_CS6 1116.2
#define NOTE_D6  1177.4
Tone melody;
Tone bass;
Tone harmony;

const int t = 300;  // quater note duration (ms)
void wait(Tone t) //doesn't let the song go on until the specified Tone has finished its note
{
  while (t.isPlaying()) { }  
}

void setup(void)
{
  pinMode(4, OUTPUT);  // melody buzzer ground pin
  pinMode(9, OUTPUT);  // harmony buzzer ground pin 
  // Use GND for bass ground pin

  melody.begin(6);  // melody buzzer signal pin
  bass.begin(3);  // bass buzzer signal pin
  harmony.begin(10);  // harmony buzzer signal pin
}



void loop(void)
{
melody.play(NOTE_E5, t); //More
wait(melody);
melody.play(NOTE_D5, t/2); //Than
wait(melody);
melody.play(NOTE_C5, t); //Just
wait(melody);
melody.play(NOTE_D5, t/2); // A
wait(melody);
melody.play(NOTE_A4, t); //Dream
wait(melody);
melody.play(NOTE_A4, t*2);
harmony.play(NOTE_C5, t*2);
bass.play(NOTE_F3, t*5);
wait(melody);
melody.play(NOTE_A5, t*2);
harmony.play(NOTE_C5, t*2);
wait(melody);
melody.play(NOTE_A5, t*1.5);
harmony.play(NOTE_C6, t*1.5);
wait(bass);
bass.play(NOTE_F3, t);
wait(melody);
melody.play(NOTE_F5, t/2);
wait(bass);
bass.play(NOTE_G3, t);
melody.play(NOTE_A5, t/2);
wait(melody);
melody.play(NOTE_C6, t*1.5);
wait(bass);
bass.play(NOTE_A3, t);
wait(bass);
bass.play(NOTE_E3, t*5);
melody.play(NOTE_B5, t*2);
harmony.play(NOTE_G5, t*2);
wait(melody);
melody.play(NOTE_B5, t*2);
harmony.play(NOTE_G5, t*2);
wait(melody);
melody.play(NOTE_E5, t); //More
harmony.play(NOTE_B4, t);
wait(melody);
melody.play(NOTE_D5, t/2); //Than
bass.play(NOTE_E3, t);
wait(melody);
melody.play(NOTE_C5, t); //Just
harmony.play(NOTE_G4, t);
wait(bass);
bass.play(NOTE_D3, t);
wait(melody);
melody.play(NOTE_D5, t/2); // A
wait(melody);
melody.play(NOTE_A4, t); //Dream
bass.play(NOTE_E3, t);
wait(melody);
melody.play(NOTE_A4, t*2);
harmony.play(NOTE_C5, t*2);
bass.play(NOTE_F3, t*5);
wait(melody);
melody.play(NOTE_A5, t*2);
harmony.play(NOTE_C5, t*2);
wait(melody);
melody.play(NOTE_A5, t*1.5);
harmony.play(NOTE_C6, t*1.5);
wait(bass);
bass.play(NOTE_F3, t);
wait(melody);
melody.play(NOTE_F5, t/2);
wait(bass);
bass.play(NOTE_G3, t);
melody.play(NOTE_A5, t/2);
wait(melody);
melody.play(NOTE_C6, t*1.5);
wait(bass);
bass.play(NOTE_A3, t);
wait(bass);
bass.play(NOTE_E3, t);
melody.play(NOTE_B5, t*2);
harmony.play(NOTE_G5, t*2);
wait(bass);
bass.play(NOTE_E3, t);
wait(bass);
melody.play(NOTE_B5, t*2);
harmony.play(NOTE_G5, t*2);
bass.play(NOTE_E3, t);
wait(bass);
bass.play(NOTE_E3, t);
wait(bass);
melody.play(NOTE_B5, t*2);
harmony.play(NOTE_G5, t*2);
bass.play(NOTE_D4, t/2);
wait(bass);
bass.play(NOTE_D4, t/2);
wait(bass);
bass.play(NOTE_D4, t/2);
wait(bass);
bass.play(NOTE_D4, t/2);
wait(bass);
melody.play(NOTE_B5, t*2);
harmony.play(NOTE_G5, t*2);
bass.play(NOTE_B3, t/2);
wait(bass);
bass.play(NOTE_B3, t/2);
wait(bass);
bass.play(NOTE_B3, t);
wait(bass);
bass.play(NOTE_F3, t);
harmony.play(NOTE_A3, t*.75);
wait(bass);
melody.play(NOTE_C5, t/2); // 1 OOhs
wait(melody);
melody.play(NOTE_C5, t/2);
bass.play(NOTE_F3, t*1.5);
wait(melody);
melody.play(NOTE_A4, t);
harmony.play(NOTE_A3, t);
wait(melody);
melody.play(NOTE_F4, t);
harmony.play(NOTE_C4, t*4);
wait(melody);
melody.play(NOTE_C5, t);
bass.play(NOTE_F3, t*2);
wait(melody);
melody.play(NOTE_C5, t);
wait(melody);
melody.play(NOTE_D5, t*.75);
bass.play(NOTE_G3, t/2);
wait(bass);
bass.play(NOTE_F3, t/2);
wait(melody);
melody.play(NOTE_C5, t/4);
wait(melody);
melody.play(NOTE_A4,t);
bass.play(NOTE_G3, t*.5);
wait(bass);
bass.play(NOTE_A3, t*.5);
wait(bass);
bass.play(NOTE_E3, t);
wait(bass);
melody.play(NOTE_C5, t/2); // 2 OOhs
wait(melody);
melody.play(NOTE_C5, t/2);
bass.play(NOTE_E3, t*1.5);
wait(melody); 
melody.play(NOTE_A4, t);
harmony.play(NOTE_G3, t);
wait(melody);
melody.play(NOTE_F4, t);
harmony.play(NOTE_B3, t*4);
wait(melody);
melody.play(NOTE_C5, t);
bass.play(NOTE_E3, t*2);
wait(melody);
melody.play(NOTE_C5, t/2);
wait(melody);
melody.play(NOTE_D5, t/2);
wait(melody);
melody.play(NOTE_D5, t/2);
bass.play(NOTE_E3, t/2);
wait(bass);
melody.play(NOTE_C5, t/2);
bass.play(NOTE_C3, t/2);
wait(melody);
melody.play(NOTE_A4,t);
bass.play(NOTE_D3, t/2);
wait(bass);
bass.play(NOTE_E3, t/2);
wait(bass);
bass.play(NOTE_F3, t);
wait(bass);
melody.play(NOTE_C5, t/2); // 3 OOhs
wait(melody);
melody.play(NOTE_C5, t/2);
bass.play(NOTE_F3, t*1.5);
wait(melody);
melody.play(NOTE_A4, t);
harmony.play(NOTE_A3, t);
wait(melody);
melody.play(NOTE_F4, t);
harmony.play(NOTE_C4, t*4);
wait(melody);
melody.play(NOTE_C5, t);
bass.play(NOTE_F3, t*2);
wait(melody);
melody.play(NOTE_C5, t);
wait(melody);
melody.play(NOTE_D5, t*.75);
bass.play(NOTE_G3, t/2);
wait(bass);
bass.play(NOTE_F3, t/2);
wait(melody);
melody.play(NOTE_C5, t/4);
wait(melody);
melody.play(NOTE_A4,t);
bass.play(NOTE_G3, t*.5);
wait(bass);
bass.play(NOTE_A3, t*.5);
wait(bass);
bass.play(NOTE_E3, t);
wait(bass);
melody.play(NOTE_C5, t/2); // 4 OOhs
wait(melody);
melody.play(NOTE_C5, t/2);
bass.play(NOTE_E3, t*1.5);
wait(melody); 
melody.play(NOTE_A4, t);
harmony.play(NOTE_G3, t);
wait(melody);
melody.play(NOTE_F4, t);
harmony.play(NOTE_B2, t*4);
wait(melody);
melody.play(NOTE_F5, t);
bass.play(NOTE_D4, t*2);
wait(melody);
melody.play(NOTE_F5, t/2);
wait(melody);
melody.play(NOTE_D5, t/2);
wait(melody);
melody.play(NOTE_D5, t/2);
bass.play(NOTE_B3, t*2);
wait(melody);
melody.play(NOTE_C5, t/2);
wait(melody);
melody.play(NOTE_A4,t);
wait(bass);
bass.play(NOTE_F3, t*2);
wait(bass);
melody.play(NOTE_G4, t/2); //For-
harmony.play(NOTE_G4, t/2);
bass.play(NOTE_F3, t*2);
wait(melody);
melody.play(NOTE_A4, t); //ty
harmony.play(NOTE_A4, t);
wait(melody);
melody.play(NOTE_C5, t); //days
harmony.play(NOTE_A4, t);
wait(bass);
bass.play(NOTE_A3, t*4);
wait(melody);
melody.play(NOTE_A4, t); //and
harmony.play(NOTE_F4, t);
wait(melody);
melody.play(NOTE_G5, t); //for-
harmony.play(NOTE_E5, t);
wait(melody);
melody.play(NOTE_F5, t); //ty
harmony.play(NOTE_D5, t);
wait(melody);
melody.play(NOTE_E5, t*8.5); //nights
harmony.play(NOTE_C5, t*8.5);
wait(bass);
bass.play(NOTE_G3, t*4);
wait(bass);
bass.play(NOTE_B3, t*2);
wait(bass);
bass.play(NOTE_C4, t/2);
wait(bass);
bass.play(NOTE_A3, t/2);
wait(bass);
bass.play(NOTE_C4, t/2);
wait(bass);
bass.play(NOTE_D4, t/2);
wait(bass);
bass.play(NOTE_F3, t*2);
wait(bass);
bass.play(NOTE_F3, t*2);
melody.play(NOTE_G4, t/2); //Wait-
harmony.play(NOTE_G4, t/2);
wait(melody);
melody.play(NOTE_A4, t); //ed
harmony.play(NOTE_A4, t);
wait(melody);
melody.play(NOTE_C5, t); //for
harmony.play(NOTE_A4, t);
wait(bass);
bass.play(NOTE_A3, t*4);
wait(melody);
melody.play(NOTE_A4, t); //a
harmony.play(NOTE_F4, t);
wait(melody);
melody.play(NOTE_G5, t*1.5); //girl
harmony.play(NOTE_E5, t*1.5);
wait(melody);
melody.play(NOTE_F5, t); //like
harmony.play(NOTE_D5, t);
wait(melody);
melody.play(NOTE_E5, t); //you
harmony.play(NOTE_C5, t);
wait(bass);
bass.play(NOTE_G3, t*3.5);
wait(melody);
melody.play(NOTE_C5, t/2); //to
harmony.play(NOTE_C5, t/2);
wait(melody);
melody.play(NOTE_E5, t); //come
harmony.play(NOTE_C5, t);
wait(melody);
melody.play(NOTE_C5, t); //and
harmony.play(NOTE_C5, t);
wait(bass);
bass.play(NOTE_B3, t*2.5);
wait(melody);
melody.play(NOTE_E5, t); //save
harmony.play(NOTE_C5, t);
wait(melody);
melody.play(NOTE_E5, t); //my
harmony.play(NOTE_C5, t);
wait(melody);
melody.play(NOTE_F5, t/2); // Life----
harmony.play(NOTE_F5, t/2);
wait(melody);
melody.play(NOTE_F5, t/2);
harmony.play(NOTE_F5, t/2);
bass.play(NOTE_C4, t/2);
wait(melody);
melody.play(NOTE_E5, t/2);
harmony.play(NOTE_E5, t/2);
bass.play(NOTE_A3, t/2);
wait(bass);
bass.play(NOTE_C4, t/2);
melody.play(NOTE_D5, t/2);
harmony.play(NOTE_D5, t/2);
wait(bass);
bass.play(NOTE_D4, t/2);
melody.play(NOTE_C5, t/2);
harmony.play(NOTE_C5, t/2);
wait(bass);
bass.play(NOTE_F3, t*2);
melody.play(NOTE_A4, t*2);
harmony.play(NOTE_C4, t*2);
wait(bass);
melody.play(NOTE_G4, t/2); //All
harmony.play(NOTE_G4, t/2);
bass.play(NOTE_F3, t*2);
wait(melody);
melody.play(NOTE_A4, t); //the
harmony.play(NOTE_A4, t);
wait(melody);
melody.play(NOTE_C5, t); //days
harmony.play(NOTE_A4, t);
wait(bass);
bass.play(NOTE_A3, t*4);
wait(melody);
melody.play(NOTE_A4, t); //I
harmony.play(NOTE_F4, t);
wait(melody);
melody.play(NOTE_G5, t); //waited
harmony.play(NOTE_E5, t);
wait(melody);
melody.play(NOTE_A5, t); //for
harmony.play(NOTE_F5, t);
wait(melody);
melody.play(NOTE_E5, t*8.5); //you
harmony.play(NOTE_C5, t*8.5);
wait(bass);
bass.play(NOTE_G3, t*4);
wait(bass);
bass.play(NOTE_B3, t*2);
wait(bass);
bass.play(NOTE_C4, t/2);
wait(bass);
bass.play(NOTE_A3, t/2);
wait(bass);
bass.play(NOTE_C4, t/2);
wait(bass);
bass.play(NOTE_D4, t/2);
wait(bass);
bass.play(NOTE_F3, t*2);
wait(bass);
bass.play(NOTE_F3, t*2);
melody.play(NOTE_G4, t/2); //You
harmony.play(NOTE_G4, t/2);
wait(melody);
melody.play(NOTE_A4, t); //know
harmony.play(NOTE_A4, t);
wait(melody);
melody.play(NOTE_C5, t); //the
harmony.play(NOTE_A4, t);
wait(bass);
bass.play(NOTE_A3, t*4);
wait(melody);
melody.play(NOTE_A4, t); //ones
harmony.play(NOTE_F4, t);
wait(melody);
melody.play(NOTE_G5, t*1.5); //who
harmony.play(NOTE_E5, t*1.5);
wait(melody);
melody.play(NOTE_F5, t); //said
harmony.play(NOTE_D5, t);
wait(melody);
melody.play(NOTE_E5, t); //I'd ne-
harmony.play(NOTE_C5, t);
wait(bass);
bass.play(NOTE_G3, t*3.5);
wait(melody);
melody.play(NOTE_C5, t/2); //ver
harmony.play(NOTE_C5, t/2);
wait(melody);
melody.play(NOTE_E5, t); //find
harmony.play(NOTE_C5, t);
wait(melody);
melody.play(NOTE_C5, t); //some-
harmony.play(NOTE_C5, t);
wait(bass);
bass.play(NOTE_B3, t*2.5);
wait(melody);
melody.play(NOTE_E5, t); //one
harmony.play(NOTE_C5, t);
wait(melody);
melody.play(NOTE_E5, t); //like
harmony.play(NOTE_C5, t);
wait(melody);
melody.play(NOTE_F5, t/2); // You----
harmony.play(NOTE_F5, t/2);
wait(melody);
melody.play(NOTE_F5, t/2);
harmony.play(NOTE_F5, t/2);
bass.play(NOTE_C4, t/2);
wait(melody);
melody.play(NOTE_E5, t/2);
harmony.play(NOTE_E5, t/2);
bass.play(NOTE_A3, t/2);
wait(bass);
bass.play(NOTE_C4, t/2);
melody.play(NOTE_D5, t/2);
harmony.play(NOTE_D5, t/2);
wait(bass);
bass.play(NOTE_D4, t/2);
melody.play(NOTE_C5, t/2);
harmony.play(NOTE_C5, t/2);
wait(bass);
bass.play(NOTE_F3, t*2);
melody.play(NOTE_A4, t*2);
harmony.play(NOTE_C4, t*2);
wait(bass);
bass.play(NOTE_F3, t*2);
harmony.play(NOTE_A3, t*2);
melody.play(NOTE_G4, t); //You
wait(melody);
melody.play(NOTE_A4, t); //Were
wait(melody);
bass.play(NOTE_A3, t*4);
harmony.play(NOTE_C4, t*4);
melody.play(NOTE_C5, t); //Out
wait(melody);
melody.play(NOTE_A4, t); //Of
wait(melody);
melody.play(NOTE_G5, t); //My
wait(melody);
melody.play(NOTE_E5, t); //League
wait(melody);
melody.play(NOTE_E5, t*2); 
bass.play(NOTE_G3, t*4);
harmony.play(NOTE_B3, t*4);
wait(melody);
melody.play(NOTE_G4, t); //All
wait(melody);
melody.play(NOTE_A4, t); //The
wait(melody);
melody.play(NOTE_C5, t); //Things
bass.play(NOTE_B3, t*2);
wait(melody);
melody.play(NOTE_A4, t); //I
wait(melody);
melody.play(NOTE_G5, t); //Be-
bass.play(NOTE_C4, t);
wait(melody);
bass.play(NOTE_D4, t);
melody.play(NOTE_E5, t); //lieve
wait(melody);
bass.play(NOTE_F3, t*4);
harmony.play(NOTE_A3, t*4);
melody.play(NOTE_E5, t*2);
wait(melody);
melody.play(NOTE_G4, t); //You
wait(melody);
melody.play(NOTE_A4, t); //Were
wait(melody);
bass.play(NOTE_A3, t*4);
harmony.play(NOTE_C4, t*4);
melody.play(NOTE_C5, t); //Just
wait(melody);
melody.play(NOTE_A4, t); //The
wait(melody);
melody.play(NOTE_G5, t); //Right
wait(melody);
melody.play(NOTE_E5, t); //Kind
wait(melody);
bass.play(NOTE_G3, t*4);
harmony.play(NOTE_B3, t*4);
melody.play(NOTE_E5, t);
wait(melody);
melody.play(NOTE_D5, t); //Cause
wait(melody);
melody.play(NOTE_C5, t); //You
wait(melody);
melody.play(NOTE_D5, t); //Are
wait(melody);
melody.play(NOTE_E5, t); //More
wait(melody);
melody.play(NOTE_D5, t/2); //Than
wait(melody);
melody.play(NOTE_C5, t); //Just 
wait(melody);
melody.play(NOTE_D5, t/2); //A
wait(melody);
melody.play(NOTE_A4, t); //Dream
wait(melody);
melody.play(NOTE_A4, t*2);
bass.play(NOTE_F3, t*4);
harmony.play(NOTE_A3, t*4);
wait(melody);
melody.play(NOTE_G4, t); //You
wait(melody);
melody.play(NOTE_A4, t); //Are
wait(melody);
bass.play(NOTE_A3, t*4);
harmony.play(NOTE_C4, t*4);
melody.play(NOTE_C5, t); //Out
wait(melody);
melody.play(NOTE_A4, t); //Of
wait(melody);
melody.play(NOTE_A5, t); //My
wait(melody);
melody.play(NOTE_E5, t); //League
wait(melody);
melody.play(NOTE_E5, t*2); 
bass.play(NOTE_G3, t*4);
harmony.play(NOTE_B3, t*4);
wait(melody);
melody.play(NOTE_G4, t); //Got
wait(melody);
melody.play(NOTE_A4, t); //My
wait(melody);
melody.play(NOTE_C5, t); //Heart-
bass.play(NOTE_B3, t*2);
wait(melody);
melody.play(NOTE_A4, t); //beat
wait(melody);
melody.play(NOTE_A5, t); //Rac-
bass.play(NOTE_C4, t);
wait(melody);
bass.play(NOTE_D4, t);
melody.play(NOTE_E5, t); //ing
wait(melody);
bass.play(NOTE_F3, t*4);
harmony.play(NOTE_A3, t*4);
melody.play(NOTE_E5, t*2);
wait(melody);
melody.play(NOTE_G4, t); //If
wait(melody);
melody.play(NOTE_A4, t); //I
wait(melody);
bass.play(NOTE_A3, t*4);
harmony.play(NOTE_C4, t*4);
melody.play(NOTE_C5, t); //Die
wait(melody);
melody.play(NOTE_A4, t); //Don't
wait(melody);
melody.play(NOTE_G5, t); //Wake
wait(melody);
melody.play(NOTE_E5, t); //Me
wait(melody);
bass.play(NOTE_G3, t*4);
harmony.play(NOTE_B3, t*4);
melody.play(NOTE_E5, t);
wait(melody);
melody.play(NOTE_D5, t); //Cause
wait(melody);
melody.play(NOTE_C5, t); //You
wait(melody);
melody.play(NOTE_D5, t); //Are
wait(melody);
//Then it goes back to beginning and repeats
}

Credits

MrZmann

MrZmann

1 project • 0 followers

Comments