Hey that's me

end2end zone

My life dumped to a web site

end2end

31-Minute Read

Introduction

The following article is written in order to demonstrate how my arduino libraries libRtttl & AnyRtttl can be used to convert arduino code (tone() and delay() functions calls) into actual RTTTL melodies.

This article shows how to convert ‘Game of Throne theme’, ‘Star Wars - The imperial March’ and most Super Mario Bros. sound themes (Main theme, 1-up life sound, Flagpole fanfare, Death and Game Over sounds) into actual playable RTTTL melodies.

Methodology

The basic idea is to convert the code to their lowest common denominator which is tone frequencies and duration (delays). The libRtttl gui program has build-it functionnality to extract the frequencies and delays from arduino code. Using the application, one can convert any melody to RTTTL.

Handling structured or logical code

Some programs are written in an optimized fashion where reapeated sections of a melody are extracted into a function. ie: playRefrain(). The function is then called multiple times to play the whole melody. This method is an effective way to reduce code size but libRtttl gui is unable to parse this code.

Other programs could also use tone() or delay() calls using Constants. A typical usage of this method is to use predefined note names for frequencies which makes the code easier to read. However, constants are also hard to extract by libRtttl gui which does not yet support this feature.

The following code shows the usage of note names as arguments to the tone() function:

tone(8,LA4,Q);
delay(1+Q);
tone(8,LA3,E+S);
delay(1+E+S);

To hande these kind of program, the following code can be added at the beginning of the program. This code will output all calls to the tone() and delay() functions to the serial port.

//silence all analogWrite calls
#define analogWrite dummyAnalogWrite
void dummyAnalogWrite(int pin, int value)
{
}
 
//output function calls to serial port
void serialTone(byte pin, uint16_t frequency, uint32_t duration) {
  Serial.print("tone(");
  Serial.print(pin);
  Serial.print(",");
  Serial.print(frequency);
  Serial.print(",");
  Serial.print(duration);
  Serial.println(");");
}
 
void serialNoTone(byte pin) {
  Serial.print("noTone(");
  Serial.print(pin);
  Serial.println(");");
}
 
void serialDelay(uint32_t duration) {
  Serial.print("delay(");
  Serial.print(duration);
  Serial.println(");");
}
 
#define tone serialTone
#define delay serialDelay
#define noTone serialNoTone

Note that the code above is later refered to as “Arduino tone and delay functions overrides”.

Samples

The following section shows example of using libRtttl gui to convert arduino code (tone() and delay() functions calls) into actual RTTTL melodies.

Game of Throne

Source code:

Modify the code by adding the “Arduino tone and delay functions overrides” to the code. Once done, the code should be looking like this:

////////////////////////////////////////////////////////////////////////
//
//                    GAME OF THRONES THEME SONG
//                PERFORMED ON PIEZO SENSOR AND 3 LEDS
//                           WRITTEN BY 
//                           KALEB HILL
//                            5/28/15
//
////////////////////////////////////////////////////////////////////////

//https://www.youtube.com/watch?v=vrzQU_QbQ5U

int ledred = 9;           // the pin that the LED is attached to
int ledblue = 10;
int ledgreen = 5;
int brightness = 255;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by

//project's contants
#define BUZZER_OUT_PIN 8

//silence all analogWrite calls
#define analogWrite dummyAnalogWrite
void dummyAnalogWrite(int pin, int value)
{
}

//output function calls to serial port
void serialTone(byte pin, uint16_t frequency, uint32_t duration) {
  Serial.print("tone(");
  Serial.print(pin);
  Serial.print(",");
  Serial.print(frequency);
  Serial.print(",");
  Serial.print(duration);
  Serial.println(");");
}

void serialNoTone(byte pin) {
  Serial.print("noTone(");
  Serial.print(pin);
  Serial.println(");");
}

void serialDelay(uint32_t duration) {
  Serial.print("delay(");
  Serial.print(duration);
  Serial.println(");");
}

#define tone serialTone
#define delay serialDelay
#define noTone serialNoTone

// the setup routine runs once when you press reset:
void setup() {
  // declare pin 9 to be an output:
  //pinMode(ledred, OUTPUT);
  //pinMode(ledblue, OUTPUT);
  //pinMode(ledgreen, OUTPUT);
  pinMode(BUZZER_OUT_PIN, OUTPUT);

  Serial.begin(115200);
}

// the loop routine runs over and over again forever:

void loop (){
Serial.println("START");
  
  
//G3
analogWrite(ledred, 255);
analogWrite(ledblue, 255);
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);


////////////////////////////////ONE
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

////////////////////////////////TWO
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

//////////////////////////////THREE
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////FOUR
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////FIVE

//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//E3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 165, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////SIX
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

//////////////////////////////SEVEN

//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//E3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 165, 175);
delay(200);
analogWrite(ledblue, LOW); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);
analogWrite(ledred, LOW);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);


//////////////////////////////EIGHT

//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

/////////////////////////////////////////////////CHORUS1////////////////////////////////////////////
  
  
//G4  
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 392, 1175);
delay(1200);
analogWrite(ledred, LOW);

//C4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 262, 1175);
delay(1200);
analogWrite(ledblue, LOW);

//DS4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 311, 175);
delay(200);

//F4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 349, 175);
delay(200);

//G4
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 392, 775);
delay(800);

//C4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 262, 775);
delay(800);

//DS4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 311, 175);
delay(200);

//F4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 349, 175);
delay(200);

//////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);



/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);
while(brightness > 0)
  {
  analogWrite(ledred, brightness);
  analogWrite(ledblue, brightness);
  analogWrite(ledgreen, brightness);
  brightness = brightness - fadeAmount;
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }
}
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
brightness = 255;
fadeAmount = 5;





//F4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 349, 1175);
delay(1200);
analogWrite(ledred, LOW);

//AS4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 233, 1175);
delay(1200);
analogWrite(ledblue, LOW);

//D4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 294, 175);
delay(200);

//DS4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 311, 175);
delay(200);

//F4
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 349, 775);
delay(800);

//AS3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 233, 775);
delay(800);

//DS4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 311, 175);
delay(200);

//D4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 294, 175);
delay(200);

//////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);


/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////////////////////////////////////////CHORUS2////////////////////////////////////////////
  
  
//G5  
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 392, 1175);
delay(1200);
analogWrite(ledred, LOW);

//C4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 262, 1175);
delay(1200);
analogWrite(ledblue, LOW);

//DS4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 311, 175);
delay(200);

//F4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 349, 175);
delay(200);

//G4
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 392, 775);
delay(800);

//C4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 262, 775);
delay(800);

//DS4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 311, 175);
delay(200);

//F4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 349, 175);
delay(200);

//////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);



/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);
while(brightness > 0)
  {
  analogWrite(ledred, brightness);
  analogWrite(ledblue, brightness);
  analogWrite(ledgreen, brightness);
  brightness = brightness - fadeAmount;
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }
}
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
brightness = 255;
fadeAmount = 5;

//////////////////////////////////////////

//F4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 349, 1175);
delay(1200);
analogWrite(ledred, LOW);

//AS4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 233, 1175);
delay(1200);
analogWrite(ledblue, LOW);

//D4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 294, 175);
delay(200);

//DS4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 311, 175);
delay(200);

//F4
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 349, 775);
delay(800);

//AS3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 233, 775);
delay(800);

//DS4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 311, 175);
delay(200);

//D4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 294, 175);
delay(200);

//////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);


/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////////////////////////////////////////CHORUS3////////////////////////////////////////////
  
  
//G5  
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 784, 1175);
delay(1200);
analogWrite(ledred, LOW);

//C5
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 523, 1175);
delay(1200);
analogWrite(ledblue, LOW);

//DS5
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 622, 175);
delay(200);

//F5
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 698, 175);
delay(200);

//G5
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 784, 775);
delay(800);

//C5
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 523, 775);
delay(800);

//DS5
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 622, 175);
delay(200);

//F5
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 698, 175);
delay(200);

//////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);



/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);
while(brightness > 0)
  {
  analogWrite(ledred, brightness);
  analogWrite(ledblue, brightness);
  analogWrite(ledgreen, brightness);
  brightness = brightness - fadeAmount;
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }
}
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
brightness = 255;
fadeAmount = 5;


////////////////////////////////


//F5
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 698, 1175);
delay(1200);
analogWrite(ledred, LOW);

//AS4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 466, 1175);
delay(1200);
analogWrite(ledblue, LOW);

//D5
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 587, 575);
delay(600);

//DS5
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 622, 575);
delay(600);

//D5
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 587, 575);
delay(600);

//AS4
tone(BUZZER_OUT_PIN, 466, 575);
delay(600);

///////////////////////////////

//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);


/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////////////////////
  
//C3
analogWrite(ledred, LOW);  
analogWrite(ledblue, LOW);  
analogWrite(ledgreen, LOW);  
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);
while(brightness > 0)
  {
  analogWrite(ledred, brightness);
  analogWrite(ledblue, brightness);
  analogWrite(ledgreen, brightness);
  brightness = brightness - fadeAmount;
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }
}
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
brightness = 255;
fadeAmount = 5;



//////////////////////////////////////////////////////////////////////////////////////////

//C5
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 523, 375);
delay(400);


//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////

//C5
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 523, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);


///////////////////////////////////////////

//AS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 466, 375);
delay(400);

//D3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 147, 175);
delay(200);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200);

//F3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 175, 375);
delay(400);

/////////

//AS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 466, 375);
delay(400);

//D3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 147, 175);
delay(200);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200);

//F3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 175, 375);
delay(400);


//////////////////////////////////////////

//GS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 415, 375);
delay(400);

//C3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 131, 175);
delay(200);

//D3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 147, 175);
delay(200);

//DS3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 156, 375);
delay(400);

//////////

//GS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 415, 375);
delay(400);

//C3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 131, 175);
delay(200);

//D3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 147, 175);
delay(200);

//DS3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 156, 375);
delay(400);


/////////////////////////////////////////

//G4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 392, 375);
delay(400);

//AS2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 117, 175);
delay(200);

//C3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 131, 175);
delay(200);

//D3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 147, 375);
delay(400);

///////////

//G4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 392, 375);
delay(400);

//AS2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 117, 175);
delay(200);

//C3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 131, 175);
delay(200);

//D3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 147, 375);
delay(400);


/////////////////////////////////////////

//DS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 311, 375);
delay(400);

//G2
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 98, 175);
delay(200);

//GS2
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 104, 175);
delay(200);

//AS2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 117, 375);
delay(400);

///////////

//DS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 311, 375);
delay(400);

//G2
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 98, 175);
delay(200);

//GS2
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 104, 175);
delay(200);

//AS2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 117, 375);
delay(400);


//////////////////////////////////////////

//DS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 311, 375);
delay(400);

//G2
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 98, 175);
delay(200);

//G2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 98, 175);
delay(200);

//DS4
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 311, 375);
delay(400);

//F4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 349, 775);
delay(400);

//GS2
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 104, 175);
delay(200);

//GS2
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 104, 175);
delay(200);

//F4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 349, 375);
delay(400);

//////////////////////////////////////////

//C4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 262, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////

//C3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

//C3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

//C3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////

//C5
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 523, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////

//C5
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 523, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);


///////////////////////////////////////////

//AS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 466, 375);
delay(400);

//D3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 147, 175);
delay(200);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200);

//F3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 175, 375);
delay(400);

/////////

//AS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 466, 375);
delay(400);

//D3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 147, 175);
delay(200);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200);

//F3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 175, 375);
delay(400);


//////////////////////////////////////////

//GS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 415, 375);
delay(400);

//C3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 131, 175);
delay(200);

//D3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 147, 175);
delay(200);

//DS3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 156, 375);
delay(400);

//////////

//GS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 415, 375);
delay(400);

//C3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 131, 175);
delay(200);

//D3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 147, 175);
delay(200);

//DS3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 156, 375);
delay(400);


/////////////////////////////////////////

//G4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 392, 375);
delay(400);

//AS2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 117, 175);
delay(200);

//C3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 131, 175);
delay(200);

//D3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 147, 375);
delay(400);

///////////

//G4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 392, 375);
delay(400);

//AS2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 117, 175);
delay(200);

//C3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 131, 175);
delay(200);

//D3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 147, 375);
delay(400);


/////////////////////////////////////////

//DS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 311, 375);
delay(400);

//G2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 98, 175);
delay(200);

//GS2
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 104, 175);
delay(200);

//AS2
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 117, 375);
delay(400);

///////////

//DS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 311, 375);
delay(400);

//G2
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 98, 175);
delay(200);

//GS2
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 104, 175);
delay(200);

//AS2
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 117, 375);
delay(400);


//////////////////////////////////////////

//DS4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 311, 775);
delay(800);

//DS4
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 311, 375);
delay(400);

//D4
analogWrite(ledred, LOW);
tone(BUZZER_OUT_PIN, 294, 775);
delay(800);

//D4
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 294, 375);
delay(400);

//////////////////////////////////////////

//C4
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 262, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////

//C3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

/////////////

//C3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

////////////

//C3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

///////////////

//C3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS3
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 156, 175);
delay(200); 
  
//F3
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 175, 175);
delay(200);

//G3
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 196, 375);
delay(400);

////////////////////////////////////////////////

//C3
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 131, 375);
delay(400);

//DS5
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 622, 175);
delay(200); 
  
//F5
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 698, 175);
delay(200);

//G5
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 784, 375);
delay(400);

/////////////////////////////////////////////////

//C5
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 523, 375);
delay(400);

//DS5
analogWrite(ledred, LOW);
tone(BUZZER_OUT_PIN, 622, 175);
delay(200); 
  
//F5
analogWrite(ledgreen, LOW);
tone(BUZZER_OUT_PIN, 698, 175);
delay(200);

//G5
analogWrite(ledblue, LOW);
tone(BUZZER_OUT_PIN, 784, 375);
delay(400);

/////////////////////////////////////////////////

//C5
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 523, 375);
delay(400);

//DS5
analogWrite(ledblue, 255);
tone(BUZZER_OUT_PIN, 622, 175);
delay(200); 
  
//F5
analogWrite(ledred, 255);
tone(BUZZER_OUT_PIN, 698, 175);
delay(200);

//G5
analogWrite(ledgreen, 255);
tone(BUZZER_OUT_PIN, 784, 375);
delay(400);
while(brightness > 0)
  {
  analogWrite(ledred, brightness);
  analogWrite(ledblue, brightness);
  analogWrite(ledgreen, brightness);
  brightness = brightness - fadeAmount;
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }
}
analogWrite(ledred, LOW);
analogWrite(ledgreen, LOW);
analogWrite(ledblue, LOW);
brightness = 255;
fadeAmount = 5;

Serial.println("END");

delay(3000);

while(true) {
}


}

which result in the following data outputted on the serial port when executed:

tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,165,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,165,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,392,1175);
delay(1200);
tone(8,262,1175);
delay(1200);
tone(8,311,175);
delay(200);
tone(8,349,175);
delay(200);
tone(8,392,775);
delay(800);
tone(8,262,775);
delay(800);
tone(8,311,175);
delay(200);
tone(8,349,175);
delay(200);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,349,1175);
delay(1200);
tone(8,233,1175);
delay(1200);
tone(8,294,175);
delay(200);
tone(8,311,175);
delay(200);
tone(8,349,775);
delay(800);
tone(8,233,775);
delay(800);
tone(8,311,175);
delay(200);
tone(8,294,175);
delay(200);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,392,1175);
delay(1200);
tone(8,262,1175);
delay(1200);
tone(8,311,175);
delay(200);
tone(8,349,175);
delay(200);
tone(8,392,775);
delay(800);
tone(8,262,775);
delay(800);
tone(8,311,175);
delay(200);
tone(8,349,175);
delay(200);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,349,1175);
delay(1200);
tone(8,233,1175);
delay(1200);
tone(8,294,175);
delay(200);
tone(8,311,175);
delay(200);
tone(8,349,775);
delay(800);
tone(8,233,775);
delay(800);
tone(8,311,175);
delay(200);
tone(8,294,175);
delay(200);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,784,1175);
delay(1200);
tone(8,523,1175);
delay(1200);
tone(8,622,175);
delay(200);
tone(8,698,175);
delay(200);
tone(8,784,775);
delay(800);
tone(8,523,775);
delay(800);
tone(8,622,175);
delay(200);
tone(8,698,175);
delay(200);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,698,1175);
delay(1200);
tone(8,466,1175);
delay(1200);
tone(8,587,575);
delay(600);
tone(8,622,575);
delay(600);
tone(8,587,575);
delay(600);
tone(8,466,575);
delay(600);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,523,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,523,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,466,375);
delay(400);
tone(8,147,175);
delay(200);
tone(8,156,175);
delay(200);
tone(8,175,375);
delay(400);
tone(8,466,375);
delay(400);
tone(8,147,175);
delay(200);
tone(8,156,175);
delay(200);
tone(8,175,375);
delay(400);
tone(8,415,375);
delay(400);
tone(8,131,175);
delay(200);
tone(8,147,175);
delay(200);
tone(8,156,375);
delay(400);
tone(8,415,375);
delay(400);
tone(8,131,175);
delay(200);
tone(8,147,175);
delay(200);
tone(8,156,375);
delay(400);
tone(8,392,375);
delay(400);
tone(8,117,175);
delay(200);
tone(8,131,175);
delay(200);
tone(8,147,375);
delay(400);
tone(8,392,375);
delay(400);
tone(8,117,175);
delay(200);
tone(8,131,175);
delay(200);
tone(8,147,375);
delay(400);
tone(8,311,375);
delay(400);
tone(8,98,175);
delay(200);
tone(8,104,175);
delay(200);
tone(8,117,375);
delay(400);
tone(8,311,375);
delay(400);
tone(8,98,175);
delay(200);
tone(8,104,175);
delay(200);
tone(8,117,375);
delay(400);
tone(8,311,375);
delay(400);
tone(8,98,175);
delay(200);
tone(8,98,175);
delay(200);
tone(8,311,375);
delay(400);
tone(8,349,775);
delay(400);
tone(8,104,175);
delay(200);
tone(8,104,175);
delay(200);
tone(8,349,375);
delay(400);
tone(8,262,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,523,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,523,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,466,375);
delay(400);
tone(8,147,175);
delay(200);
tone(8,156,175);
delay(200);
tone(8,175,375);
delay(400);
tone(8,466,375);
delay(400);
tone(8,147,175);
delay(200);
tone(8,156,175);
delay(200);
tone(8,175,375);
delay(400);
tone(8,415,375);
delay(400);
tone(8,131,175);
delay(200);
tone(8,147,175);
delay(200);
tone(8,156,375);
delay(400);
tone(8,415,375);
delay(400);
tone(8,131,175);
delay(200);
tone(8,147,175);
delay(200);
tone(8,156,375);
delay(400);
tone(8,392,375);
delay(400);
tone(8,117,175);
delay(200);
tone(8,131,175);
delay(200);
tone(8,147,375);
delay(400);
tone(8,392,375);
delay(400);
tone(8,117,175);
delay(200);
tone(8,131,175);
delay(200);
tone(8,147,375);
delay(400);
tone(8,311,375);
delay(400);
tone(8,98,175);
delay(200);
tone(8,104,175);
delay(200);
tone(8,117,375);
delay(400);
tone(8,311,375);
delay(400);
tone(8,98,175);
delay(200);
tone(8,104,175);
delay(200);
tone(8,117,375);
delay(400);
tone(8,311,775);
delay(800);
tone(8,311,375);
delay(400);
tone(8,294,775);
delay(800);
tone(8,294,375);
delay(400);
tone(8,262,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,156,175);
delay(200);
tone(8,175,175);
delay(200);
tone(8,196,375);
delay(400);
tone(8,131,375);
delay(400);
tone(8,622,175);
delay(200);
tone(8,698,175);
delay(200);
tone(8,784,375);
delay(400);
tone(8,523,375);
delay(400);
tone(8,622,175);
delay(200);
tone(8,698,175);
delay(200);
tone(8,784,375);
delay(400);
tone(8,523,375);
delay(400);
tone(8,622,175);
delay(200);
tone(8,698,175);
delay(200);
tone(8,784,375);
delay(400);

Using libRtttl gui, the above code can be converted to the following RTTTL melody:

Settings: force default, enable tone() octave offsetting.

Game of Throne RTTTL:

GOT:d=32,o=4,b=320:2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4e5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4e5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,1g.6,p,1c.6,p,4d#6,p,4f6,p,1g6,p,1c6,p,4d#6,p,4f6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1f.6,p,1a#.5,p,4d6,p,4d#6,p,1f6,p,1a#5,p,4d#6,p,4d6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1g.6,p,1c.6,p,4d#6,p,4f6,p,1g6,p,1c6,p,4d#6,p,4f6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1f.6,p,1a#.5,p,4d6,p,4d#6,p,1f6,p,1a#5,p,4d#6,p,4d6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1g.7,p,1c.7,p,4d#7,p,4f7,p,1g7,p,1c7,p,4d#7,p,4f7,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1f.7,p,1a#.6,p,1d7,p,1d#7,p,1d7,p,1a#6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c7,p,4d#5,p,4f5,p,2g5,p,2c7,p,4d#5,p,4f5,p,2g5,p,2a#6,p,4d5,p,4d#5,p,2f5,p,2a#6,p,4d5,p,4d#5,p,2f5,p,2g#6,p,4c5,p,4d5,p,2d#5,p,2g#6,p,4c5,p,4d5,p,2d#5,p,2g6,p,4a#,p,4c5,p,2d5,p,2g6,p,4a#,p,4c5,p,2d5,p,2d#6,p,4f#,p,4g#,p,2a#,p,2d#6,p,4f#,p,4g#,p,2a#,p,2d#6,p,4f#,p,4f#,p,2d#6,p,1f6,2p,4g#,p,4g#,p,2f6,p,2c6,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c7,p,4d#5,p,4f5,p,2g5,p,2c7,p,4d#5,p,4f5,p,2g5,p,2a#6,p,4d5,p,4d#5,p,2f5,p,2a#6,p,4d5,p,4d#5,p,2f5,p,2g#6,p,4c5,p,4d5,p,2d#5,p,2g#6,p,4c5,p,4d5,p,2d#5,p,2g6,p,4a#,p,4c5,p,2d5,p,2g6,p,4a#,p,4c5,p,2d5,p,2d#6,p,4f#,p,4g#,p,2a#,p,2d#6,p,4f#,p,4g#,p,2a#,p,1d#6,p,2d#6,p,1d6,p,2d6,p,2c6,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#7,p,4f7,p,2g7,p,2c7,p,4d#7,p,4f7,p,2g7,p,2c7,p,4d#7,p,4f7,p,2g7,p

or the following (by enabling unofficial BPM values) which help have accurate delays between notes:

GOTv2:d=32,o=4,b=336:2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4e5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4e5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,1g.6,p,1c.6,p,4d#6,p,4f6,p,1g6,p,1c6,p,4d#6,p,4f6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1f.6,p,1a#.5,p,4d6,p,4d#6,p,1f6,p,1a#5,p,4d#6,p,4d6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1g.6,p,1c.6,p,4d#6,p,4f6,p,1g6,p,1c6,p,4d#6,p,4f6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1f.6,p,1a#.5,p,4d6,p,4d#6,p,1f6,p,1a#5,p,4d#6,p,4d6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1g.7,p,1c.7,p,4d#7,p,4f7,p,1g7,p,1c7,p,4d#7,p,4f7,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,1f.7,p,1a#.6,p,1d7,p,1d#7,p,1d7,p,1a#6,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c7,p,4d#5,p,4f5,p,2g5,p,2c7,p,4d#5,p,4f5,p,2g5,p,2a#6,p,4d5,p,4d#5,p,2f5,p,2a#6,p,4d5,p,4d#5,p,2f5,p,2g#6,p,4c5,p,4d5,p,2d#5,p,2g#6,p,4c5,p,4d5,p,2d#5,p,2g6,p,4a#,p,4c5,p,2d5,p,2g6,p,4a#,p,4c5,p,2d5,p,2d#6,p,4f#,p,4g#,p,2a#,p,2d#6,p,4f#,p,4g#,p,2a#,p,2d#6,p,4f#,p,4f#,p,2d#6,p,1f6,2p,4g#,p,4g#,p,2f6,p,2c6,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c7,p,4d#5,p,4f5,p,2g5,p,2c7,p,4d#5,p,4f5,p,2g5,p,2a#6,p,4d5,p,4d#5,p,2f5,p,2a#6,p,4d5,p,4d#5,p,2f5,p,2g#6,p,4c5,p,4d5,p,2d#5,p,2g#6,p,4c5,p,4d5,p,2d#5,p,2g6,p,4a#,p,4c5,p,2d5,p,2g6,p,4a#,p,4c5,p,2d5,p,2d#6,p,4f#,p,4g#,p,2a#,p,2d#6,p,4f#,p,4g#,p,2a#,p,1d#6,p,2d#6,p,1d6,p,2d6,p,2c6,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#5,p,4f5,p,2g5,p,2c5,p,4d#7,p,4f7,p,2g7,p,2c7,p,4d#7,p,4f7,p,2g7,p,2c7,p,4d#7,p,4f7,p,2g7,p

Star Wars - The imperial March

Source code:

Modify the code by adding the “Arduino tone and delay functions overrides” to the code. Once done, the code should be looking like this:

// NB: ALL NOTES DEFINED WITH STANDARD ENGLISH NAMES, EXCEPT FROM "A" 
//THAT IS CALLED WITH THE ITALIAN NAME "LA" BECAUSE A0,A1...ARE THE ANALOG PINS ON ARDUINO.
// (Ab IS CALLED Ab AND NOT LAb)
#define	C0 16.35
#define	Db0	17.32
#define	D0	18.35
#define	Eb0	19.45
#define	E0	20.60
#define	F0	21.83
#define	Gb0	23.12
#define	G0	24.50
#define	Ab0	25.96
#define	LA0	27.50
#define	Bb0	29.14
#define	B0	30.87
#define	C1	32.70
#define	Db1	34.65
#define	D1	36.71
#define	Eb1	38.89
#define	E1	41.20
#define	F1	43.65
#define	Gb1	46.25
#define	G1	49.00
#define	Ab1	51.91
#define	LA1	55.00
#define	Bb1	58.27
#define	B1	61.74
#define	C2	65.41
#define	Db2	69.30
#define	D2	73.42
#define	Eb2	77.78
#define	E2	82.41
#define	F2	87.31
#define	Gb2	92.50
#define	G2	98.00
#define	Ab2	103.83
#define	LA2	110.00
#define	Bb2	116.54
#define	B2	123.47
#define	C3	130.81
#define	Db3	138.59
#define	D3	146.83
#define	Eb3	155.56
#define	E3	164.81
#define	F3	174.61
#define	Gb3	185.00
#define	G3	196.00
#define	Ab3	207.65
#define	LA3	220.00
#define	Bb3	233.08
#define	B3	246.94
#define	C4	261.63
#define	Db4	277.18
#define	D4	293.66
#define	Eb4	311.13
#define	E4	329.63
#define	F4	349.23
#define	Gb4	369.99
#define	G4	392.00
#define	Ab4	415.30
#define	LA4	440.00
#define	Bb4	466.16
#define	B4	493.88
#define	C5	523.25
#define	Db5	554.37
#define	D5	587.33
#define	Eb5	622.25
#define	E5	659.26
#define	F5	698.46
#define	Gb5	739.99
#define	G5	783.99
#define	Ab5	830.61
#define	LA5	880.00
#define	Bb5	932.33
#define	B5	987.77
#define	C6	1046.50
#define	Db6	1108.73
#define	D6	1174.66
#define	Eb6	1244.51
#define	E6	1318.51
#define	F6	1396.91
#define	Gb6	1479.98
#define	G6	1567.98
#define	Ab6	1661.22
#define	LA6	1760.00
#define	Bb6	1864.66
#define	B6	1975.53
#define	C7	2093.00
#define	Db7	2217.46
#define	D7	2349.32
#define	Eb7	2489.02
#define	E7	2637.02
#define	F7	2793.83
#define	Gb7	2959.96
#define	G7	3135.96
#define	Ab7	3322.44
#define	LA7	3520.01
#define	Bb7	3729.31
#define	B7	3951.07
#define	C8	4186.01
#define	Db8	4434.92
#define	D8	4698.64
#define	Eb8	4978.03
// DURATION OF THE NOTES 
#define BPM 120    //  you can change this value changing all the others
#define H 2*Q //half 2/4
#define Q 60000/BPM //quarter 1/4 
#define E Q/2   //eighth 1/8
#define S Q/4 // sixteenth 1/16
#define W 4*Q // whole 4/4

//silence all analogWrite calls
#define analogWrite dummyAnalogWrite
void dummyAnalogWrite(int pin, int value)
{
}
 
//output function calls to serial port
void serialTone(byte pin, uint16_t frequency, uint32_t duration) {
  Serial.print("tone(");
  Serial.print(pin);
  Serial.print(",");
  Serial.print(frequency);
  Serial.print(",");
  Serial.print(duration);
  Serial.println(");");
}
 
void serialNoTone(byte pin) {
  Serial.print("noTone(");
  Serial.print(pin);
  Serial.println(");");
}
 
void serialDelay(uint32_t duration) {
  Serial.print("delay(");
  Serial.print(duration);
  Serial.println(");");
}
 
#define tone serialTone
#define delay serialDelay
#define noTone serialNoTone
 
void setup() {     
pinMode(8, OUTPUT);   
pinMode(9, OUTPUT);       
digitalWrite(9,LOW);

Serial.begin(115200);

Serial.println("START");
}

// the loop routine runs over and over again forever:
void loop() {
  //tone(pin, note, duration)
    tone(8,LA3,Q); 
    delay(1+Q); //delay duration should always be 1 ms more than the note in order to separate them.
    tone(8,LA3,Q);
    delay(1+Q);
    tone(8,LA3,Q);
    delay(1+Q);
    tone(8,F3,E+S);
    delay(1+E+S);
    tone(8,C4,S);
    delay(1+S);
    
    tone(8,LA3,Q);
    delay(1+Q);
    tone(8,F3,E+S);
    delay(1+E+S);
    tone(8,C4,S);
    delay(1+S);
    tone(8,LA3,H);
    delay(1+H);
    
    tone(8,E4,Q); 
    delay(1+Q); 
    tone(8,E4,Q);
    delay(1+Q);
    tone(8,E4,Q);
    delay(1+Q);
    tone(8,F4,E+S);
    delay(1+E+S);
    tone(8,C4,S);
    delay(1+S);
    
    tone(8,Ab3,Q);
    delay(1+Q);
    tone(8,F3,E+S);
    delay(1+E+S);
    tone(8,C4,S);
    delay(1+S);
    tone(8,LA3,H);
    delay(1+H);
    
    tone(8,LA4,Q);
    delay(1+Q);
    tone(8,LA3,E+S);
    delay(1+E+S);
    tone(8,LA3,S);
    delay(1+S);
    tone(8,LA4,Q);
    delay(1+Q);
    tone(8,Ab4,E+S);
    delay(1+E+S);
    tone(8,G4,S);
    delay(1+S);
    
    tone(8,Gb4,S);
    delay(1+S);
    tone(8,E4,S);
    delay(1+S);
    tone(8,F4,E);
    delay(1+E);
    delay(1+E);//PAUSE
    tone(8,Bb3,E);
    delay(1+E);
    tone(8,Eb4,Q);
    delay(1+Q);
    tone(8,D4,E+S);
    delay(1+E+S);
    tone(8,Db4,S);
    delay(1+S);
    
    tone(8,C4,S);
    delay(1+S);
    tone(8,B3,S);
    delay(1+S);
    tone(8,C4,E);
    delay(1+E);
    delay(1+E);//PAUSE QUASI FINE RIGA
    tone(8,F3,E);
    delay(1+E);
    tone(8,Ab3,Q);
    delay(1+Q);
    tone(8,F3,E+S);
    delay(1+E+S);
    tone(8,LA3,S);
    delay(1+S);
    
    tone(8,C4,Q);
    delay(1+Q);
     tone(8,LA3,E+S);
    delay(1+E+S);
    tone(8,C4,S);
    delay(1+S);
    tone(8,E4,H);
    delay(1+H);
    
     tone(8,LA4,Q);
    delay(1+Q);
    tone(8,LA3,E+S);
    delay(1+E+S);
    tone(8,LA3,S);
    delay(1+S);
    tone(8,LA4,Q);
    delay(1+Q);
    tone(8,Ab4,E+S);
    delay(1+E+S);
    tone(8,G4,S);
    delay(1+S);
    
    tone(8,Gb4,S);
    delay(1+S);
    tone(8,E4,S);
    delay(1+S);
    tone(8,F4,E);
    delay(1+E);
    delay(1+E);//PAUSE
    tone(8,Bb3,E);
    delay(1+E);
    tone(8,Eb4,Q);
    delay(1+Q);
    tone(8,D4,E+S);
    delay(1+E+S);
    tone(8,Db4,S);
    delay(1+S);
    
    tone(8,C4,S);
    delay(1+S);
    tone(8,B3,S);
    delay(1+S);
    tone(8,C4,E);
    delay(1+E);
    delay(1+E);//PAUSE QUASI FINE RIGA
    tone(8,F3,E);
    delay(1+E);
    tone(8,Ab3,Q);
    delay(1+Q);
    tone(8,F3,E+S);
    delay(1+E+S);
    tone(8,C4,S);
    delay(1+S);
    
    tone(8,LA3,Q);
    delay(1+Q);
     tone(8,F3,E+S);
    delay(1+E+S);
    tone(8,C4,S);
    delay(1+S);
    tone(8,LA3,H);
    delay(1+H);
    
    delay(2*H);

    Serial.println("END");

    while(true) {
    }
    
}

which result in the following data outputted on the serial port:

tone(8,220,500);
delay(501);
tone(8,220,500);
delay(501);
tone(8,220,500);
delay(501);
tone(8,174,375);
delay(376);
tone(8,261,125);
delay(126);
tone(8,220,500);
delay(501);
tone(8,174,375);
delay(376);
tone(8,261,125);
delay(126);
tone(8,220,1000);
delay(1001);
tone(8,329,500);
delay(501);
tone(8,329,500);
delay(501);
tone(8,329,500);
delay(501);
tone(8,349,375);
delay(376);
tone(8,261,125);
delay(126);
tone(8,207,500);
delay(501);
tone(8,174,375);
delay(376);
tone(8,261,125);
delay(126);
tone(8,220,1000);
delay(1001);
tone(8,440,500);
delay(501);
tone(8,220,375);
delay(376);
tone(8,220,125);
delay(126);
tone(8,440,500);
delay(501);
tone(8,415,375);
delay(376);
tone(8,392,125);
delay(126);
tone(8,369,125);
delay(126);
tone(8,329,125);
delay(126);
tone(8,349,250);
delay(251);
delay(251);
tone(8,233,250);
delay(251);
tone(8,311,500);
delay(501);
tone(8,293,375);
delay(376);
tone(8,277,125);
delay(126);
tone(8,261,125);
delay(126);
tone(8,246,125);
delay(126);
tone(8,261,250);
delay(251);
delay(251);
tone(8,174,250);
delay(251);
tone(8,207,500);
delay(501);
tone(8,174,375);
delay(376);
tone(8,220,125);
delay(126);
tone(8,261,500);
delay(501);
tone(8,220,375);
delay(376);
tone(8,261,125);
delay(126);
tone(8,329,1000);
delay(1001);
tone(8,440,500);
delay(501);
tone(8,220,375);
delay(376);
tone(8,220,125);
delay(126);
tone(8,440,500);
delay(501);
tone(8,415,375);
delay(376);
tone(8,392,125);
delay(126);
tone(8,369,125);
delay(126);
tone(8,329,125);
delay(126);
tone(8,349,250);
delay(251);
delay(251);
tone(8,233,250);
delay(251);
tone(8,311,500);
delay(501);
tone(8,293,375);
delay(376);
tone(8,277,125);
delay(126);
tone(8,261,125);
delay(126);
tone(8,246,125);
delay(126);
tone(8,261,250);
delay(251);
delay(251);
tone(8,174,250);
delay(251);
tone(8,207,500);
delay(501);
tone(8,174,375);
delay(376);
tone(8,261,125);
delay(126);
tone(8,220,500);
delay(501);
tone(8,174,375);
delay(376);
tone(8,261,125);
delay(126);
tone(8,220,1000);
delay(1001);

Using libRtttl gui, the above code can be converted to the following RTTTL melody:

Settings: force default, enable tone() octave offsetting

Star Wars - The imperial March RTTTL:

unknown:d=4,o=5,b=180:a.4,a.4,a.4,f4,16c.,a.4,f4,16c.,2a.4,e.,e.,e.,f,16c.,g#.4,f4,16c.,2a.4,a.,a4,16a.4,a.,g#,16g.,16f#.,16e.,8f.,8p.,8a#.4,d#.,d,16c#.,16c.,16b.4,8c.,8p.,8f.4,g#.4,f4,16a.4,c.,a4,16c.,2e.,a.,a4,16a.4,a.,g#,16g.,16f#.,16e.,8f.,8p.,8a#.4,d#.,d,16c#.,16c.,16b.4,8c.,8p.,8f.4,g#.4,f4,16c.,a.4,f4,16c.,2a.4

or the following (by enabling unofficial BPM values) which help have accurate delays between notes:

unknown:d=8,o=5,b=120:4a4,4a4,4a4,f.4,16c,4a4,f.4,16c,2a4,4e,4e,4e,f.,16c,4g#4,f.4,16c,2a4,4a,a.4,16a4,4a,g#.,16g,16f#,16e,f,p,a#4,4d#,d.,16c#,16c,16b4,c,p,f4,4g#4,f.4,16a4,4c,a.4,16c,2e,4a,a.4,16a4,4a,g#.,16g,16f#,16e,f,p,a#4,4d#,d.,16c#,16c,16b4,c,p,f4,4g#4,f.4,16c,4a4,f.4,16c,2a4

Super Mario Bros. themes

Source code:

Modify the code by adding the “Arduino tone and delay functions overrides” to the code. Once done, the code should be looking like this:

#include "Notes.h"                                                        
#include "Wire.h"
#include "WiiClassic.h"

WiiClassic wiiClassy = WiiClassic();

//silence all analogWrite calls
#define analogWrite dummyAnalogWrite
void dummyAnalogWrite(int pin, int value)
{
}
 
//output function calls to serial port
void serialTone(byte pin, uint16_t frequency, uint32_t duration) {
  Serial.print("tone(");
  Serial.print(pin);
  Serial.print(",");
  Serial.print(frequency);
  Serial.print(",");
  Serial.print(duration);
  Serial.println(");");
}
 
void serialNoTone(byte pin) {
  Serial.print("noTone(");
  Serial.print(pin);
  Serial.println(");");
}
 
void serialDelay(uint32_t duration) {
  Serial.print("delay(");
  Serial.print(duration);
  Serial.println(");");
}
 
#define tone serialTone
#define delay serialDelay
#define noTone serialNoTone


const int speakerPin = 12;                                                // Define the pin used for the speaker
                                                                          // Format for array: {number of notes, note to play, durration, note to play, durration, ...
const int theme[] = {11,                                                  // Array for Theme song
  NOTE_E4, 8, NOTE_E4, 8, NOTE_H, 8, NOTE_E4, 8, NOTE_H, 8, NOTE_C4, 8, NOTE_E4, 8, NOTE_H, 8, NOTE_G4, 8, NOTE_H, 3, NOTE_G3, 8};
const int life[] = {6,                                                    // Array for 1-up sound effect
  NOTE_E5, 10, NOTE_G5, 10, NOTE_E6, 10, NOTE_C6, 10, NOTE_D6, 10, NOTE_G6, 10};
const int flagpole[] = {27,                                               // Array for Flag pole sound effect & song
  NOTE_G2, 10, NOTE_C3, 10, NOTE_E3, 10, NOTE_G3, 10, NOTE_C4, 10, NOTE_E4, 10, NOTE_G4, 3, NOTE_E4, 3, NOTE_GS2, 10, NOTE_C3, 10, 
  NOTE_DS3, 10, NOTE_GS3, 10, NOTE_C4, 10, NOTE_DS4, 10, NOTE_GS4, 3, NOTE_DS4, 3, NOTE_AS2, 10, NOTE_D3, 10, NOTE_F3, 10, 
  NOTE_AS3, 10, NOTE_D4, 10, NOTE_F4, 10, NOTE_AS4, 3, NOTE_B4, 10, NOTE_B4, 10, NOTE_B4, 10, NOTE_C5, 2};
const int death[] = {17,                                                  // Array for Death sound effect & song
  NOTE_C4, 32, NOTE_CS4, 32, NOTE_D4, 16, NOTE_H, 4, NOTE_H, 2, NOTE_B3, 8, NOTE_F4, 8, NOTE_H, 8, NOTE_F4, 8, NOTE_F4, 6, 
  NOTE_E4, 6, NOTE_D4, 6, NOTE_C4, 8, NOTE_E3, 8, NOTE_H, 8, NOTE_E3, 8, NOTE_C3, 8};
const int gameover[] = {15,                                               // Array for Game over song
  NOTE_C4, 8, NOTE_H, 8, NOTE_H, 8, NOTE_G3, 8, NOTE_H, 4, NOTE_E3, 4, NOTE_A3, 6, NOTE_B3, 6, NOTE_A3, 6, NOTE_GS3, 6, NOTE_AS3, 6, 
  NOTE_GS3, 6, NOTE_G3, 8, NOTE_F3, 8, NOTE_G3, 4};

void setup() {
  Wire.begin();                                                           // Begin wire connection
  Serial.begin(9600);                                                     // Begin Serial on 9600 baud
  wiiClassy.begin();                                                      // Initialize the Wii Classic controller
  wiiClassy.update();                                                     // Gather data from the controller for the first time as this isually bogus
  Serial.println("Mario Wii Classic Soundboard initializtion complete");  // Print basic button mapping for reference
  Serial.println("---------------------------------------------------");
  Serial.println("Button Mapping:");
  Serial.println("Start: Theme song");
  Serial.println("A: 1-up sound effect");
  Serial.println("B: Flag pole sound effect & song");
  Serial.println("X: Death sound effect & song");
  Serial.println("Y: Game over song");
  Serial.println("Home: Re-display this menu");
  Serial.println("---------------------------------------------------");
}

void loop() {
  wiiClassy.update();                                                     // Poke the controller for status
  if (wiiClassy.leftShoulderPressed()) {                                  // If the Left shoulder button is fully depressed:

  } else if (wiiClassy.rightShoulderPressed()) {                          // If the Right shoulder button is fully depressed:

  } else if (wiiClassy.lzPressed()) {                                     // If the LZ button is pressed

  } else if (wiiClassy.rzPressed()) {                                     // If the RZ button is pressed

  } else if (wiiClassy.selectPressed()) {                                 // If the Select button is pressed

  } else if (wiiClassy.homePressed()) {                                   // If the Home button is pressed
    Serial.println("Button Mapping:");                                    // Print basic button mapping for reference
    Serial.println("Start: Theme song");
    Serial.println("A: 1-up sound effect");
    Serial.println("B: Flag pole sound effect & song");
    Serial.println("X: Death sound effect & song");
    Serial.println("Y: Game over song");
    Serial.println("Home: Re-display this menu");
    delay(500);                                                           // Wait .5 sec to prevent repeat of printing
    Serial.println("---------------------------------------------------");
  } else if (wiiClassy.startPressed()) {                                  // If the Start button is pressed
    Serial.println("Start button pressed");                               // Print button pressed
    Serial.println("Begin playing Theme song");                           // Print begin of melody
    for (int thisNote = 1; thisNote < (theme[0] * 2 + 1); thisNote = thisNote + 2) { // Run through the notes one at a time
      tone(speakerPin, theme[thisNote], (1000 / theme[thisNote + 1));     // Play the single note
      delay((1000 / theme[thisNote + 1) * 1.30);                          // Delay for the specified time
      noTone(speakerPin);                                                 // Silence the note that was playing
    }
    Serial.println("Theme song complete");                                // Print that the song is complete
    Serial.println("---------------------------------------------------");
  } else if (wiiClassy.aPressed()) {                                      // If the A button is pressed
    Serial.println("A button pressed");                                   // Print button pressed
    Serial.println("Begin playing 1-up sound effect");                    // Print begin of melody
    for (int thisNote = 1; thisNote < (life[0] * 2 + 1); thisNote = thisNote + 2) { // Run through the notes one at a time
      tone(speakerPin, life[thisNote], (1000/life[thisNote + 1]));        // Play the single note
      delay((1000/life[thisNote + 1]) * 1.30);                            // Delay for the specified time
      noTone(speakerPin);                                                 // Silence the note that was playing
    }
    Serial.println("1-up sound effect complete");                         // Print that the song is complete
    Serial.println("---------------------------------------------------");
  } else if (wiiClassy.bPressed()) {                                      // If the B button is pressed
    Serial.println("B button pressed");                                   // Print button pressed
    Serial.println("Begin playing Flag pole sound effect & song");        // Print begin of melody
    for (int thisNote = 1; thisNote < (flagpole[0] * 2 + 1); thisNote = thisNote + 2) { // Run through the notes one at a time
      tone(speakerPin, flagpole[thisNote], (1000/flagpole[thisNote + 1]));// Play the single note
      delay((1000/flagpole[thisNote + 1]) * 1.30);                        // Delay for the specified time
      noTone(speakerPin);                                                 // Silence the note that was playing
    }
    Serial.println("Flag pole sound effect & song complete");             // Print that the song is complete
    Serial.println("---------------------------------------------------");
  } else if (wiiClassy.xPressed()) {                                      // If the X button is pressed
    Serial.println("X button pressed");                                   // Print button pressed
    Serial.println("Begin playing Death sound effect & song");            // Print begin of melody
    for (int thisNote = 1; thisNote < (death[0] * 2 + 1); thisNote = thisNote + 2) { // Run through the notes one at a time
      tone(speakerPin, death[thisNote], (1000/death[thisNote + 1]));      // Play the single note
      delay((1000/death[thisNote + 1]) * 1.30);                           // Delay for the specified time
      noTone(speakerPin);                                                 // Silence the note that was playing
    }
    Serial.println("Death sound effect & song complete");                 // Print that the song is complete
    Serial.println("---------------------------------------------------");
  } else if (wiiClassy.yPressed()) {                                      // If the Y button is pressed
    Serial.println("Y button pressed");                                   // Print button pressed
    Serial.println("Begin playing Game over song");                       // Print begin of melody
    for (int thisNote = 1; thisNote < (gameover[0] * 2 + 1); thisNote = thisNote + 2) { // Run through the notes one at a time
      tone(speakerPin, gameover[thisNote], (1000/gameover[thisNote + 1]));// Play the single note
      delay((1000/gameover[thisNote + 1]) * 1.30);                        // Delay for the specified time
      noTone(speakerPin);                                                 // Silence the note that was playing
    }
    Serial.println("Game over song complete");                            // Print that the song is complete
    Serial.println("---------------------------------------------------");
  }
  delay(1);                                                               // Delay .01 sec to not overload the controller
}

which result in the following data outputted on the serial port:

Begin playing Theme song
tone(12,330,125);
delay(162);
noTone(12);
tone(12,330,125);
delay(162);
noTone(12);
tone(12,0,125);
delay(162);
noTone(12);
tone(12,330,125);
delay(162);
noTone(12);
tone(12,0,125);
delay(162);
noTone(12);
tone(12,262,125);
delay(162);
noTone(12);
tone(12,330,125);
delay(162);
noTone(12);
tone(12,0,125);
delay(162);
noTone(12);
tone(12,392,125);
delay(162);
noTone(12);
tone(12,0,333);
delay(432);
noTone(12);
tone(12,196,125);
delay(162);
noTone(12);
Theme song complete
---------------------------------------------------
Begin playing 1-up sound effect
tone(12,659,100);
delay(130);
noTone(12);
tone(12,784,100);
delay(130);
noTone(12);
tone(12,1319,100);
delay(130);
noTone(12);
tone(12,1047,100);
delay(130);
noTone(12);
tone(12,1175,100);
delay(130);
noTone(12);
tone(12,1568,100);
delay(130);
noTone(12);
1-up sound effect complete
---------------------------------------------------
Begin playing Flag pole sound effect & song
tone(12,98,100);
delay(130);
noTone(12);
tone(12,131,100);
delay(130);
noTone(12);
tone(12,165,100);
delay(130);
noTone(12);
tone(12,196,100);
delay(130);
noTone(12);
tone(12,262,100);
delay(130);
noTone(12);
tone(12,330,100);
delay(130);
noTone(12);
tone(12,392,333);
delay(432);
noTone(12);
tone(12,330,333);
delay(432);
noTone(12);
tone(12,104,100);
delay(130);
noTone(12);
tone(12,131,100);
delay(130);
noTone(12);
tone(12,156,100);
delay(130);
noTone(12);
tone(12,208,100);
delay(130);
noTone(12);
tone(12,262,100);
delay(130);
noTone(12);
tone(12,311,100);
delay(130);
noTone(12);
tone(12,415,333);
delay(432);
noTone(12);
tone(12,311,333);
delay(432);
noTone(12);
tone(12,117,100);
delay(130);
noTone(12);
tone(12,147,100);
delay(130);
noTone(12);
tone(12,175,100);
delay(130);
noTone(12);
tone(12,233,100);
delay(130);
noTone(12);
tone(12,294,100);
delay(130);
noTone(12);
tone(12,349,100);
delay(130);
noTone(12);
tone(12,466,333);
delay(432);
noTone(12);
tone(12,494,100);
delay(130);
noTone(12);
tone(12,494,100);
delay(130);
noTone(12);
tone(12,494,100);
delay(130);
noTone(12);
tone(12,523,500);
delay(650);
noTone(12);
Flag pole sound effect & song complete
---------------------------------------------------
Begin playing Death sound effect & song
tone(12,262,31);
delay(40);
noTone(12);
tone(12,277,31);
delay(40);
noTone(12);
tone(12,294,62);
delay(80);
noTone(12);
tone(12,0,250);
delay(325);
noTone(12);
tone(12,0,500);
delay(650);
noTone(12);
tone(12,247,125);
delay(162);
noTone(12);
tone(12,349,125);
delay(162);
noTone(12);
tone(12,0,125);
delay(162);
noTone(12);
tone(12,349,125);
delay(162);
noTone(12);
tone(12,349,166);
delay(215);
noTone(12);
tone(12,330,166);
delay(215);
noTone(12);
tone(12,294,166);
delay(215);
noTone(12);
tone(12,262,125);
delay(162);
noTone(12);
tone(12,165,125);
delay(162);
noTone(12);
tone(12,0,125);
delay(162);
noTone(12);
tone(12,165,125);
delay(162);
noTone(12);
tone(12,131,125);
delay(162);
noTone(12);
Death sound effect & song complete
---------------------------------------------------
Begin playing Game over song
tone(12,262,125);
delay(162);
noTone(12);
tone(12,0,125);
delay(162);
noTone(12);
tone(12,0,125);
delay(162);
noTone(12);
tone(12,196,125);
delay(162);
noTone(12);
tone(12,0,250);
delay(325);
noTone(12);
tone(12,165,250);
delay(325);
noTone(12);
tone(12,220,166);
delay(215);
noTone(12);
tone(12,247,166);
delay(215);
noTone(12);
tone(12,220,166);
delay(215);
noTone(12);
tone(12,208,166);
delay(215);
noTone(12);
tone(12,233,166);
delay(215);
noTone(12);
tone(12,208,166);
delay(215);
noTone(12);
tone(12,196,125);
delay(162);
noTone(12);
tone(12,175,125);
delay(162);
noTone(12);
tone(12,196,250);
delay(325);
noTone(12);
Game over song complete
---------------------------------------------------

Note that output contains the following function calls: tone(12,0,something);. Unfortunately, the libRtttl does not properly identify these lines as “silence pin 12” but they can safely be removed from the output without any issue.

Using libRtttl gui, the above code can be converted to the following RTTTL melodies:

Settings: force default, enable tone() octave offsetting

Super Mario Bros. themes RTTTL:

theme:d=8,o=4,b=355:e.5,32p.,e.5,32p.,4p,e.5,32p.,4p,c.5,32p.,e.5,32p.,4p,g.5,32p.,2p,g.,32p.
life:d=8,o=4,b=450:e.5,32p.,g.5,32p.,e.6,32p.,c.6,32p.,d.6,32p.,g.6,32p.
flagpole:d=8,o=4,b=450:f#.,32p.,c.5,32p.,e.5,32p.,g.5,32p.,c.6,32p.,e.6,32p.,2g6,p.,2e6,p.,g#.,32p.,c.5,32p.,d#.5,32p.,g#.5,32p.,c.6,32p.,d#.6,32p.,2g#6,p.,2d#6,p.,a#.,32p.,d.5,32p.,f.5,32p.,a#.5,32p.,d.6,32p.,f.6,32p.,2a#6,p.,b.6,32p.,b.6,32p.,b.6,32p.,1c7,4p
death:d=32,o=4,b=355:c.5,p,c#.5,p,16d.5,p,2p,1p,8b.,p.,8f.5,p.,4p,8f.5,p.,4f5,16p,4e5,16p,4d5,16p,8c.5,p.,8e.,p.,4p,8e.,p.,8c.,p.
gameover:d=4,o=4,b=355:8c.5,32p.,p,p,8g.,32p.,2p,e.,8p,a,16p,b,16p,a,16p,g#,16p,a#,16p,g#,16p,8g.,32p.,8f.,32p.,g.,8p

or the following (by enabling unofficial BPM values) which help have accurate delays between notes:

theme: (identical)
life: (identical)
flagpole: (identical)
death:d=16,o=4,b=706:c.5,32p,c#.5,32p,8d.5,32p.,1p,1p.,4b.,p.,4f.5,p.,2p,4f.5,p.,2f5,8p,2e5,8p,2d5,8p,4c.5,p.,4e.,p.,2p,4e.,p.,4c.,p.
gameover: (identical)

Say Something

Comments

Recent Posts

Categories

About

Hey! I'm Antoine author of end2end zone. Take a couple of minutes to get to know me a little better.