// Definisi not-not dengan kres
int NOTE_C4 = 262;
int NOTE_CS4 = 277; // C#/Db
int NOTE_D4 = 294;
int NOTE_DS4 = 311; // D#/Eb
int NOTE_E4 = 330;
int NOTE_F4 = 349;
int NOTE_FS4 = 370; // F#/Gb
int NOTE_G4 = 392;
int NOTE_GS4 = 415; // G#/Ab
int NOTE_A4 = 440;
int NOTE_AS4 = 466; // A#/Bb
int NOTE_B4 = 494;
int NOTE_C5 = 523;
int NOTE_CS5 = 554; // C#
int NOTE_D5 = 587;
int NOTE_DS5 = 622; // D#
int NOTE_E5 = 659;
int NOTE_F5 = 698;
int NOTE_FS5 = 740; // F#
int NOTE_G5 = 784;
// Melodi Fallen Down (Undertale) - Detail
int melody[] = {
NOTE_D4, NOTE_FS4, NOTE_A4, NOTE_FS4, NOTE_A4, NOTE_FS4,
NOTE_D4, NOTE_FS4, NOTE_A4, NOTE_FS4, NOTE_A4, NOTE_FS4,
NOTE_B4, NOTE_DS5, NOTE_FS5, NOTE_DS5, NOTE_FS5, NOTE_DS5,
NOTE_B4, NOTE_DS5, NOTE_FS5, NOTE_DS5, NOTE_FS5, NOTE_DS5,
NOTE_G5, NOTE_B4, NOTE_D5, NOTE_B4, NOTE_D5, NOTE_B4,
NOTE_G4, NOTE_AS4, NOTE_D5, NOTE_AS4, NOTE_D5, NOTE_AS4,
NOTE_D5, NOTE_FS5, NOTE_A4, NOTE_FS5, NOTE_A4, NOTE_FS5,
NOTE_CS5, NOTE_E5, NOTE_A4, NOTE_E5, NOTE_A4, NOTE_E5,
NOTE_D4, NOTE_FS4, NOTE_A4, NOTE_FS4, NOTE_A4, NOTE_FS4,
NOTE_D4, NOTE_FS4, NOTE_A4, NOTE_FS4, NOTE_A4, NOTE_FS4,
NOTE_B4, NOTE_DS5, NOTE_FS5, NOTE_DS5, NOTE_FS5, NOTE_DS5,
NOTE_B4, NOTE_DS5, NOTE_FS5, NOTE_DS5, NOTE_FS5, NOTE_DS5,
NOTE_G5, NOTE_B4, NOTE_D5, NOTE_B4, NOTE_D5, NOTE_B4,
NOTE_G4, NOTE_AS4, NOTE_D5, NOTE_AS4, NOTE_D5, NOTE_AS4,
NOTE_D5, NOTE_FS5, NOTE_A4, NOTE_FS5, NOTE_A4, NOTE_FS5,
NOTE_CS5, NOTE_D5, NOTE_D5, NOTE_A4, NOTE_CS5, NOTE_B4,
NOTE_FS4, NOTE_G4, NOTE_D4, NOTE_D4, NOTE_AS4, NOTE_C5,
NOTE_AS4, NOTE_A4, NOTE_A4, NOTE_G4, NOTE_CS5, NOTE_D5,
NOTE_D5, NOTE_A4, NOTE_CS5, NOTE_B4, NOTE_FS4, NOTE_G4,
NOTE_D4, NOTE_D4, NOTE_AS4, NOTE_C5, NOTE_AS4, NOTE_D4,
NOTE_A4, NOTE_D5, NOTE_D5, NOTE_A4, NOTE_CS5, NOTE_B4,
NOTE_FS4, NOTE_G4, NOTE_D4, NOTE_D4, NOTE_AS4, NOTE_C5,
NOTE_AS4
};
// Durasi not (mayoritas setengah not)
int noteDurations[] = {
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2,
2
};
void setup() {
noTone(12);
delay(600);
}
void loop() {
// Iterasi dari setiap not
for (int thisNote = 0; thisNote < 131; thisNote++) {
// Menghitung durasi not
int noteDuration = 1000 / noteDurations[thisNote];
// Memainkan not pada pin 12
tone(12, melody[thisNote], noteDuration);
// Jeda antar not
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
}
// Tambahkan jeda panjang sebelum mengulang melodi
delay(500);
}