[fomus-devel] n-tuplets

andersvi at extern.uio.no andersvi at extern.uio.no
Mon Apr 2 20:23:25 UTC 2007


>>>>> " " == Kilian Sprotte <ml13 at onlinehome.de> writes:

     > Try this: :)

That worked.  Great!

Fomus seems to present a very important working-level between CM and
notation-clients, especially concerning quantization and voice-leading
algorithms.

I have a feeling my hands will get very wet with fomus-code in some
time, but for now ill send the questions to this group to look for
obvious answers etc.

Related to the recent posts about 3/8 meters: various books on
notation quarrel about how to notate tuplets, but some kinds of
n-tuplets in fomus turn out strange.  Heres some code where durations
gradually get longer approaching one whole beat, but the note-values
vary wildly.  Is this a bug or a feature?  If a feature, how to
control which notated rhythmic values are chosen for particular
durations (inside fomus)?



(defun make-accel-measure (time beats)
  ;; fills 'beats' duration with 'beats+1' pulses
  (loop with delta = (/ beats (1+ beats))
	for off from time below (+ time beats) by delta
	collect (make-note :off off :note 60 :dur delta)))


(let* ((measurebeats (loop for b from 1 to 9 collect b))
       (offsets (loop with off = 0
		      for b in measurebeats
		      collect off
		      do (incf off b))))
  
  (fomus
   :verbose 2
   :output '(:data (:cmn :process t) )
   :auto-timesig-comp nil
   :max-tuplet-dur 10
   :default-beat 1/8
   :global (loop for beats in measurebeats
		 for off in offsets
		 collect (make-timesig :off off :time (list beats 8)))
   :parts (list (make-part
		 :instr :flute
		 :events (loop for beats in measurebeats
			       for off in offsets
			       nconc (make-accel-measure off beats))))))


-------------- next part --------------
A non-text attachment was scrubbed...
Name: fomus.fms
Type: application/octet-stream
Size: 5504 bytes
Desc: :data output
URL: <https://mailman.common-lisp.net/pipermail/fomus-devel/attachments/20070402/28dd4412/attachment.obj>


More information about the Fomus-devel mailing list