#include <Tone.h>
#define rest 16 // frequencia que não da pra ouvir
Tone toneA;
Tone toneB;
const int t = 212; // note duration
const int t2 = t*2;
const int t3 = t*3;
const int t4 = t*4;
const int t5 = t*5;
const int t12 = 106;
const int t14 = 53;
const int interval6 = 1590; // 2 * note * 7,5 -> twice so the wait counts correctly. 7.5 to consider the intervals between notes
void wait(Tone t)
{
while (t.isPlaying()) { }
}
void setup(void)
{
Serial.begin(9600);
toneA.begin(6); // toneA buzzer signal pin
toneB.begin(8);
}
void loop(void)
{
Serial.println("compasse 1");
///////////////////////// primeiro compasse
toneB.play(rest, interval6);
toneA.play(NOTE_B2, t);
wait(toneA);
toneA.play(rest, t);
wait(toneA);
toneA.play(NOTE_B2, t12);
wait(toneA);
toneA.play(rest, t12);
wait(toneA);
toneA.play(NOTE_B2, t);
wait(toneA);
toneA.play(rest, t);
wait(toneA);
toneA.play(NOTE_B2, t);
wait(toneA);
toneA.play(rest, t);
wait(toneA);
toneA.play(NOTE_B2, t12);
wait(toneA);
toneA.play(rest, t12);
wait(toneA);
toneA.play(NOTE_B2, t);
wait(toneA);
toneA.play(rest, t);
wait(toneA);
wait(toneB);
// Serial.println("compasse 2");
// /////////////////////////// segundo compasse
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t);
// wait(interval);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_D2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// Serial.println("compasse 3");
// ///////////////////////////// terceiro compasse
// toneB.play(NOTE_G4, t4);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// Serial.println("compasse 4");
// /////////////////////////// quarto compasse
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneB.play(NOTE_B4, t3);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_D2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// Serial.println("compasse 5");
// //////////////////////////////////////////////////////////////// quinto compasse
// wait(interval);
// toneB.play(NOTE_B5, t2);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E5, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// wait(toneB);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E5, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// Serial.println("compasse 6");
// wait(toneB);
// /////////////////////////// sexto compasse
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E5, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// wait(toneB);
// toneB.play(NOTE_G4, t2);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_D2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// toneA.play(NOTE_D2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E5, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// wait(toneB);
// Serial.println("compasse 7");
// ///////////////////////////// sétimo compasse
// toneB.play(NOTE_F4, t2);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E5, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// wait(toneB);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E5, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// wait(toneB);
// Serial.println("compasse 8");
// /////////////////////////// oitavo compasse
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E5, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t12);
// wait(toneB);
// toneB.play(NOTE_F4, t2);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_D2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G5, t);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// Serial.println("compasse 9");
// //////////////////////////////////////////////////////////////// 9 compasse
// toneB.play(NOTE_F5, t2);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E3, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G3, t12);
// wait(toneB);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E3, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G3, t12);
// wait(toneB);
// Serial.println("compasse 10");
// //////////////////////////// 10 compasse
// toneA.play(NOTE_F2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_F2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// toneA.play(NOTE_F2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_A4, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_A6, t2);
// toneA.play(NOTE_F2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_F2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G5, t);
// toneA.play(NOTE_F2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// Serial.println("compasse 11");
// /////////////////////////////// 11 compasse
// toneB.play(NOTE_F5, t2);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E3, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_D3, t12);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E3, t12);
// toneA.play(NOTE_B2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_D3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_C3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// Serial.println("compasse 12");
// /////////////////////////////// 12 compasse
// toneA.play(NOTE_F2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_F2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// toneA.play(NOTE_F2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_A4, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G3, t12);
// toneA.play(NOTE_F2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_A4, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_B4, t12);
// toneA.play(NOTE_F2, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_A4, t12);
// toneA.play(NOTE_F2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// Serial.println("compasse 13");
// //////////////////////////////////////////////////////////////// 13 compasse
// toneB.play(NOTE_F5, t3);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t18);
// wait(interval);
// toneB.play(NOTE_D5, t3);
// interval.play(NOTE_C1, t18);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneB.play(NOTE_F4, t4);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t);
// wait(interval);
// Serial.println("compasse 14");
// ////////////////////////////////////// 14 compasse
// toneB.play(NOTE_A5, t3);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_D2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_D2, t);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F4, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E4, t4);
// toneA.play(NOTE_F2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_F2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_F2, t);
// wait(toneA);
// interval.play(NOTE_C1, t);
// wait(interval);
// Serial.println("compasse 15");
// ////////////////////////////////////// 15 compasse
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_B2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneA.play(NOTE_B2, t);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F4, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// Serial.println("compasse 16");
// // //////////////////////////////////// 16 compasse
// wait(interval);
// toneB.play(NOTE_E4, t2);
// toneA.play(NOTE_F2, t);
// wait(toneA);
// interval.play(NOTE_C1, t12);
// wait(interval);
// toneA.play(NOTE_F2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E3, t12);
// toneA.play(NOTE_F2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_G3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_F3, t12);
// toneA.play(NOTE_F2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_D3, t12);
// toneA.play(NOTE_F2, t12);
// wait(toneA);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_E3, t12);
// toneA.play(NOTE_F2, t);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_D3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
// toneB.play(NOTE_C3, t12);
// wait(toneB);
// interval.play(NOTE_C1, t14);
// wait(interval);
}