Skip to content

Instantly share code, notes, and snippets.

@Allen-B1
Last active February 8, 2019 18:35
Show Gist options
  • Save Allen-B1/2302fa4d75944e2264797f47241f2a05 to your computer and use it in GitHub Desktop.
Save Allen-B1/2302fa4d75944e2264797f47241f2a05 to your computer and use it in GitHub Desktop.
Music on Arduino
8.C. 16C | D C F | 2E 8.C. 16C | D C G | 2F 8.C. 16C | C5 A F | E 2D 8.Bb. 16Bb | A F G | 3F
4F 8Bb 16R 16Bb. | 4.Bb 8R | 4F 8.C5 16A | 4.Bb 8R | 4F 8.Bb 16Eb5. | 4Eb5 8.D5 16C5 | 4Bb 8.A 16Bb | 4.C5 8R | 4F 8Bb 16R 16Bb. | 4.Bb 8R | 4F 8.C5 16A | 4.Bb 8R | 4F 8.Bb 16D5 | 4F5 8.D5 16Bb | 4G 8.C5 16D5 | 4.Bb 8R
4F5 8E5 4D5 8Db5 | 4C5 8Cb5 4Bb 8A | 8G. 8A. 8Bb. 4A^ 8G. | 4.C5. 4R 8C5. |
8A. 8R 8A. 8A. 8G#. 8A. | 8F5. 8R 8C5. 8C5. 8R 8A. |
8Bb. 8R 8Bb. 8Bb. 8R 8C5. | 4.D5 4R 8Bb. |
8G. 8R 8G. 8G. 8F#. 8G. | 8E5. 8R 8D5. 8D5. 8R 8Bb. |
8A. 8R 8A. 8A. 8R 8Bb. | 4.C5 4R 8C5. |
8A. 8R 8A. 8A. 8G#. 8A. | 8A5. 8R 8F5. 8F5. 8R 8C5. |
8B. 8R 8G5. 8G5. 8R 8G5. | 4.G5 4R 8F5. |
8E5. 8R 8G5. 8G5. 8F#5. 8G5. | 8D5. 8R 8G5. 8G5. 8F#5. 8G5. |
8C5. 8R 8B. 8C5. 8R 8B. | 4C5 8R 4Bb^ 8R |
8A. 8R 8A. 8A. 8G#. 8A. | 8F5. 8R 8C5. 8C5. 8R 8A. |
8Bb. 8R 8Bb. 8Bb. 8R 8C5. | 4.D5 4R 8Bb. |
8G. 8R 8G. 8G. 8F#. 8G. | 8E5. 8R 8D5. 8D5. 8R 8Bb. |
8A. 8R 8A. 8A. 8R 8Bb. | 4.C5 4R 8C5. |
8A. 8R 8A. 8A. 8G#. 8A. | 8A5. 8R 8F5. 8F5. 8R 8C5. |
8B. 8R 8G5. 8G5. 8R 8G5. | 4.G5 4R 8F5. |
8E5. 8R 8G5. 8G5. 8F#5. 8G5. | 8D5. 8R 8G5. 8G5. 8F#5. 8G5. |
8C5. 8R 8B. 8C5. 8R 8B. | 4C5 8R 4.Bb |
[8A. 8G#. 8A.] 4D5. 8C5. | 4.A. 4.F. | 4.D. 4.G. | 4.F 4R 8F. |
[8G. 8A. 8Bb.] 4E5. 8D5. | 4.C5. 4.F5. | 4.E5. 4.D5. | 4.C5 4R 8C5. |
[8D5. 8R 16.D5. 32E5] [8D5. 8C#5. 8D5.] | 4.E5. 4.E5. |
[8F5. 8R 16.F5. 32G5] [8F5. 8E5. 8F5.] | 4.A5 4R 8A5 |
[8G5. 8R 8F5.] [8D5. 8R 8Bb.] | 4.A. 4.F. | 4.G. 4.E. | 4.F 4R 8C5. |
[8A. 8G#. 8A.] 4D5. 8C5. | 4.A. 4.F. | 4.D. 4.G. | 4.F 4R 8F. |
[8G. 8A. 8Bb.] 4E5. 8D5. | 4.C5. 4.F5. | 4.E5. 4.D5. | 4.C5 4R 8C5. |
[8D5. 8R 16.D5. 32E5] [8D5. 8C#5. 8D5.] | 4.E5. 4.E5. |
[8F5. 8R 16.F5. 32G5] [8F5. 8E5. 8F5.] | 4.A5 4R 8A5 |
[8G5. 8R 8F5.] [8D5. 8R 8Bb.] | 4.A. 4.F. | 4.G. 4.E. | 4.F |
#define BEAT 300
struct frac {
unsigned char num;
unsigned char den;
};
struct note {
unsigned short hertz;
struct frac duration;
} notes[] = {};
void setup() {
pinMode(8, OUTPUT);
}
void loop() {
for (unsigned short i = 0; i < sizeof(notes) / sizeof(*notes); i++) {
if (notes[i].hertz == 0) {
noTone(8);
} else {
tone(8, notes[i].hertz);
}
delay(BEAT * notes[i].duration.num / notes[i].duration.den);
}
noTone(8);
while(1);
}
2C5 4E5 4G5 | 4.B4 16C5 16D5 2C5 | 2A5 4G5 4C6 | 4G5 8F5 16E5 16F5 2E5 | 8A4 16B4 16C5 16D5 16E5 16F5 16G5 16A5 16G5 16F5 16E5 16D5 16C5 16B4 16A4 | 8G4 16A4 16B4 16C5 16D5 16E5 16F5 16G5 16F5 16E5 16D5 16C5 16B4 16A4 16G4 | 8F4 16G4 16A4 16B4 16C5 16D5 16E5 16F5 16E5 16D5 16C5 16B4 16A4 16G4 16F4 | 8E4 16F4 16G4 16A4 16B4 16C5 16D5 16E5 16D5 16C5 16B4 16A4 16G4 16F4 16E4 | 8D4 16E4 16F4 16G4 16A4 16B 16C#5 16D5 16A4 16B4 16C#5 16D5 16E5 16F5 16G5 | 16A5 16B5 16C6 16B5 16A5 16G5 16F5 16E5 16F5 16G5 16A5 16G5 16F5 16E5 16D5 16C5 | 8B4. 8G5. 8E5. 8C5. 8D5. 8G5. 8E5. 8C5. | 4D5. 4G5. 4G4. 4R |
@Allen-B1
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment