// // Converted from file amazing_grace.mid // const unsigned int notes[] = { 16, // Note 0 16.3516 Hz C Octave 0 17, // Note 1 17.3239 Hz C# Octave 0 18, // Note 2 18.3540 Hz D Octave 0 19, // Note 3 19.4454 Hz D# Octave 0 21, // Note 4 20.6017 Hz E Octave 0 22, // Note 5 21.8268 Hz F Octave 0 23, // Note 6 23.1247 Hz F# Octave 0 24, // Note 7 24.4997 Hz G Octave 0 26, // Note 8 25.9565 Hz G# Octave 0 27, // Note 9 27.5000 Hz A Octave 0 29, // Note 10 29.1352 Hz A# Octave 0 31, // Note 11 30.8677 Hz B Octave 0 33, // Note 12 32.7032 Hz C Octave 1 35, // Note 13 34.6478 Hz C# Octave 1 37, // Note 14 36.7081 Hz D Octave 1 39, // Note 15 38.8909 Hz D# Octave 1 41, // Note 16 41.2034 Hz E Octave 1 44, // Note 17 43.6535 Hz F Octave 1 46, // Note 18 46.2493 Hz F# Octave 1 49, // Note 19 48.9994 Hz G Octave 1 52, // Note 20 51.9131 Hz G# Octave 1 55, // Note 21 55.0000 Hz A Octave 1 58, // Note 22 58.2705 Hz A# Octave 1 62, // Note 23 61.7354 Hz B Octave 1 65, // Note 24 65.4064 Hz C Octave 2 69, // Note 25 69.2957 Hz C# Octave 2 73, // Note 26 73.4162 Hz D Octave 2 78, // Note 27 77.7817 Hz D# Octave 2 82, // Note 28 82.4069 Hz E Octave 2 87, // Note 29 87.3071 Hz F Octave 2 92, // Note 30 92.4986 Hz F# Octave 2 98, // Note 31 97.9989 Hz G Octave 2 104, // Note 32 103.8262 Hz G# Octave 2 110, // Note 33 110.0000 Hz A Octave 2 117, // Note 34 116.5409 Hz A# Octave 2 123, // Note 35 123.4708 Hz B Octave 2 131, // Note 36 130.8128 Hz C Octave 3 139, // Note 37 138.5913 Hz C# Octave 3 147, // Note 38 146.8324 Hz D Octave 3 156, // Note 39 155.5635 Hz D# Octave 3 165, // Note 40 164.8138 Hz E Octave 3 175, // Note 41 174.6141 Hz F Octave 3 185, // Note 42 184.9972 Hz F# Octave 3 196, // Note 43 195.9977 Hz G Octave 3 208, // Note 44 207.6523 Hz G# Octave 3 220, // Note 45 220.0000 Hz A Octave 3 233, // Note 46 233.0819 Hz A# Octave 3 247, // Note 47 246.9417 Hz B Octave 3 262, // Note 48 261.6256 Hz C Octave 4 277, // Note 49 277.1826 Hz C# Octave 4 294, // Note 50 293.6648 Hz D Octave 4 311, // Note 51 311.1270 Hz D# Octave 4 330, // Note 52 329.6276 Hz E Octave 4 349, // Note 53 349.2282 Hz F Octave 4 370, // Note 54 369.9944 Hz F# Octave 4 392, // Note 55 391.9954 Hz G Octave 4 415, // Note 56 415.3047 Hz G# Octave 4 440, // Note 57 440.0000 Hz A Octave 4 466, // Note 58 466.1638 Hz A# Octave 4 494, // Note 59 493.8833 Hz B Octave 4 523, // Note 60 523.2511 Hz C Octave 5 554, // Note 61 554.3653 Hz C# Octave 5 587, // Note 62 587.3295 Hz D Octave 5 622, // Note 63 622.2540 Hz D# Octave 5 659, // Note 64 659.2551 Hz E Octave 5 698, // Note 65 698.4565 Hz F Octave 5 740, // Note 66 739.9888 Hz F# Octave 5 784, // Note 67 783.9909 Hz G Octave 5 831, // Note 68 830.6094 Hz G# Octave 5 880, // Note 69 880.0000 Hz A Octave 5 932, // Note 70 932.3275 Hz A# Octave 5 988, // Note 71 987.7666 Hz B Octave 5 1047, // Note 72 1046.5023 Hz C Octave 6 1109, // Note 73 1108.7305 Hz C# Octave 6 1175, // Note 74 1174.6591 Hz D Octave 6 1245, // Note 75 1244.5079 Hz D# Octave 6 1319, // Note 76 1318.5102 Hz E Octave 6 1397, // Note 77 1396.9129 Hz F Octave 6 1480, // Note 78 1479.9777 Hz F# Octave 6 1568, // Note 79 1567.9817 Hz G Octave 6 1661, // Note 80 1661.2188 Hz G# Octave 6 1760, // Note 81 1760.0000 Hz A Octave 6 1865, // Note 82 1864.6550 Hz A# Octave 6 1976, // Note 83 1975.5332 Hz B Octave 6 2093, // Note 84 2093.0045 Hz C Octave 7 2217, // Note 85 2217.4610 Hz C# Octave 7 2349, // Note 86 2349.3181 Hz D Octave 7 2489, // Note 87 2489.0159 Hz D# Octave 7 2637, // Note 88 2637.0205 Hz E Octave 7 2794, // Note 89 2793.8259 Hz F Octave 7 2960, // Note 90 2959.9554 Hz F# Octave 7 3136, // Note 91 3135.9635 Hz G Octave 7 3322, // Note 92 3322.4376 Hz G# Octave 7 3520, // Note 93 3520.0000 Hz A Octave 7 3729, // Note 94 3729.3101 Hz A# Octave 7 3951, // Note 95 3951.0664 Hz B Octave 7 4186, // Note 96 4186.0090 Hz C Octave 8 4435, // Note 97 4434.9221 Hz C# Octave 8 4699, // Note 98 4698.6363 Hz D Octave 8 4978, // Note 99 4978.0317 Hz D# Octave 8 5274, // Note 100 5274.0409 Hz E Octave 8 5588, // Note 101 5587.6517 Hz F Octave 8 5920, // Note 102 5919.9108 Hz F# Octave 8 6272, // Note 103 6271.9270 Hz G Octave 8 6645, // Note 104 6644.8752 Hz G# Octave 8 7040, // Note 105 7040.0000 Hz A Octave 8 7459, // Note 106 7458.6202 Hz A# Octave 8 7902, // Note 107 7902.1328 Hz B Octave 8 8372, // Note 108 8372.0181 Hz C Octave 9 8870, // Note 109 8869.8442 Hz C# Octave 9 9397, // Note 110 9397.2726 Hz D Octave 9 9956, // Note 111 9956.0635 Hz D# Octave 9 10548, // Note 112 10548.0818 Hz E Octave 9 11175, // Note 113 11175.3034 Hz F Octave 9 11840, // Note 114 11839.8215 Hz F# Octave 9 12544, // Note 115 12543.8540 Hz G Octave 9 13290, // Note 116 13289.7503 Hz G# Octave 9 14080, // Note 117 14080.0000 Hz A Octave 9 14917, // Note 118 14917.2404 Hz A# Octave 9 15804, // Note 119 15804.2656 Hz B Octave 9 16744, // Note 120 16744.0362 Hz C Octave 10 17740, // Note 121 17739.6884 Hz C# Octave 10 18795, // Note 122 18794.5451 Hz D Octave 10 19912, // Note 123 19912.1270 Hz D# Octave 10 21096, // Note 124 21096.1636 Hz E Octave 10 22351, // Note 125 22350.6068 Hz F Octave 10 23680, // Note 126 23679.6431 Hz F# Octave 10 25088, // Note 127 25087.7079 Hz G Octave 10 0, // Note 128 Silence }; // Track 2: 'Amazing Grace' // Track 3: 'Sequenced By' // Track 4: 'Barry Taylor 1998' struct event { unsigned char timer1, timer2, timer3, sleep_for; }; const event events[] = { { 57, 45, 67, 0 }, // (A 4) (A 3) (G 5) { 57, 45, 69, 48 }, // (A 4) (A 3) (A 5) { 57, 45, 74, 42 }, // (A 4) (A 3) (D 6) { 73, 45, 74, 4 }, // (C# 6) (A 3) (D 6) { 128, 45, 74, 1 }, // (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 186 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 36 }, // (F# 5) (A 3) (F# 6) { 76, 45, 78, 11 }, // (E 6) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 42 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 186 }, // (F# 5) (A 3) (F# 6) { 76, 45, 78, 5 }, // (E 6) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 47 }, // (F# 5) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 64, 45, 76, 30 }, // (E 5) (A 3) (E 6) { 67, 45, 76, 5 }, // (G 5) (A 3) (E 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 4 }, // (D 5) (A 3) (D 6) { 128, 45, 128, 2 }, // (A 3) { 61, 45, 73, 4 }, // (C# 5) (A 3) (C# 6) { 128, 45, 128, 2 }, // (A 3) { 62, 45, 74, 186 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 59, 45, 71, 90 }, // (B 4) (A 3) (B 5) { 67, 45, 71, 5 }, // (G 5) (A 3) (B 5) { 128, 45, 128, 1 }, // (A 3) { 57, 45, 69, 186 }, // (A 4) (A 3) (A 5) { 67, 45, 69, 5 }, // (G 5) (A 3) (A 5) { 128, 45, 128, 1 }, // (A 3) { 57, 45, 69, 47 }, // (A 4) (A 3) (A 5) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 42 }, // (D 5) (A 3) (D 6) { 73, 45, 74, 5 }, // (C# 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 186 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 35 }, // (F# 5) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 64, 45, 76, 11 }, // (E 5) (A 3) (E 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 42 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 186 }, // (F# 5) (A 3) (F# 6) { 74, 45, 78, 5 }, // (D 6) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 64, 45, 76, 47 }, // (E 5) (A 3) (E 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 47 }, // (F# 5) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 69, 45, 81, 282 }, // (A 5) (A 3) (A 6) { 79, 45, 81, 5 }, // (G 6) (A 3) (A 6) { 128, 45, 128, 1 }, // (A 3) { 69, 45, 81, 186 }, // (A 5) (A 3) (A 6) { 76, 45, 81, 5 }, // (E 6) (A 3) (A 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 47 }, // (F# 5) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 69, 45, 81, 42 }, // (A 5) (A 3) (A 6) { 79, 45, 81, 5 }, // (G 6) (A 3) (A 6) { 128, 45, 128, 1 }, // (A 3) { 69, 45, 81, 186 }, // (A 5) (A 3) (A 6) { 76, 45, 81, 5 }, // (E 6) (A 3) (A 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 35 }, // (F# 5) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 64, 45, 76, 11 }, // (E 5) (A 3) (E 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 42 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 186 }, // (F# 5) (A 3) (F# 6) { 76, 45, 78, 5 }, // (E 6) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 47 }, // (F# 5) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 64, 45, 76, 30 }, // (E 5) (A 3) (E 6) { 67, 45, 76, 6 }, // (G 5) (A 3) (E 6) { 74, 45, 76, 6 }, // (D 6) (A 3) (E 6) { 73, 45, 76, 5 }, // (C# 6) (A 3) (E 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 186 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 59, 45, 71, 90 }, // (B 4) (A 3) (B 5) { 67, 45, 71, 5 }, // (G 5) (A 3) (B 5) { 128, 45, 128, 1 }, // (A 3) { 57, 45, 69, 186 }, // (A 4) (A 3) (A 5) { 67, 45, 69, 5 }, // (G 5) (A 3) (A 5) { 128, 45, 128, 1 }, // (A 3) { 57, 45, 69, 47 }, // (A 4) (A 3) (A 5) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 42 }, // (D 5) (A 3) (D 6) { 73, 45, 74, 5 }, // (C# 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 186 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 35 }, // (F# 5) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 64, 45, 76, 11 }, // (E 5) (A 3) (E 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 42 }, // (D 5) (A 3) (D 6) { 79, 45, 74, 5 }, // (G 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 66, 45, 78, 186 }, // (F# 5) (A 3) (F# 6) { 74, 45, 78, 5 }, // (D 6) (A 3) (F# 6) { 128, 45, 128, 1 }, // (A 3) { 64, 45, 76, 78 }, // (E 5) (A 3) (E 6) { 67, 45, 76, 6 }, // (G 5) (A 3) (E 6) { 74, 45, 76, 6 }, // (D 6) (A 3) (E 6) { 73, 45, 76, 5 }, // (C# 6) (A 3) (E 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 282 }, // (D 5) (A 3) (D 6) { 73, 45, 74, 5 }, // (C# 6) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 62, 45, 74, 186 }, // (D 5) (A 3) (D 6) { 67, 45, 74, 5 }, // (G 5) (A 3) (D 6) { 128, 45, 128, 1 }, // (A 3) { 69, 45, 69, 47 }, // (A 5) (A 3) (A 5) { 128, 45, 128, 1 }, // (A 3) { 74, 45, 78, 36 }, // (D 6) (A 3) (F# 6) { 74, 73, 78, 6 }, // (D 6) (C# 6) (F# 6) { 74, 73, 76, 2 }, // (D 6) (C# 6) (E 6) { 74, 128, 76, 3 }, // (D 6) (E 6) { 128, 128, 128, 1 }, // { 62, 78, 74, 191 }, // (D 5) (F# 6) (D 6) { 128, 128, 128, 1 }, // { 66, 69, 78, 36 }, // (F# 5) (A 5) (F# 6) { 76, 69, 78, 11 }, // (E 6) (A 5) (F# 6) { 128, 128, 128, 1 }, // { 62, 74, 74, 42 }, // (D 5) (D 6) (D 6) { 73, 79, 74, 5 }, // (C# 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 66, 74, 78, 186 }, // (F# 5) (D 6) (F# 6) { 73, 76, 78, 5 }, // (C# 6) (E 6) (F# 6) { 128, 128, 128, 1 }, // { 66, 74, 78, 47 }, // (F# 5) (D 6) (F# 6) { 128, 128, 128, 1 }, // { 64, 69, 76, 30 }, // (E 5) (A 5) (E 6) { 67, 69, 76, 5 }, // (G 5) (A 5) (E 6) { 128, 69, 128, 1 }, // (A 5) { 62, 69, 74, 4 }, // (D 5) (A 5) (D 6) { 128, 69, 128, 2 }, // (A 5) { 61, 69, 73, 4 }, // (C# 5) (A 5) (C# 6) { 128, 69, 128, 1 }, // (A 5) { 128, 128, 128, 1 }, // { 62, 71, 74, 186 }, // (D 5) (B 5) (D 6) { 79, 79, 74, 5 }, // (G 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 59, 67, 71, 90 }, // (B 4) (G 5) (B 5) { 79, 67, 71, 5 }, // (G 6) (G 5) (B 5) { 128, 128, 128, 1 }, // { 57, 73, 69, 186 }, // (A 4) (C# 6) (A 5) { 79, 67, 69, 5 }, // (G 6) (G 5) (A 5) { 128, 128, 128, 1 }, // { 57, 69, 69, 47 }, // (A 4) (A 5) (A 5) { 128, 128, 128, 1 }, // { 62, 78, 74, 42 }, // (D 5) (F# 6) (D 6) { 79, 73, 74, 5 }, // (G 6) (C# 6) (D 6) { 128, 128, 128, 1 }, // { 62, 78, 74, 186 }, // (D 5) (F# 6) (D 6) { 79, 79, 74, 5 }, // (G 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 66, 69, 78, 35 }, // (F# 5) (A 5) (F# 6) { 128, 69, 128, 1 }, // (A 5) { 64, 69, 76, 11 }, // (E 5) (A 5) (E 6) { 128, 128, 128, 1 }, // { 62, 74, 74, 42 }, // (D 5) (D 6) (D 6) { 73, 79, 74, 5 }, // (C# 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 66, 74, 78, 186 }, // (F# 5) (D 6) (F# 6) { 74, 74, 78, 5 }, // (D 6) (D 6) (F# 6) { 128, 74, 128, 1 }, // (D 6) { 64, 74, 76, 47 }, // (E 5) (D 6) (E 6) { 128, 74, 128, 1 }, // (D 6) { 66, 74, 78, 42 }, // (F# 5) (D 6) (F# 6) { 73, 74, 78, 5 }, // (C# 6) (D 6) (F# 6) { 128, 128, 128, 1 }, // { 69, 73, 81, 282 }, // (A 5) (C# 6) (A 6) { 71, 79, 81, 5 }, // (B 5) (G 6) (A 6) { 128, 128, 128, 1 }, // { 69, 73, 81, 186 }, // (A 5) (C# 6) (A 6) { 67, 76, 81, 5 }, // (G 5) (E 6) (A 6) { 128, 128, 128, 1 }, // { 66, 69, 78, 47 }, // (F# 5) (A 5) (F# 6) { 128, 128, 128, 1 }, // { 69, 78, 81, 42 }, // (A 5) (F# 6) (A 6) { 79, 79, 81, 5 }, // (G 6) (G 6) (A 6) { 128, 128, 128, 1 }, // { 69, 78, 81, 186 }, // (A 5) (F# 6) (A 6) { 67, 76, 81, 5 }, // (G 5) (E 6) (A 6) { 128, 128, 128, 1 }, // { 66, 69, 78, 35 }, // (F# 5) (A 5) (F# 6) { 128, 69, 128, 1 }, // (A 5) { 64, 69, 76, 11 }, // (E 5) (A 5) (E 6) { 128, 128, 128, 1 }, // { 62, 74, 74, 42 }, // (D 5) (D 6) (D 6) { 73, 79, 74, 5 }, // (C# 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 66, 74, 78, 186 }, // (F# 5) (D 6) (F# 6) { 73, 76, 78, 5 }, // (C# 6) (E 6) (F# 6) { 128, 128, 128, 1 }, // { 66, 74, 78, 47 }, // (F# 5) (D 6) (F# 6) { 128, 128, 128, 1 }, // { 64, 69, 76, 30 }, // (E 5) (A 5) (E 6) { 67, 69, 76, 6 }, // (G 5) (A 5) (E 6) { 74, 69, 76, 6 }, // (D 6) (A 5) (E 6) { 79, 73, 76, 5 }, // (G 6) (C# 6) (E 6) { 128, 128, 128, 1 }, // { 62, 71, 74, 186 }, // (D 5) (B 5) (D 6) { 79, 79, 74, 5 }, // (G 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 59, 67, 71, 90 }, // (B 4) (G 5) (B 5) { 79, 67, 71, 5 }, // (G 6) (G 5) (B 5) { 128, 128, 128, 1 }, // { 57, 73, 69, 186 }, // (A 4) (C# 6) (A 5) { 79, 67, 69, 5 }, // (G 6) (G 5) (A 5) { 128, 128, 128, 1 }, // { 57, 69, 69, 47 }, // (A 4) (A 5) (A 5) { 128, 128, 128, 1 }, // { 62, 78, 74, 42 }, // (D 5) (F# 6) (D 6) { 79, 73, 74, 5 }, // (G 6) (C# 6) (D 6) { 128, 128, 128, 1 }, // { 62, 78, 74, 186 }, // (D 5) (F# 6) (D 6) { 79, 79, 74, 5 }, // (G 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 66, 69, 78, 35 }, // (F# 5) (A 5) (F# 6) { 128, 69, 128, 1 }, // (A 5) { 64, 69, 76, 11 }, // (E 5) (A 5) (E 6) { 128, 128, 128, 1 }, // { 62, 74, 74, 42 }, // (D 5) (D 6) (D 6) { 73, 79, 74, 5 }, // (C# 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 66, 74, 78, 186 }, // (F# 5) (D 6) (F# 6) { 67, 74, 78, 5 }, // (G 5) (D 6) (F# 6) { 128, 128, 128, 1 }, // { 64, 69, 76, 90 }, // (E 5) (A 5) (E 6) { 79, 78, 76, 5 }, // (G 6) (F# 6) (E 6) { 128, 128, 128, 1 }, // { 64, 71, 76, 282 }, // (E 5) (B 5) (E 6) { 67, 73, 76, 5 }, // (G 5) (C# 6) (E 6) { 128, 128, 128, 1 }, // { 62, 69, 74, 186 }, // (D 5) (A 5) (D 6) { 67, 69, 74, 5 }, // (G 5) (A 5) (D 6) { 128, 69, 128, 1 }, // (A 5) { 57, 69, 69, 47 }, // (A 4) (A 5) (A 5) { 128, 128, 128, 1 }, // { 62, 78, 74, 36 }, // (D 5) (F# 6) (D 6) { 73, 78, 74, 11 }, // (C# 6) (F# 6) (D 6) { 128, 128, 128, 1 }, // { 78, 74, 69, 95 }, // (F# 6) (D 6) (A 5) { 78, 74, 128, 1 }, // (F# 6) (D 6) { 78, 74, 74, 90 }, // (F# 6) (D 6) (D 6) { 78, 74, 79, 5 }, // (F# 6) (D 6) (G 6) { 128, 128, 128, 1 }, // { 69, 78, 66, 36 }, // (A 5) (F# 6) (F# 5) { 69, 78, 76, 11 }, // (A 5) (F# 6) (E 6) { 128, 128, 128, 1 }, // { 62, 74, 74, 42 }, // (D 5) (D 6) (D 6) { 73, 79, 74, 5 }, // (C# 6) (G 6) (D 6) { 128, 128, 128, 1 }, // { 74, 78, 69, 95 }, // (D 6) (F# 6) (A 5) { 74, 78, 128, 1 }, // (D 6) (F# 6) { 74, 78, 74, 90 }, // (D 6) (F# 6) (D 6) { 76, 78, 73, 5 }, // (E 6) (F# 6) (C# 6) { 128, 128, 128, 1 }, // { 74, 78, 66, 47 }, // (D 6) (F# 6) (F# 5) { 128, 128, 66, 1 }, // (F# 5) { 76, 69, 66, 30 }, // (E 6) (A 5) (F# 5) { 76, 69, 67, 4 }, // (E 6) (A 5) (G 5) { 76, 69, 128, 1 }, // (E 6) (A 5) { 128, 69, 128, 1 }, // (A 5) { 62, 69, 74, 4 }, // (D 5) (A 5) (D 6) { 128, 69, 128, 2 }, // (A 5) { 61, 69, 73, 4 }, // (C# 5) (A 5) (C# 6) { 128, 69, 128, 1 }, // (A 5) { 128, 128, 128, 1 }, // { 71, 74, 67, 95 }, // (B 5) (D 6) (G 5) { 71, 74, 128, 1 }, // (B 5) (D 6) { 71, 74, 71, 90 }, // (B 5) (D 6) (B 5) { 79, 74, 79, 5 }, // (G 6) (D 6) (G 6) { 128, 128, 128, 1 }, // { 67, 71, 67, 90 }, // (G 5) (B 5) (G 5) { 67, 71, 79, 5 }, // (G 5) (B 5) (G 6) { 128, 128, 128, 1 }, // { 73, 69, 62, 95 }, // (C# 6) (A 5) (D 5) { 73, 69, 128, 1 }, // (C# 6) (A 5) { 73, 69, 69, 90 }, // (C# 6) (A 5) (A 5) { 67, 69, 79, 5 }, // (G 5) (A 5) (G 6) { 128, 128, 128, 1 }, // { 69, 66, 69, 47 }, // (A 5) (F# 5) (A 5) { 128, 66, 128, 1 }, // (F# 5) { 74, 66, 78, 42 }, // (D 6) (F# 5) (F# 6) { 74, 73, 78, 4 }, // (D 6) (C# 6) (F# 6) { 74, 128, 78, 1 }, // (D 6) (F# 6) { 128, 128, 128, 1 }, // { 78, 74, 69, 95 }, // (F# 6) (D 6) (A 5) { 78, 74, 128, 1 }, // (F# 6) (D 6) { 78, 74, 74, 90 }, // (F# 6) (D 6) (D 6) { 79, 74, 79, 5 }, // (G 6) (D 6) (G 6) { 128, 128, 128, 1 }, // { 69, 78, 66, 35 }, // (A 5) (F# 6) (F# 5) { 128, 128, 66, 1 }, // (F# 5) { 64, 76, 66, 11 }, // (E 5) (E 6) (F# 5) { 128, 128, 66, 1 }, // (F# 5) { 74, 74, 66, 42 }, // (D 6) (D 6) (F# 5) { 74, 79, 73, 4 }, // (D 6) (G 6) (C# 6) { 74, 128, 128, 1 }, // (D 6) { 128, 128, 128, 1 }, // { 74, 78, 69, 95 }, // (D 6) (F# 6) (A 5) { 74, 78, 128, 91 }, // (D 6) (F# 6) { 74, 78, 74, 4 }, // (D 6) (F# 6) (D 6) { 74, 78, 128, 1 }, // (D 6) (F# 6) { 128, 128, 128, 1 }, // { 76, 45, 66, 47 }, // (E 6) (A 3) (F# 5) { 128, 45, 66, 1 }, // (A 3) (F# 5) { 66, 78, 66, 42 }, // (F# 5) (F# 6) (F# 5) { 73, 78, 66, 5 }, // (C# 6) (F# 6) (F# 5) { 128, 128, 128, 1 }, // { 73, 81, 69, 95 }, // (C# 6) (A 6) (A 5) { 73, 81, 128, 1 }, // (C# 6) (A 6) { 73, 81, 76, 95 }, // (C# 6) (A 6) (E 6) { 73, 128, 128, 1 }, // (C# 6) { 73, 47, 67, 90 }, // (C# 6) (B 3) (G 5) { 73, 71, 79, 4 }, // (C# 6) (B 5) (G 6) { 73, 128, 128, 1 }, // (C# 6) { 128, 128, 128, 1 }, // { 73, 81, 69, 95 }, // (C# 6) (A 6) (A 5) { 73, 81, 128, 1 }, // (C# 6) (A 6) { 73, 81, 76, 90 }, // (C# 6) (A 6) (E 6) { 76, 81, 67, 5 }, // (E 6) (A 6) (G 5) { 128, 128, 128, 1 }, // { 69, 78, 69, 47 }, // (A 5) (F# 6) (A 5) { 128, 128, 69, 1 }, // (A 5) { 81, 78, 69, 42 }, // (A 6) (F# 6) (A 5) { 81, 79, 79, 4 }, // (A 6) (G 6) (G 6) { 81, 128, 128, 1 }, // (A 6) { 128, 128, 128, 1 }, // { 78, 81, 74, 95 }, // (F# 6) (A 6) (D 6) { 78, 81, 128, 1 }, // (F# 6) (A 6) { 78, 81, 78, 90 }, // (F# 6) (A 6) (F# 6) { 76, 81, 67, 5 }, // (E 6) (A 6) (G 5) { 128, 128, 128, 1 }, // { 69, 78, 69, 35 }, // (A 5) (F# 6) (A 5) { 128, 128, 69, 1 }, // (A 5) { 64, 76, 69, 11 }, // (E 5) (E 6) (A 5) { 128, 128, 69, 1 }, // (A 5) { 74, 74, 69, 42 }, // (D 6) (D 6) (A 5) { 74, 79, 73, 4 }, // (D 6) (G 6) (C# 6) { 74, 128, 128, 1 }, // (D 6) { 128, 128, 128, 1 }, // { 74, 78, 74, 95 }, // (D 6) (F# 6) (D 6) { 74, 78, 128, 1 }, // (D 6) (F# 6) { 74, 78, 78, 90 }, // (D 6) (F# 6) (F# 6) { 76, 78, 73, 5 }, // (E 6) (F# 6) (C# 6) { 128, 128, 128, 1 }, // { 74, 78, 69, 47 }, // (D 6) (F# 6) (A 5) { 128, 128, 69, 1 }, // (A 5) { 76, 69, 69, 30 }, // (E 6) (A 5) (A 5) { 76, 69, 67, 6 }, // (E 6) (A 5) (G 5) { 76, 69, 74, 6 }, // (E 6) (A 5) (D 6) { 76, 73, 79, 4 }, // (E 6) (C# 6) (G 6) { 76, 128, 128, 1 }, // (E 6) { 128, 128, 128, 1 }, // { 71, 74, 71, 47 }, // (B 5) (D 6) (B 5) { 71, 128, 71, 1 }, // (B 5) (B 5) { 71, 54, 71, 47 }, // (B 5) (F# 4) (B 5) { 71, 128, 128, 1 }, // (B 5) { 71, 52, 74, 47 }, // (B 5) (E 4) (D 6) { 71, 128, 74, 1 }, // (B 5) (D 6) { 71, 50, 74, 42 }, // (B 5) (D 4) (D 6) { 71, 79, 79, 4 }, // (B 5) (G 6) (G 6) { 71, 128, 128, 1 }, // (B 5) { 128, 128, 128, 1 }, // { 67, 71, 67, 47 }, // (G 5) (B 5) (G 5) { 67, 128, 67, 1 }, // (G 5) (G 5) { 67, 47, 67, 42 }, // (G 5) (B 3) (G 5) { 67, 79, 67, 4 }, // (G 5) (G 6) (G 5) { 67, 128, 128, 1 }, // (G 5) { 128, 128, 128, 1 }, // { 73, 69, 69, 95 }, // (C# 6) (A 5) (A 5) { 73, 69, 128, 1 }, // (C# 6) (A 5) { 73, 69, 76, 90 }, // (C# 6) (A 5) (E 6) { 67, 69, 79, 5 }, // (G 5) (A 5) (G 6) { 128, 128, 128, 1 }, // { 69, 69, 67, 47 }, // (A 5) (A 5) (G 5) { 128, 128, 67, 1 }, // (G 5) { 74, 78, 67, 42 }, // (D 6) (F# 6) (G 5) { 74, 73, 79, 4 }, // (D 6) (C# 6) (G 6) { 74, 128, 128, 1 }, // (D 6) { 128, 128, 128, 1 }, // { 78, 74, 69, 95 }, // (F# 6) (D 6) (A 5) { 78, 74, 128, 1 }, // (F# 6) (D 6) { 78, 74, 74, 90 }, // (F# 6) (D 6) (D 6) { 79, 74, 79, 5 }, // (G 6) (D 6) (G 6) { 128, 128, 128, 1 }, // { 69, 78, 66, 35 }, // (A 5) (F# 6) (F# 5) { 128, 128, 66, 1 }, // (F# 5) { 64, 76, 66, 11 }, // (E 5) (E 6) (F# 5) { 128, 128, 66, 1 }, // (F# 5) { 74, 74, 66, 42 }, // (D 6) (D 6) (F# 5) { 74, 79, 73, 4 }, // (D 6) (G 6) (C# 6) { 74, 128, 128, 1 }, // (D 6) { 128, 128, 128, 1 }, // { 74, 78, 69, 95 }, // (D 6) (F# 6) (A 5) { 74, 78, 128, 1 }, // (D 6) (F# 6) { 74, 78, 74, 90 }, // (D 6) (F# 6) (D 6) { 74, 78, 67, 5 }, // (D 6) (F# 6) (G 5) { 128, 128, 128, 1 }, // { 69, 76, 66, 78 }, // (A 5) (E 6) (F# 5) { 69, 76, 67, 6 }, // (A 5) (E 6) (G 5) { 69, 76, 74, 6 }, // (A 5) (E 6) (D 6) { 73, 76, 79, 5 }, // (C# 6) (E 6) (G 6) { 128, 128, 128, 1 }, // { 43, 67, 71, 1 }, // (G 3) (G 5) (B 5) { 76, 67, 71, 94 }, // (E 6) (G 5) (B 5) { 76, 128, 71, 1 }, // (E 6) (B 5) { 76, 71, 71, 95 }, // (E 6) (B 5) (B 5) { 76, 128, 71, 91 }, // (E 6) (B 5) { 76, 67, 71, 1 }, // (E 6) (G 5) (B 5) { 76, 67, 73, 6 }, // (E 6) (G 5) (C# 6) { 74, 66, 69, 13825 }, // (D 6) (F# 5) (A 5) }; // // 431 notes (1724 bytes), original had 5 notes at once // so some notes were shortened or removed. // // Duration is 2 minutes 24.0012 seconds // const unsigned long int microseconds_per_tick = 10416UL; enum { SILENCE=128 }; unsigned char last_timer1 = SILENCE; unsigned char last_timer2 = SILENCE; unsigned char last_timer3 = SILENCE; void setup( void ) { pinMode( PUSH2, INPUT_PULLUP ); for( unsigned int which_event = 0; which_event < sizeof events / sizeof *events; which_event++ ) { if( digitalRead( PUSH2 ) == LOW ) { tone( P2_2, 0, 0 ); tone( P2_3, 0, 0 ); tone( P2_4, 0, 0 ); break; } event e = events[ which_event ]; if( e.timer1 != last_timer1 ) tone( P2_2, notes[ e.timer1 ], -1 ); if( e.timer1 != last_timer2 ) tone( P2_3, notes[ e.timer2 ], -1 ); if( e.timer3 != last_timer3 ) tone( P2_4, notes[ e.timer3 ], -1 ); last_timer1 = e.timer1; last_timer2 = e.timer2; last_timer3 = e.timer3; long int slp = microseconds_per_tick * e.sleep_for; delay( slp / 1000 ); delayMicroseconds( slp % 1000 ); } } void loop( void ) { delay( 10000 ); }