[CM] cm and quicktime: instrumentation
George Smith
smithg@rz.uni-potsdam.de
Thu, 15 Jan 2004 09:44:47 +0100 (CET)
I'm new to cm and midi, being an acoustic musician who programs
in lisp at work (linguist), so bear with me.
I'm using cm 2.3.4 on an older imac with system 8.6 and quicktime
5. I'm encountering two difficulties.
1. When I try to play directly to the midi port, I get rhythmic
inaccuracy, sometimes more, sometimes less. I assume there
must be some sort of real time mode that I haven't figured
out yet.
2. When I use instruments other than the default acoustic piano,
I do hear them when I play them to the midi port, but when I
try to write this to a midi file and play the file using
quicktime, which involves converting the file to a quicktime
movie, the instrumentation gets lost and I only hear acoustic
piano. Here is some code to show what I've been trying to do.
(defun test-play-scale (channel)
(process repeat 8 with time = 0
with key = (new pattern of (list 'c3 'd3 'e3 'f3 'g3 'a3 'b3
'c4)
in cycle)
do (progn
(output (new midi time time channel channel
keynum (next key) duration .5 amplitude .7))
(incf time .5))))
(loop for ch from 0 to 8
for pr in (list 0
+Acoustic-Guitar-Nylon+ +Acoustic-Guitar-Steel+
+Electric-Guitar-Jazz+ +Electric-Guitar-Clean+
+Electric-Guitar-Muted+ +Acoustic-Bass+
+Electric-Bass-Finger+ +Fretless-Bass+)
for pan in '(0 0 0 0 0 0 127 127 127) do
(midi-write-message (make-program-change ch pr))
do
(midi-write-message (make-control-change ch 10 pan)))
(let ((output (io "Macintosh
HD:Applications:cm-2.3.4:programs:test.midi")))
(events
(test-play-scale 6) output :tempo 60))
At this point, cm plays the scale with +Acoustic-Bass+. But when I
play the midi file using quicktime, I get acoustic piano.
What do I need to do to hear the instrumentation when playing the
midi file with quicktime?
Thanks,
George