/* "O Tannenbaum" */ info tempo:96; noteTagRange = 1 to 4; part part1; part1 synthPatchCount:1, synthPatch:"DBWave1vi"; part part2; part2 synthPatchCount:1, synthPatch:"DBWave1vi"; part part3; part3 synthPatchCount:1, synthPatch:"DBWave1vi"; part part4; part4 synthPatchCount:1, synthPatch:"DBWave1vi"; var x = .3535; var mp = .3535*x; var mf = .5*x; var f = .7071*x; var ff = 1*x; var k; envelope ampFn = [(0, 0, 1) (0.025, 1 ,2) (.5, .5, 2) (2, .25, 2) | (4.01, 0, .5)]; BEGIN; part1 (noteUpdate) waveform:"OB", rvibAmp:0, svibAmp:0, ampEnv:ampFn, bearing:-45; part2 (noteUpdate) waveform:"OB", rvibAmp:0, svibAmp:0, ampEnv:ampFn, bearing:-15; part3 (noteUpdate) waveform:"OB", rvibAmp:0, svibAmp:0, ampEnv:ampFn, bearing:15; part4 (noteUpdate) waveform:"EH", rvibAmp:0, svibAmp:0, ampEnv:ampFn, bearing:45; t 0; k = 0; while (k < 2) { part1 (noteOn 1) keyNum:d3k, amp:mp; part2 (noteOn 2) keyNum:d3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:d4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +.75; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +.25; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +1.5; part1 (noteOn 1) keyNum:d3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:fs4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.75; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.25; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +1.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:c3k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:a4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:b2k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:gs4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:a2k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:a4k, amp:mp; part4 (noteOn 4) keyNum:c5k, amp:mp; t +1; part1 (noteOn 1) keyNum:d3k, amp:mp; part2 (noteOn 2) keyNum:c4k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:fs4k, amp:mp; t +1; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:c4k, amp:mp; part3 (noteOn 3) keyNum:fs4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +1; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +1.5; /* repeat */ part1 (noteOn 1) keyNum:d3k, amp:mp; part2 (noteOn 2) keyNum:d3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:d4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +.75; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +.25; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +1.5; part1 (noteOn 1) keyNum:d3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:fs4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.75; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.25; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +1.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:c3k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:a4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:b2k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:gs4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:a2k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:a4k, amp:mp; part4 (noteOn 4) keyNum:c5k, amp:mp; t +1; part1 (noteOn 1) keyNum:d3k, amp:mp; part2 (noteOn 2) keyNum:c4k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:fs4k, amp:mp; t +1; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:c4k, amp:mp; part3 (noteOn 3) keyNum:fs4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +1; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +1.5; part1 (noteOn 1) keyNum:g3k, amp:mf; part2 (noteOn 2) keyNum:b3k, amp:mf; part3 (noteOn 3) keyNum:g4k, amp:mf; part4 (noteOn 4) keyNum:d5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mf; part2 (noteOn 2) keyNum:b3k, amp:mf; part3 (noteOn 3) keyNum:g4k, amp:mf; part4 (noteOn 4) keyNum:d5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mf; part2 (noteOn 2) keyNum:d4k, amp:mf; part3 (noteOn 3) keyNum:g4k, amp:mf; part4 (noteOn 4) keyNum:b4k, amp:mf; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mf; part2 (noteOn 2) keyNum:c4k, amp:mf; part3 (noteOn 3) keyNum:g4k, amp:mf; part4 (noteOn 4) keyNum:e5k, amp:mf; t +1.5; part1 (noteOn 1) keyNum:g3k, amp:mf; part2 (noteOn 2) keyNum:b3k, amp:mf; part3 (noteOn 3) keyNum:g4k, amp:mf; part4 (noteOn 4) keyNum:d5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:d3k, amp:mf; part2 (noteOn 2) keyNum:b3k, amp:mf; part3 (noteOn 3) keyNum:fs4k, amp:mf; part4 (noteOn 4) keyNum:d5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:d3k, amp:mf; part2 (noteOn 2) keyNum:a3k, amp:mf; part3 (noteOn 3) keyNum:fs4k, amp:mf; part4 (noteOn 4) keyNum:c5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:d3k, amp:mf; part2 (noteOn 2) keyNum:a3k, amp:mf; part3 (noteOn 3) keyNum:fs4k, amp:mf; part4 (noteOn 4) keyNum:c5k, amp:mf; t +1.5; part1 (noteOn 1) keyNum:d3k, amp:mf; part2 (noteOn 2) keyNum:a3k, amp:mf; part3 (noteOn 3) keyNum:fs4k, amp:mf; part4 (noteOn 4) keyNum:c5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:d3k, amp:mf; part2 (noteOn 2) keyNum:a3k, amp:mf; part3 (noteOn 3) keyNum:fs4k, amp:mf; part4 (noteOn 4) keyNum:c5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:d3k, amp:mf; part2 (noteOn 2) keyNum:c4k, amp:mf; part3 (noteOn 3) keyNum:fs4k, amp:mf; part4 (noteOn 4) keyNum:a4k, amp:mf; t +.5; part1 (noteOn 1) keyNum:d3k, amp:mf; part2 (noteOn 2) keyNum:a3k, amp:mf; part3 (noteOn 3) keyNum:fs4k, amp:mf; part4 (noteOn 4) keyNum:d5k, amp:mf; t +1.5; part1 (noteOn 1) keyNum:d3k, amp:mf; part2 (noteOn 2) keyNum:d4k, amp:mf; part3 (noteOn 3) keyNum:fs4k, amp:mf; part4 (noteOn 4) keyNum:c5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mf; part2 (noteOn 2) keyNum:e4k, amp:mf; part3 (noteOn 3) keyNum:g4k, amp:mf; part4 (noteOn 4) keyNum:c5k, amp:mf; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mf; part2 (noteOn 2) keyNum:d4k, amp:mf; part3 (noteOn 3) keyNum:g4k, amp:mf; part4 (noteOn 4) keyNum:b4k, amp:mf; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mf; part2 (noteOn 2) keyNum:d4k, amp:mf; part3 (noteOn 3) keyNum:g4k, amp:mf; part4 (noteOn 4) keyNum:b4k, amp:mf; t +1.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:d4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +.75; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +.25; part1 (noteOn 1) keyNum:e3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:e4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +1.5; part1 (noteOn 1) keyNum:d3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:fs4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.75; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.25; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +1.5; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:d4k, amp:mp; part3 (noteOn 3) keyNum:f4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:c3k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:e4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:b2k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:gs4k, amp:mp; part4 (noteOn 4) keyNum:b4k, amp:mp; t +.5; part1 (noteOn 1) keyNum:a2k, amp:mp; part2 (noteOn 2) keyNum:e4k, amp:mp; part3 (noteOn 3) keyNum:a4k, amp:mp; part4 (noteOn 4) keyNum:c5k, amp:mp; t +1; part1 (noteOn 1) keyNum:d3k, amp:mp; part2 (noteOn 2) keyNum:c4k, amp:mp; part3 (noteOn 3) keyNum:d4k, amp:mp; part4 (noteOn 4) keyNum:fs4k, amp:mp; t +1; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:c4k, amp:mp; part3 (noteOn 3) keyNum:fs4k, amp:mp; part4 (noteOn 4) keyNum:a4k, amp:mp; t +1; part1 (noteOn 1) keyNum:g3k, amp:mp; part2 (noteOn 2) keyNum:b3k, amp:mp; part3 (noteOn 3) keyNum:g4k, amp:mp; part4 (noteOn 4) keyNum:g4k, amp:mp; t +1.5; k = k + 1; } part1 (noteOff 1); part4 (noteOff 4); part3 (noteOff 3); part2 (noteOff 2); END;