[CM] Does cm and portmidi support polyphony?
Rick Taube
taube at uiuc.edu
Mon Mar 27 09:02:05 PST 2006
THis works perfectly fine for me (OSX). Note that im using the
latest cvs sources and RTS is now a module so you should download
from the files page. (ill have more to say about this in a day or so)
http://sourceforge.net/project/showfiles.php?group_id=9766
;;;-----------------------------------
(in-package cm)
(use-system :portmidi) ; load portmidi
(use-system :rts) ; load rts
(defparameter mp (portmidi-open :input 0 :output 1)) ; my in/out ports
(defparameter mytune (new seq)) ; seq for recording
(portmidi-record! mytune mp) ; start recording
;; play your tune...then
(portmidi-record! nil mp) ; stop recording
;; now separate into left and right hands seqs
(defparameter split 60) ; split point for hands
(defparameter left-hand
(new seq :subobjects
(subobjects mytune :slot 'keynum :test (lambda (k) (< k
split)))))
(defparameter right-hand
(new seq :subobjects
(subobjects mytune :slot 'keynum :test (lambda (k) (>= k
split)))))
;;; check 'em out
(list-objects left-hand)
(list-objects right-hand)
;; put 'em in a midifile
(events (list left-hand right-hand) "test.mid")
More information about the Cmdist
mailing list