Mercurial > vba-clojure
changeset 474:9a20581477c2
merge dylan's changes.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 04 May 2012 06:18:48 -0500 |
parents | 396065930208 (diff) 9a7fae5afd8f (current diff) |
children | f28a3baa4c56 |
files | |
diffstat | 14 files changed, 736 insertions(+), 51 deletions(-) [+] |
line wrap: on
line diff
1.1 --- a/clojure/com/aurellem/run/music.clj Wed May 02 20:32:45 2012 -0500 1.2 +++ b/clojure/com/aurellem/run/music.clj Fri May 04 06:18:48 2012 -0500 1.3 @@ -11,6 +11,16 @@ 1.4 (def third-kind 1.5 (File. "/home/r/proj/midi/third-kind.mid")) 1.6 1.7 +(def pony 1.8 + (File. "/home/r/proj/vba-clojure/music/pony-title.mid")) 1.9 + 1.10 +(def sync-test 1.11 + (File. "/home/r/proj/vba-clojure/music/sync-test.mid")) 1.12 + 1.13 +(def drum-test 1.14 + (File. "/home/r/proj/vba-clojure/music/drum-test.mid")) 1.15 + 1.16 + 1.17 (defn raw-midi-text [#^File midi-file] 1.18 (:out 1.19 (clojure.java.shell/sh 1.20 @@ -170,8 +180,9 @@ 1.21 "Read the message which starts at the current value of HL and do 1.22 what it says. Duration is left in A, and HL is advanced 1.23 appropraitely." 1.24 - ([] (do-message 0x16)) 1.25 - ([sound-base-address] 1.26 + ([] (do-message 0x16 1)) 1.27 + ([sound-base-address wave-duty] 1.28 + (assert (<= 0 wave-duty 3)) 1.29 (let [switch 1.30 [0x2A ;; load message code into A, increment HL 1.31 1.32 @@ -183,7 +194,11 @@ 1.33 :note-length] 1.34 1.35 play-note 1.36 - [0x2A ;; load volume/frequency-high info 1.37 + [0x3E ;; set wave-duty 1.38 + (bit-shift-left wave-duty 6) 1.39 + 0xE0 1.40 + sound-base-address 1.41 + 0x2A ;; load volume/frequency-high info 1.42 0xF5 ;; push A 1.43 0xE6 1.44 (Integer/parseInt "11110000" 2) ;; volume mask 1.45 @@ -203,6 +218,22 @@ 1.46 {:note-length (count play-note)} 1.47 (concat switch play-note))))) 1.48 1.49 +(defn play-noise 1.50 + "read [noise-code, volume, duration] and play the noise. Duration is left in 1.51 + A, and HL is advanced appropraitely." 1.52 + ([] 1.53 + [0x2A ;; load noise-code into A 1.54 + 0xE0 1.55 + 0x22 ;; write noise-code 1.56 + 1.57 + 0x2A ;; load volume 1.58 + 0xE0 1.59 + 0x21 ;; write volume 1.60 + 1.61 + 0x2A] ;; load duration into A 1.62 + )) 1.63 + 1.64 + 1.65 ;; (defn play-note 1.66 ;; "Play the note referenced by HL in the appropiate channel. 1.67 ;; Leaves desired-duration in A." 1.68 @@ -226,7 +257,7 @@ 1.69 ;; 0x2A ;; load duration 1.70 ;; ]) 1.71 1.72 -(defn music-step [sound-base-address] 1.73 +(defn music-step [sound-base-address wave-duty noise?] 1.74 ;; C == current-ticks 1.75 ;; A == desired-ticks 1.76 1.77 @@ -254,10 +285,14 @@ 1.78 ;; if desired-ticks = current ticks 1.79 ;; go to next note ; set current set ticks to 0. 1.80 1.81 - 0x20 1.82 - (+ (count (do-message 0)) 2) 1.83 - 1.84 - (do-message sound-base-address) 1.85 + (if noise? 1.86 + [0x20 1.87 + (+ 2 (count (play-noise))) 1.88 + (play-noise)] 1.89 + 1.90 + [0x20 1.91 + (+ (count (do-message 0 0)) 2) 1.92 + (do-message sound-base-address wave-duty)]) 1.93 1.94 0x0E 1.95 0x00 ;; 0->C (current-ticks) 1.96 @@ -273,7 +308,7 @@ 1.97 (def music-1 0x11) 1.98 (def music-2 0x16) 1.99 1.100 -(defn music-kernel [] 1.101 +(defn music-kernel [wave-duty-1 wave-duty-2] 1.102 (flatten 1.103 [;; global initilization section 1.104 (clear-music-registers) 1.105 @@ -313,26 +348,38 @@ 1.106 0xE5 ;; push HL 1.107 1.108 1.109 + ;; initialize frame 3 (noise) 1.110 + 0x21 1.111 + 0x00 1.112 + 0xA9 ;; 0xA9OO -> HL 1.113 + 1.114 + 0xF5 ;; push AF 1.115 + 0xC5 ;; push CB 1.116 + 0xE5 ;; push HL 1.117 + 1.118 ;; main music loop 1.119 1.120 - 0xE8 ;; SP + 6; activate frame 1 1.121 - 6 1.122 - (music-step music-1) 1.123 - ;;(repeat (count (music-step music-1)) 0x00) 1.124 + 0xE8 ;; SP + 12; activate frame 1 1.125 + 12 1.126 + (music-step music-1 wave-duty-1 false) 1.127 1.128 0xE8 ;; SP - 6; activate frame 2 1.129 (->signed-8-bit -6) 1.130 - ;;(repeat (count (music-step music-2)) 0x00) 1.131 - (music-step music-2) 1.132 - 1.133 + (music-step music-2 wave-duty-2 false) 1.134 + 1.135 + 0xE8 ;; SP - 6; activate frame 3 1.136 + (->signed-8-bit -6) 1.137 + (music-step nil nil true) 1.138 1.139 0x18 1.140 (->signed-8-bit (+ 1.141 ;; two music-steps 1.142 - (- (* 2 (count (music-step 0)))) 1.143 + (- (* 2 (count (music-step 0 0 false)))) 1.144 + (- (count (music-step nil nil true))) 1.145 -2 ;; this jump instruction 1.146 -2 ;; activate frame 1 1.147 -2 ;; activate frame 2 1.148 + -2 ;; activate frame 3 1.149 ))])) 1.150 1.151 (defn frequency-code->frequency 1.152 @@ -395,15 +442,35 @@ 1.153 [command s] 1.154 (filter #(= command (:command %)) s)) 1.155 1.156 -(defn midi-track->mini-midi [#^File midi-file track-num] 1.157 - (let [midi-events (parse-midi midi-file) 1.158 +(defn track-info [#^File midi-file] 1.159 + (let [events (parse-midi midi-file) 1.160 + track-titles (commands :Title_t events) 1.161 + track-info 1.162 + (map #(read-string (read-string (:args %))) track-titles) 1.163 + track-map 1.164 + (zipmap track-info track-titles)] 1.165 + track-map)) 1.166 + 1.167 +(defn target-tracks 1.168 + "return the track-numbers in the form [voice-0 voice-1 noise]" 1.169 + [#^File midi-file] 1.170 + (let [track-data (track-info midi-file) 1.171 + track-order 1.172 + (zipmap (map :out (keys track-data)) 1.173 + (vals track-data)) 1.174 + channel-nums (map (comp :channel track-order) (range 3))] 1.175 + channel-nums)) 1.176 + 1.177 +(defn midi-track->abstract-mini-midi 1.178 + [#^File midi-file track-num] 1.179 + (let [midi-events (parse-midi midi-file) 1.180 1.181 note-on-events (commands :Note_on_c midi-events) 1.182 note-off-events (commands :Note_off_c midi-events) 1.183 1.184 select-channel 1.185 (fn [n s] 1.186 - (sort-by :time (filter #(= n (:channel (:args %))) s))) 1.187 + (sort-by :time (filter #(= n (:channel %)) s))) 1.188 1.189 channel-on (select-channel track-num note-on-events) 1.190 1.191 @@ -418,6 +485,7 @@ 1.192 (map 1.193 (fn [note-on note-off] 1.194 {:frequency (midi-code->frequency (:note (:args note-on))) 1.195 + :midi-code (:note (:args note-on)) 1.196 :duration 1.197 (/ (* (/ tempo division) 1.198 (- (:time note-off) (:time note-on))) 1.199 @@ -439,36 +507,117 @@ 1.200 notes) 1.201 1.202 notes-with-silence 1.203 - (filter (comp not zero? :duration) 1.204 - (interleave silences notes))] 1.205 + (concat 1.206 + (filter (comp not zero? :duration) 1.207 + (interleave silences notes)) 1.208 + [(silence 3)])] 1.209 + notes-with-silence)) 1.210 + 1.211 +(defn midi-track->mini-midi-voice [#^File midi-file track-num] 1.212 + (let [abstract-mini-midi 1.213 + (midi-track->abstract-mini-midi midi-file track-num)] 1.214 + (map 1.215 + (fn [note-event] 1.216 + (note-codes (:frequency note-event) 1.217 + (:volume note-event) 1.218 + (int (* (:duration note-event) 0x100)))) 1.219 + abstract-mini-midi))) 1.220 + 1.221 +(def midi-code->gb-noise-code 1.222 + {nil 0xFF 1.223 + 35 87 1.224 + 38 20 1.225 + 39 0 1.226 + }) 1.227 + 1.228 + 1.229 +(defn noise-codes [code volume duration] 1.230 + (assert (<= 0 volume 0xF)) 1.231 + (if (<= duration 0xFF) 1.232 + [(midi-code->gb-noise-code code code) 1.233 + (bit-shift-left volume 4) 1.234 + duration] 1.235 + (vec 1.236 + (flatten 1.237 + [(noise-codes code volume 0xFF) 1.238 + (noise-codes code volume (- duration 0xFF))])))) 1.239 + 1.240 +(defn midi-track->mini-midi-noise [#^File midi-file track-num] 1.241 + (let [abstract-mini-midi 1.242 + (midi-track->abstract-mini-midi midi-file track-num)] 1.243 (map 1.244 - (fn [note-event] 1.245 - (note-codes (:frequency note-event) 1.246 - (:volume note-event) 1.247 - (int (* (:duration note-event) 0x100)))) 1.248 - notes-with-silence))) 1.249 + (fn [noise-event] 1.250 + (noise-codes (:midi-code noise-event) 1.251 + (:volume noise-event) 1.252 + (int (* (:duration noise-event) 0x100)))) 1.253 + abstract-mini-midi))) 1.254 + 1.255 1.256 (defn midi->mini-midi [#^File midi-file] 1.257 - {:track-1 (flatten (midi-track->mini-midi midi-file 1)) 1.258 - :track-2 (flatten (midi-track->mini-midi midi-file 2))}) 1.259 + (let [targets (target-tracks midi-file) 1.260 + duty-info (keys (track-info midi-file))] 1.261 + 1.262 + {:voice-1 (midi-track->mini-midi-voice midi-file (nth targets 0)) 1.263 + :voice-2 (midi-track->mini-midi-voice midi-file (nth targets 1)) 1.264 + :noise (midi-track->mini-midi-noise midi-file (nth targets 2)) 1.265 + :duty (zipmap (map :out duty-info) 1.266 + (map #(get % :duty 0) duty-info))})) 1.267 1.268 (defn play-midi [#^File midi-file] 1.269 - (let [track-1-target 0xA000 1.270 - track-2-target 0xB000 1.271 + (let [voice-1-target 0xA000 1.272 + voice-2-target 0xB000 1.273 + noise-target 0xA900 1.274 program-target 0xC000 1.275 mini-midi (midi->mini-midi midi-file) 1.276 - long-silence (flatten (note-codes 20 0 9001))] 1.277 + long-silence (flatten (note-codes 20 0 20001)) 1.278 + long-noise-silence 1.279 + (interleave (range 500) (repeat 0x00) (repeat 255)) 1.280 + 1.281 + voice-1 (flatten (:voice-1 mini-midi)) 1.282 + wave-duty-1 ((:duty mini-midi) 0 0) 1.283 + 1.284 + voice-2 (flatten (:voice-2 mini-midi)) 1.285 + wave-duty-2 ((:duty mini-midi) 1 0) 1.286 + 1.287 + noise (flatten (:noise mini-midi)) 1.288 + ] 1.289 1.290 (-> (second (music-base)) 1.291 - (set-memory-range track-1-target long-silence) 1.292 - (set-memory-range track-2-target long-silence) 1.293 - (set-memory-range track-1-target (:track-1 mini-midi)) 1.294 - (set-memory-range track-2-target (:track-2 mini-midi)) 1.295 - (set-memory-range program-target (music-kernel)) 1.296 + (set-memory-range voice-1-target long-silence) 1.297 + (set-memory-range voice-2-target long-silence) 1.298 + (set-memory-range noise-target long-noise-silence) 1.299 + (set-memory-range voice-1-target voice-1) 1.300 + (set-memory-range voice-2-target voice-2) 1.301 + (set-memory-range noise-target noise) 1.302 + (set-memory-range 1.303 + program-target 1.304 + (music-kernel wave-duty-1 wave-duty-2)) 1.305 (PC! program-target)))) 1.306 1.307 +(defn test-noise [] 1.308 + (let [noise-pattern 1.309 + (concat (interleave (range 0x100) (repeat 0xF0) (repeat 255)) 1.310 + (interleave (range 10) (repeat 0x00) (repeat 255)))] 1.311 + 1.312 + (-> (second (music-base)) 1.313 + (set-memory-range 0xA900 (flatten noise-pattern)) 1.314 + (set-memory-range 0xC000 (music-kernel 0 0)) 1.315 + (PC! 0xC000)))) 1.316 1.317 - 1.318 +(defn test-play-noise [noise-code] 1.319 + (Thread/sleep 300) 1.320 + (println "playing noise:" noise-code) 1.321 + (run-moves 1.322 + (let [noise-pattern 1.323 + (interleave (repeat 10 noise-code) (repeat 0xF0) (repeat 255))] 1.324 + (-> (second (music-base)) 1.325 + (set-memory-range 0xA900 (flatten noise-pattern)) 1.326 + (set-memory-range 0xC000 (music-kernel 0 0)) 1.327 + (PC! 0xC000))) 1.328 + (repeat 20 []))) 1.329 + 1.330 +(defn test-all-noises [] 1.331 + (dorun (map test-play-noise (range 0x100)))) 1.332 1.333 (def C4 (partial note-codes 261.63)) 1.334 (def D4 (partial note-codes 293.66)) 1.335 @@ -498,19 +647,6 @@ 1.336 (set-memory-range music-target music-bytes) 1.337 (PC! program-target)))) 1.338 1.339 - 1.340 - 1.341 -;; (defn test-note [music-bytes] 1.342 -;; (-> (set-memory-range (second (music-base)) 1.343 -;; 0xC000 (concat (clear-music-registers) 1.344 -;; (play-note) 1.345 -;; (infinite-loop))) 1.346 -;; (set-memory-range 0xD000 music-bytes) 1.347 -;; (PC! 0xC000) 1.348 -;; (HL! 0xD000) 1.349 -;; )) 1.350 - 1.351 - 1.352 (defn run-program 1.353 ([program] 1.354 (let [target 0xC000]
2.1 Binary file music/Friendship is Magic (MLP Theme Song).mid has changed
3.1 Binary file music/Friendship is Magic (MLP Theme Song).rg has changed
4.1 Binary file music/My Very Best Friends Trombone by Golden Glissando.mid has changed
5.1 Binary file music/My Very Best Friends.mid has changed
6.1 Binary file music/My Very Best Friends2.mid has changed
7.1 Binary file music/Orchestral is AWESTUM.mid has changed
8.1 Binary file music/drum-test.mid has changed
9.1 Binary file music/drum-test.rg has changed
10.1 Binary file music/pony-offset.mid has changed
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/music/pony-title.csv Fri May 04 06:18:48 2012 -0500 11.3 @@ -0,0 +1,549 @@ 11.4 +0, 0, Header, 1, 4, 480 11.5 +1, 0, Start_track 11.6 +1, 0, Copyright_t, "rlm" 11.7 +1, 0, Cue_point_t, "Created by Rosegarden" 11.8 +1, 0, Cue_point_t, "http://www.rosegardenmusic.com/" 11.9 +1, 0, Tempo, 250000 11.10 +1, 0, Time_signature, 4, 2, 24, 8 11.11 +1, 55680, End_track 11.12 +2, 0, Start_track 11.13 +2, 0, Title_t, "{:voice 0 :duty 2}" 11.14 +2, 0, Control_c, 0, 91, 0 11.15 +2, 0, Control_c, 0, 10, 64 11.16 +2, 0, Control_c, 0, 7, 100 11.17 +2, 0, Control_c, 0, 93, 0 11.18 +2, 0, Control_c, 0, 7, 100 11.19 +2, 0, Control_c, 0, 10, 64 11.20 +2, 0, Note_on_c, 0, 66, 80 11.21 +2, 0, Control_c, 0, 121, 0 11.22 +2, 0, Control_c, 0, 93, 30 11.23 +2, 0, Program_c, 0, 19 11.24 +2, 0, Control_c, 0, 93, 30 11.25 +2, 0, Control_c, 0, 91, 30 11.26 +2, 0, Control_c, 0, 91, 30 11.27 +2, 0, Control_c, 0, 7, 100 11.28 +2, 0, Control_c, 0, 10, 64 11.29 +2, 420, Note_on_c, 0, 69, 80 11.30 +2, 420, Note_off_c, 0, 66, 127 11.31 +2, 840, Note_on_c, 0, 66, 80 11.32 +2, 840, Note_off_c, 0, 69, 127 11.33 +2, 1260, Note_off_c, 0, 66, 127 11.34 +2, 1260, Note_on_c, 0, 64, 80 11.35 +2, 2100, Note_on_c, 0, 69, 80 11.36 +2, 2100, Note_off_c, 0, 64, 127 11.37 +2, 3360, Note_on_c, 0, 62, 80 11.38 +2, 3360, Note_off_c, 0, 69, 127 11.39 +2, 3780, Note_on_c, 0, 64, 80 11.40 +2, 3780, Note_off_c, 0, 62, 127 11.41 +2, 4200, Note_on_c, 0, 62, 80 11.42 +2, 4200, Note_off_c, 0, 64, 127 11.43 +2, 4620, Note_on_c, 0, 61, 80 11.44 +2, 4620, Note_off_c, 0, 62, 127 11.45 +2, 5460, Note_on_c, 0, 57, 80 11.46 +2, 5460, Note_off_c, 0, 61, 127 11.47 +2, 6720, Note_on_c, 0, 59, 80 11.48 +2, 6720, Note_off_c, 0, 57, 127 11.49 +2, 7560, Note_on_c, 0, 61, 80 11.50 +2, 7560, Note_off_c, 0, 59, 127 11.51 +2, 8400, Note_on_c, 0, 62, 80 11.52 +2, 8400, Note_off_c, 0, 61, 127 11.53 +2, 9240, Note_on_c, 0, 64, 80 11.54 +2, 9240, Note_off_c, 0, 62, 127 11.55 +2, 10080, Note_on_c, 0, 62, 80 11.56 +2, 10080, Note_off_c, 0, 64, 127 11.57 +2, 11040, Note_on_c, 0, 61, 80 11.58 +2, 11040, Note_off_c, 0, 62, 127 11.59 +2, 11280, Note_on_c, 0, 62, 80 11.60 +2, 11280, Note_off_c, 0, 61, 127 11.61 +2, 11760, Note_on_c, 0, 64, 80 11.62 +2, 11760, Note_off_c, 0, 62, 127 11.63 +2, 12240, Note_on_c, 0, 62, 80 11.64 +2, 12240, Note_off_c, 0, 64, 127 11.65 +2, 13920, Note_off_c, 0, 62, 127 11.66 +2, 14160, Note_on_c, 0, 66, 80 11.67 +2, 14280, Note_off_c, 0, 66, 127 11.68 +2, 14400, Note_on_c, 0, 66, 80 11.69 +2, 14520, Note_off_c, 0, 66, 127 11.70 +2, 14640, Note_on_c, 0, 66, 80 11.71 +2, 14760, Note_off_c, 0, 66, 127 11.72 +2, 14880, Note_on_c, 0, 66, 80 11.73 +2, 15360, Note_on_c, 0, 62, 80 11.74 +2, 15360, Note_off_c, 0, 66, 127 11.75 +2, 15600, Note_on_c, 0, 64, 80 11.76 +2, 15600, Note_off_c, 0, 62, 127 11.77 +2, 16080, Note_on_c, 0, 62, 80 11.78 +2, 16080, Note_off_c, 0, 64, 127 11.79 +2, 16560, Note_on_c, 0, 66, 80 11.80 +2, 16560, Note_off_c, 0, 62, 127 11.81 +2, 17280, Note_on_c, 0, 64, 80 11.82 +2, 17280, Note_off_c, 0, 66, 127 11.83 +2, 17760, Note_on_c, 0, 62, 80 11.84 +2, 17760, Note_off_c, 0, 64, 127 11.85 +2, 18720, Note_on_c, 0, 61, 80 11.86 +2, 18720, Note_off_c, 0, 62, 127 11.87 +2, 18960, Note_on_c, 0, 62, 80 11.88 +2, 18960, Note_off_c, 0, 61, 127 11.89 +2, 19440, Note_on_c, 0, 64, 80 11.90 +2, 19440, Note_off_c, 0, 62, 127 11.91 +2, 19920, Note_on_c, 0, 62, 80 11.92 +2, 19920, Note_off_c, 0, 64, 127 11.93 +2, 20760, Note_off_c, 0, 62, 127 11.94 +2, 21120, Note_on_c, 0, 62, 80 11.95 +2, 21360, Note_on_c, 0, 64, 80 11.96 +2, 21360, Note_off_c, 0, 62, 127 11.97 +2, 21600, Note_off_c, 0, 64, 127 11.98 +2, 21600, Note_on_c, 0, 66, 80 11.99 +2, 21840, Note_on_c, 0, 69, 80 11.100 +2, 21840, Note_off_c, 0, 66, 127 11.101 +2, 22320, Note_off_c, 0, 69, 127 11.102 +2, 22510, Note_on_c, 0, 69, 80 11.103 +2, 22990, Note_off_c, 0, 69, 127 11.104 +2, 23040, Note_on_c, 0, 66, 80 11.105 +2, 23280, Note_on_c, 0, 64, 80 11.106 +2, 23280, Note_off_c, 0, 66, 127 11.107 +2, 23760, Note_on_c, 0, 62, 80 11.108 +2, 23760, Note_off_c, 0, 64, 127 11.109 +2, 24000, Note_on_c, 0, 66, 80 11.110 +2, 24000, Note_off_c, 0, 62, 127 11.111 +2, 24480, Note_on_c, 0, 64, 80 11.112 +2, 24480, Note_off_c, 0, 66, 127 11.113 +2, 25440, Note_off_c, 0, 64, 127 11.114 +2, 25920, Note_on_c, 0, 62, 80 11.115 +2, 26040, Note_off_c, 0, 62, 127 11.116 +2, 26160, Note_on_c, 0, 62, 80 11.117 +2, 26280, Note_off_c, 0, 62, 127 11.118 +2, 26400, Note_on_c, 0, 62, 80 11.119 +2, 26880, Note_on_c, 0, 66, 80 11.120 +2, 26880, Note_off_c, 0, 62, 127 11.121 +2, 27360, Note_on_c, 0, 69, 80 11.122 +2, 27360, Note_off_c, 0, 66, 127 11.123 +2, 27600, Note_on_c, 0, 71, 80 11.124 +2, 27600, Note_off_c, 0, 69, 127 11.125 +2, 28080, Note_on_c, 0, 69, 80 11.126 +2, 28080, Note_off_c, 0, 71, 127 11.127 +2, 29040, Note_on_c, 0, 64, 80 11.128 +2, 29040, Note_off_c, 0, 69, 127 11.129 +2, 29160, Note_off_c, 0, 64, 127 11.130 +2, 29280, Note_on_c, 0, 64, 80 11.131 +2, 29400, Note_off_c, 0, 64, 127 11.132 +2, 29520, Note_on_c, 0, 64, 80 11.133 +2, 29640, Note_off_c, 0, 64, 127 11.134 +2, 29760, Note_on_c, 0, 64, 80 11.135 +2, 30000, Note_off_c, 0, 64, 127 11.136 +2, 30240, Note_on_c, 0, 64, 80 11.137 +2, 30480, Note_off_c, 0, 64, 127 11.138 +2, 30720, Note_on_c, 0, 64, 80 11.139 +2, 30960, Note_off_c, 0, 64, 127 11.140 +2, 31200, Note_on_c, 0, 64, 80 11.141 +2, 31440, Note_on_c, 0, 66, 80 11.142 +2, 31440, Note_off_c, 0, 64, 127 11.143 +2, 31920, Note_on_c, 0, 64, 80 11.144 +2, 31920, Note_off_c, 0, 66, 127 11.145 +2, 32640, Note_off_c, 0, 64, 127 11.146 +2, 33120, Note_on_c, 0, 62, 80 11.147 +2, 33360, Note_on_c, 0, 64, 80 11.148 +2, 33360, Note_off_c, 0, 62, 127 11.149 +2, 33840, Note_on_c, 0, 66, 80 11.150 +2, 33840, Note_off_c, 0, 64, 127 11.151 +2, 34320, Note_on_c, 0, 62, 80 11.152 +2, 34320, Note_off_c, 0, 66, 127 11.153 +2, 34440, Note_off_c, 0, 62, 127 11.154 +2, 34560, Note_on_c, 0, 62, 80 11.155 +2, 34800, Note_on_c, 0, 66, 80 11.156 +2, 34800, Note_off_c, 0, 62, 127 11.157 +2, 35040, Note_on_c, 0, 69, 80 11.158 +2, 35040, Note_off_c, 0, 66, 127 11.159 +2, 35280, Note_off_c, 0, 69, 127 11.160 +2, 35280, Note_on_c, 0, 71, 80 11.161 +2, 35760, Note_on_c, 0, 69, 80 11.162 +2, 35760, Note_off_c, 0, 71, 127 11.163 +2, 36480, Note_on_c, 0, 62, 80 11.164 +2, 36480, Note_off_c, 0, 69, 127 11.165 +2, 36960, Note_off_c, 0, 62, 127 11.166 +2, 36960, Note_on_c, 0, 64, 80 11.167 +2, 37200, Note_off_c, 0, 64, 127 11.168 +2, 37440, Note_on_c, 0, 64, 80 11.169 +2, 37680, Note_off_c, 0, 64, 127 11.170 +2, 37920, Note_on_c, 0, 64, 80 11.171 +2, 38400, Note_on_c, 0, 66, 80 11.172 +2, 38400, Note_off_c, 0, 64, 127 11.173 +2, 38880, Note_on_c, 0, 71, 80 11.174 +2, 38880, Note_off_c, 0, 66, 127 11.175 +2, 39360, Note_on_c, 0, 69, 80 11.176 +2, 39360, Note_off_c, 0, 71, 127 11.177 +2, 39480, Note_off_c, 0, 69, 127 11.178 +2, 39600, Note_on_c, 0, 69, 80 11.179 +2, 39960, Note_off_c, 0, 69, 127 11.180 +2, 40080, Note_on_c, 0, 67, 80 11.181 +2, 40320, Note_on_c, 0, 69, 100 11.182 +2, 40320, Note_off_c, 0, 67, 127 11.183 +2, 40560, Note_off_c, 0, 69, 127 11.184 +2, 40800, Note_on_c, 0, 62, 80 11.185 +2, 41760, Note_on_c, 0, 61, 80 11.186 +2, 41760, Note_off_c, 0, 62, 127 11.187 +2, 42000, Note_off_c, 0, 61, 127 11.188 +2, 42000, Note_on_c, 0, 62, 80 11.189 +2, 42480, Note_on_c, 0, 64, 80 11.190 +2, 42480, Note_off_c, 0, 62, 127 11.191 +2, 42960, Note_on_c, 0, 62, 80 11.192 +2, 42960, Note_off_c, 0, 64, 127 11.193 +2, 43920, Note_off_c, 0, 62, 127 11.194 +2, 44160, Note_on_c, 0, 62, 80 11.195 +2, 44400, Note_off_c, 0, 62, 127 11.196 +2, 44400, Note_on_c, 0, 64, 80 11.197 +2, 44640, Note_off_c, 0, 64, 127 11.198 +2, 44640, Note_on_c, 0, 66, 80 11.199 +2, 45120, Note_on_c, 0, 62, 80 11.200 +2, 45120, Note_off_c, 0, 66, 127 11.201 +2, 45360, Note_on_c, 0, 67, 80 11.202 +2, 45360, Note_off_c, 0, 62, 127 11.203 +2, 46080, Note_on_c, 0, 66, 80 11.204 +2, 46080, Note_off_c, 0, 67, 127 11.205 +2, 46560, Note_on_c, 0, 64, 80 11.206 +2, 46560, Note_off_c, 0, 66, 127 11.207 +2, 47040, Note_off_c, 0, 64, 127 11.208 +2, 47040, Note_on_c, 0, 62, 80 11.209 +2, 47520, Note_on_c, 0, 66, 80 11.210 +2, 47520, Note_off_c, 0, 62, 127 11.211 +2, 48480, Note_off_c, 0, 66, 127 11.212 +2, 48480, Note_on_c, 0, 62, 100 11.213 +2, 55680, Note_off_c, 0, 62, 127 11.214 +2, 55680, End_track 11.215 +3, 0, Start_track 11.216 +3, 0, Title_t, "{:voice 1 :duty 3}" 11.217 +3, 0, Program_c, 1, 18 11.218 +3, 0, Control_c, 1, 7, 100 11.219 +3, 0, Control_c, 1, 91, 30 11.220 +3, 0, Control_c, 1, 93, 0 11.221 +3, 0, Control_c, 1, 10, 64 11.222 +3, 0, Control_c, 1, 10, 64 11.223 +3, 0, Control_c, 1, 121, 0 11.224 +3, 0, Control_c, 1, 7, 100 11.225 +3, 0, Control_c, 1, 91, 0 11.226 +3, 0, Control_c, 1, 93, 30 11.227 +3, 6720, Note_on_c, 1, 62, 100 11.228 +3, 7560, Note_on_c, 1, 64, 100 11.229 +3, 7560, Note_off_c, 1, 62, 127 11.230 +3, 8400, Note_on_c, 1, 66, 100 11.231 +3, 8400, Note_off_c, 1, 64, 127 11.232 +3, 9240, Note_on_c, 1, 67, 100 11.233 +3, 9240, Note_off_c, 1, 66, 127 11.234 +3, 10080, Note_on_c, 1, 38, 80 11.235 +3, 10080, Note_off_c, 1, 67, 127 11.236 +3, 10800, Note_off_c, 1, 38, 127 11.237 +3, 11040, Note_on_c, 1, 38, 80 11.238 +3, 11760, Note_on_c, 1, 40, 80 11.239 +3, 11760, Note_off_c, 1, 38, 127 11.240 +3, 12000, Note_off_c, 1, 40, 127 11.241 +3, 12240, Note_on_c, 1, 40, 80 11.242 +3, 12480, Note_off_c, 1, 40, 127 11.243 +3, 12720, Note_on_c, 1, 40, 80 11.244 +3, 12840, Note_off_c, 1, 40, 127 11.245 +3, 12960, Note_on_c, 1, 40, 80 11.246 +3, 13920, Note_on_c, 1, 47, 80 11.247 +3, 13920, Note_off_c, 1, 40, 127 11.248 +3, 14640, Note_off_c, 1, 47, 127 11.249 +3, 14880, Note_on_c, 1, 47, 80 11.250 +3, 15600, Note_on_c, 1, 45, 80 11.251 +3, 15600, Note_off_c, 1, 47, 127 11.252 +3, 15840, Note_off_c, 1, 45, 127 11.253 +3, 16080, Note_on_c, 1, 45, 80 11.254 +3, 16320, Note_off_c, 1, 45, 127 11.255 +3, 16560, Note_on_c, 1, 45, 80 11.256 +3, 16680, Note_off_c, 1, 45, 127 11.257 +3, 16800, Note_on_c, 1, 45, 80 11.258 +3, 17760, Note_on_c, 1, 38, 80 11.259 +3, 17760, Note_off_c, 1, 45, 127 11.260 +3, 18480, Note_off_c, 1, 38, 127 11.261 +3, 18720, Note_on_c, 1, 38, 80 11.262 +3, 19440, Note_on_c, 1, 40, 80 11.263 +3, 19440, Note_off_c, 1, 38, 127 11.264 +3, 19680, Note_off_c, 1, 40, 127 11.265 +3, 19920, Note_on_c, 1, 40, 80 11.266 +3, 20160, Note_off_c, 1, 40, 127 11.267 +3, 20400, Note_on_c, 1, 40, 80 11.268 +3, 20520, Note_off_c, 1, 40, 127 11.269 +3, 20640, Note_on_c, 1, 40, 80 11.270 +3, 21600, Note_on_c, 1, 47, 80 11.271 +3, 21600, Note_off_c, 1, 40, 127 11.272 +3, 22320, Note_off_c, 1, 47, 127 11.273 +3, 22560, Note_on_c, 1, 47, 80 11.274 +3, 23280, Note_on_c, 1, 45, 80 11.275 +3, 23280, Note_off_c, 1, 47, 127 11.276 +3, 23520, Note_off_c, 1, 45, 127 11.277 +3, 23760, Note_on_c, 1, 45, 80 11.278 +3, 24000, Note_off_c, 1, 45, 127 11.279 +3, 24240, Note_on_c, 1, 45, 80 11.280 +3, 24360, Note_off_c, 1, 45, 127 11.281 +3, 24480, Note_on_c, 1, 45, 80 11.282 +3, 24960, Note_off_c, 1, 45, 127 11.283 +3, 25440, Note_on_c, 1, 43, 80 11.284 +3, 25920, Note_off_c, 1, 43, 127 11.285 +3, 27360, Note_on_c, 1, 47, 80 11.286 +3, 27840, Note_off_c, 1, 47, 127 11.287 +3, 29280, Note_on_c, 1, 45, 80 11.288 +3, 29760, Note_off_c, 1, 45, 127 11.289 +3, 32640, Note_on_c, 1, 45, 80 11.290 +3, 33120, Note_on_c, 1, 43, 80 11.291 +3, 33120, Note_off_c, 1, 45, 127 11.292 +3, 33600, Note_off_c, 1, 43, 127 11.293 +3, 35040, Note_on_c, 1, 47, 80 11.294 +3, 35520, Note_off_c, 1, 47, 127 11.295 +3, 36960, Note_on_c, 1, 45, 80 11.296 +3, 37680, Note_off_c, 1, 45, 127 11.297 +3, 37920, Note_on_c, 1, 45, 80 11.298 +3, 38400, Note_off_c, 1, 45, 127 11.299 +3, 38640, Note_on_c, 1, 45, 80 11.300 +3, 38880, Note_off_c, 1, 45, 127 11.301 +3, 39120, Note_on_c, 1, 45, 80 11.302 +3, 39600, Note_off_c, 1, 45, 127 11.303 +3, 39840, Note_on_c, 1, 45, 80 11.304 +3, 40080, Note_off_c, 1, 45, 127 11.305 +3, 40320, Note_on_c, 1, 45, 80 11.306 +3, 40800, Note_on_c, 1, 38, 80 11.307 +3, 40800, Note_off_c, 1, 45, 127 11.308 +3, 41520, Note_off_c, 1, 38, 127 11.309 +3, 41760, Note_on_c, 1, 38, 80 11.310 +3, 42240, Note_off_c, 1, 38, 127 11.311 +3, 42480, Note_on_c, 1, 40, 80 11.312 +3, 42720, Note_off_c, 1, 40, 127 11.313 +3, 42960, Note_on_c, 1, 40, 80 11.314 +3, 43200, Note_off_c, 1, 40, 127 11.315 +3, 43440, Note_on_c, 1, 40, 80 11.316 +3, 43560, Note_off_c, 1, 40, 127 11.317 +3, 43680, Note_on_c, 1, 40, 80 11.318 +3, 44640, Note_off_c, 1, 40, 127 11.319 +3, 44640, Note_on_c, 1, 47, 80 11.320 +3, 45360, Note_off_c, 1, 47, 127 11.321 +3, 45600, Note_on_c, 1, 47, 80 11.322 +3, 46320, Note_off_c, 1, 47, 127 11.323 +3, 46320, Note_on_c, 1, 45, 80 11.324 +3, 46560, Note_off_c, 1, 45, 127 11.325 +3, 46800, Note_on_c, 1, 45, 80 11.326 +3, 47040, Note_off_c, 1, 45, 127 11.327 +3, 47280, Note_on_c, 1, 45, 80 11.328 +3, 47400, Note_off_c, 1, 45, 127 11.329 +3, 47520, Note_on_c, 1, 45, 80 11.330 +3, 48000, Note_off_c, 1, 45, 127 11.331 +3, 48480, Note_on_c, 1, 43, 80 11.332 +3, 49440, Note_on_c, 1, 45, 80 11.333 +3, 49440, Note_off_c, 1, 43, 127 11.334 +3, 50400, Note_off_c, 1, 45, 127 11.335 +3, 50400, Note_on_c, 1, 47, 80 11.336 +3, 51360, Note_on_c, 1, 49, 80 11.337 +3, 51360, Note_off_c, 1, 47, 127 11.338 +3, 52320, Note_off_c, 1, 49, 127 11.339 +3, 52320, Note_on_c, 1, 38, 100 11.340 +3, 55680, Note_off_c, 1, 38, 127 11.341 +3, 55680, End_track 11.342 +4, 0, Start_track 11.343 +4, 0, Title_t, "drums" 11.344 +4, 0, Control_c, 9, 10, 64 11.345 +4, 0, Control_c, 9, 7, 100 11.346 +4, 0, Control_c, 9, 7, 100 11.347 +4, 0, Control_c, 9, 91, 0 11.348 +4, 0, Control_c, 9, 7, 100 11.349 +4, 0, Control_c, 9, 93, 30 11.350 +4, 0, Control_c, 9, 93, 0 11.351 +4, 0, Control_c, 9, 10, 64 11.352 +4, 0, Control_c, 9, 93, 30 11.353 +4, 0, Control_c, 9, 121, 0 11.354 +4, 0, Control_c, 9, 91, 30 11.355 +4, 0, Program_c, 9, 0 11.356 +4, 0, Control_c, 9, 32, 0 11.357 +4, 0, Control_c, 9, 91, 30 11.358 +4, 0, Control_c, 9, 0, 1 11.359 +4, 0, Control_c, 9, 10, 64 11.360 +4, 10080, Note_on_c, 9, 35, 80 11.361 +4, 10558, Note_off_c, 9, 35, 127 11.362 +4, 10560, Note_on_c, 9, 38, 80 11.363 +4, 11038, Note_off_c, 9, 38, 127 11.364 +4, 11040, Note_on_c, 9, 35, 80 11.365 +4, 11518, Note_off_c, 9, 35, 127 11.366 +4, 11520, Note_on_c, 9, 38, 80 11.367 +4, 11759, Note_off_c, 9, 38, 127 11.368 +4, 11760, Note_on_c, 9, 35, 80 11.369 +4, 12238, Note_off_c, 9, 35, 127 11.370 +4, 12240, Note_on_c, 9, 35, 80 11.371 +4, 12478, Note_off_c, 9, 35, 127 11.372 +4, 12480, Note_on_c, 9, 38, 80 11.373 +4, 12958, Note_off_c, 9, 38, 127 11.374 +4, 12960, Note_on_c, 9, 35, 80 11.375 +4, 13198, Note_off_c, 9, 35, 127 11.376 +4, 13200, Note_on_c, 9, 35, 80 11.377 +4, 13439, Note_off_c, 9, 35, 127 11.378 +4, 13440, Note_on_c, 9, 38, 80 11.379 +4, 13918, Note_off_c, 9, 38, 127 11.380 +4, 13920, Note_on_c, 9, 35, 80 11.381 +4, 14398, Note_off_c, 9, 35, 127 11.382 +4, 14400, Note_on_c, 9, 38, 80 11.383 +4, 14878, Note_off_c, 9, 38, 127 11.384 +4, 14880, Note_on_c, 9, 35, 80 11.385 +4, 15358, Note_off_c, 9, 35, 127 11.386 +4, 15360, Note_on_c, 9, 38, 80 11.387 +4, 15599, Note_off_c, 9, 38, 127 11.388 +4, 15600, Note_on_c, 9, 35, 80 11.389 +4, 16078, Note_off_c, 9, 35, 127 11.390 +4, 16080, Note_on_c, 9, 35, 80 11.391 +4, 16318, Note_off_c, 9, 35, 127 11.392 +4, 16320, Note_on_c, 9, 38, 80 11.393 +4, 16798, Note_off_c, 9, 38, 127 11.394 +4, 16800, Note_on_c, 9, 35, 80 11.395 +4, 17038, Note_off_c, 9, 35, 127 11.396 +4, 17040, Note_on_c, 9, 35, 80 11.397 +4, 17279, Note_off_c, 9, 35, 127 11.398 +4, 17280, Note_on_c, 9, 38, 80 11.399 +4, 17758, Note_off_c, 9, 38, 127 11.400 +4, 17760, Note_on_c, 9, 35, 80 11.401 +4, 18238, Note_off_c, 9, 35, 127 11.402 +4, 18240, Note_on_c, 9, 38, 80 11.403 +4, 18718, Note_off_c, 9, 38, 127 11.404 +4, 18720, Note_on_c, 9, 35, 80 11.405 +4, 19198, Note_off_c, 9, 35, 127 11.406 +4, 19200, Note_on_c, 9, 38, 80 11.407 +4, 19439, Note_off_c, 9, 38, 127 11.408 +4, 19440, Note_on_c, 9, 35, 80 11.409 +4, 19918, Note_off_c, 9, 35, 127 11.410 +4, 19920, Note_on_c, 9, 35, 80 11.411 +4, 20158, Note_off_c, 9, 35, 127 11.412 +4, 20160, Note_on_c, 9, 38, 80 11.413 +4, 20638, Note_off_c, 9, 38, 127 11.414 +4, 20640, Note_on_c, 9, 35, 80 11.415 +4, 20878, Note_off_c, 9, 35, 127 11.416 +4, 20880, Note_on_c, 9, 35, 80 11.417 +4, 21119, Note_off_c, 9, 35, 127 11.418 +4, 21120, Note_on_c, 9, 38, 80 11.419 +4, 21598, Note_off_c, 9, 38, 127 11.420 +4, 21600, Note_on_c, 9, 35, 80 11.421 +4, 22078, Note_off_c, 9, 35, 127 11.422 +4, 22080, Note_on_c, 9, 38, 80 11.423 +4, 22558, Note_off_c, 9, 38, 127 11.424 +4, 22560, Note_on_c, 9, 35, 80 11.425 +4, 23038, Note_off_c, 9, 35, 127 11.426 +4, 23040, Note_on_c, 9, 38, 80 11.427 +4, 23279, Note_off_c, 9, 38, 127 11.428 +4, 23280, Note_on_c, 9, 35, 80 11.429 +4, 23758, Note_off_c, 9, 35, 127 11.430 +4, 23760, Note_on_c, 9, 35, 80 11.431 +4, 23998, Note_off_c, 9, 35, 127 11.432 +4, 24000, Note_on_c, 9, 38, 80 11.433 +4, 24478, Note_off_c, 9, 38, 127 11.434 +4, 24480, Note_on_c, 9, 35, 80 11.435 +4, 24718, Note_off_c, 9, 35, 127 11.436 +4, 24720, Note_on_c, 9, 35, 80 11.437 +4, 24959, Note_off_c, 9, 35, 127 11.438 +4, 24960, Note_on_c, 9, 38, 80 11.439 +4, 25438, Note_off_c, 9, 38, 127 11.440 +4, 25440, Note_on_c, 9, 35, 80 11.441 +4, 25918, Note_off_c, 9, 35, 127 11.442 +4, 27360, Note_on_c, 9, 35, 80 11.443 +4, 27838, Note_off_c, 9, 35, 127 11.444 +4, 29280, Note_on_c, 9, 35, 80 11.445 +4, 29758, Note_off_c, 9, 35, 127 11.446 +4, 33120, Note_on_c, 9, 35, 80 11.447 +4, 33598, Note_off_c, 9, 35, 127 11.448 +4, 33600, Note_on_c, 9, 39, 80 11.449 +4, 34078, Note_off_c, 9, 39, 127 11.450 +4, 34560, Note_on_c, 9, 39, 80 11.451 +4, 35038, Note_off_c, 9, 39, 127 11.452 +4, 35040, Note_on_c, 9, 35, 80 11.453 +4, 35518, Note_off_c, 9, 35, 127 11.454 +4, 35520, Note_on_c, 9, 39, 80 11.455 +4, 35998, Note_off_c, 9, 39, 127 11.456 +4, 36480, Note_on_c, 9, 39, 80 11.457 +4, 36958, Note_off_c, 9, 39, 127 11.458 +4, 36960, Note_on_c, 9, 35, 80 11.459 +4, 37438, Note_off_c, 9, 35, 127 11.460 +4, 37440, Note_on_c, 9, 39, 80 11.461 +4, 37918, Note_off_c, 9, 39, 127 11.462 +4, 38400, Note_on_c, 9, 39, 80 11.463 +4, 38878, Note_off_c, 9, 39, 127 11.464 +4, 38880, Note_on_c, 9, 38, 80 11.465 +4, 39120, Note_on_c, 9, 38, 80 11.466 +4, 39120, Note_on_c, 9, 38, 80 11.467 +4, 39120, Note_off_c, 9, 38, 127 11.468 +4, 39360, Note_off_c, 9, 38, 127 11.469 +4, 39360, Note_on_c, 9, 39, 100 11.470 +4, 39600, Note_off_c, 9, 39, 127 11.471 +4, 39600, Note_on_c, 9, 38, 80 11.472 +4, 39840, Note_off_c, 9, 38, 127 11.473 +4, 39840, Note_on_c, 9, 38, 100 11.474 +4, 40080, Note_off_c, 9, 38, 127 11.475 +4, 40080, Note_on_c, 9, 38, 80 11.476 +4, 40318, Note_off_c, 9, 38, 127 11.477 +4, 40320, Note_on_c, 9, 39, 80 11.478 +4, 40560, Note_off_c, 9, 39, 127 11.479 +4, 40560, Note_on_c, 9, 38, 80 11.480 +4, 40800, Note_off_c, 9, 38, 127 11.481 +4, 40800, Note_on_c, 9, 35, 80 11.482 +4, 41278, Note_off_c, 9, 35, 127 11.483 +4, 41280, Note_on_c, 9, 38, 80 11.484 +4, 41758, Note_off_c, 9, 38, 127 11.485 +4, 41760, Note_on_c, 9, 35, 80 11.486 +4, 42238, Note_off_c, 9, 35, 127 11.487 +4, 42240, Note_on_c, 9, 38, 80 11.488 +4, 42479, Note_off_c, 9, 38, 127 11.489 +4, 42480, Note_on_c, 9, 35, 80 11.490 +4, 42958, Note_off_c, 9, 35, 127 11.491 +4, 42960, Note_on_c, 9, 35, 80 11.492 +4, 43198, Note_off_c, 9, 35, 127 11.493 +4, 43200, Note_on_c, 9, 38, 80 11.494 +4, 43678, Note_off_c, 9, 38, 127 11.495 +4, 43680, Note_on_c, 9, 35, 80 11.496 +4, 43918, Note_off_c, 9, 35, 127 11.497 +4, 43920, Note_on_c, 9, 35, 80 11.498 +4, 44159, Note_off_c, 9, 35, 127 11.499 +4, 44160, Note_on_c, 9, 38, 80 11.500 +4, 44638, Note_off_c, 9, 38, 127 11.501 +4, 44640, Note_on_c, 9, 35, 80 11.502 +4, 45118, Note_off_c, 9, 35, 127 11.503 +4, 45120, Note_on_c, 9, 38, 80 11.504 +4, 45598, Note_off_c, 9, 38, 127 11.505 +4, 45600, Note_on_c, 9, 35, 80 11.506 +4, 46078, Note_off_c, 9, 35, 127 11.507 +4, 46080, Note_on_c, 9, 38, 80 11.508 +4, 46320, Note_on_c, 9, 35, 80 11.509 +4, 46320, Note_off_c, 9, 38, 127 11.510 +4, 46798, Note_off_c, 9, 35, 127 11.511 +4, 46800, Note_on_c, 9, 35, 80 11.512 +4, 47040, Note_on_c, 9, 38, 80 11.513 +4, 47040, Note_off_c, 9, 35, 127 11.514 +4, 47518, Note_off_c, 9, 38, 127 11.515 +4, 47520, Note_on_c, 9, 35, 80 11.516 +4, 47758, Note_off_c, 9, 35, 127 11.517 +4, 47760, Note_on_c, 9, 35, 80 11.518 +4, 47999, Note_off_c, 9, 35, 127 11.519 +4, 48000, Note_on_c, 9, 38, 80 11.520 +4, 48238, Note_off_c, 9, 38, 127 11.521 +4, 48240, Note_on_c, 9, 38, 80 11.522 +4, 48478, Note_off_c, 9, 38, 127 11.523 +4, 48480, Note_on_c, 9, 35, 80 11.524 +4, 48958, Note_off_c, 9, 35, 127 11.525 +4, 48960, Note_on_c, 9, 38, 80 11.526 +4, 49198, Note_off_c, 9, 38, 127 11.527 +4, 49200, Note_on_c, 9, 38, 80 11.528 +4, 49438, Note_off_c, 9, 38, 127 11.529 +4, 49440, Note_on_c, 9, 35, 80 11.530 +4, 49918, Note_off_c, 9, 35, 127 11.531 +4, 49920, Note_on_c, 9, 38, 80 11.532 +4, 50158, Note_off_c, 9, 38, 127 11.533 +4, 50160, Note_on_c, 9, 38, 80 11.534 +4, 50398, Note_off_c, 9, 38, 127 11.535 +4, 50400, Note_on_c, 9, 35, 80 11.536 +4, 50878, Note_off_c, 9, 35, 127 11.537 +4, 50880, Note_on_c, 9, 38, 80 11.538 +4, 51118, Note_off_c, 9, 38, 127 11.539 +4, 51120, Note_on_c, 9, 38, 80 11.540 +4, 51358, Note_off_c, 9, 38, 127 11.541 +4, 51360, Note_on_c, 9, 35, 80 11.542 +4, 51599, Note_off_c, 9, 35, 127 11.543 +4, 51600, Note_on_c, 9, 38, 80 11.544 +4, 51838, Note_off_c, 9, 38, 127 11.545 +4, 51840, Note_on_c, 9, 38, 80 11.546 +4, 52078, Note_off_c, 9, 38, 127 11.547 +4, 52080, Note_on_c, 9, 38, 80 11.548 +4, 52318, Note_off_c, 9, 38, 127 11.549 +4, 52320, Note_on_c, 9, 38, 80 11.550 +4, 52798, Note_off_c, 9, 38, 127 11.551 +4, 55680, End_track 11.552 +0, 0, End_of_file
12.1 Binary file music/pony-title.mid has changed
13.1 Binary file music/sync-test.mid has changed
14.1 Binary file music/sync-test.rg has changed