No subject

Jozef van de Vorst J.J.A.O.v.d.Vorst@tm.tue.nl
Mon, 24 Feb 1997 10:08:37 +0100


what i did

; open tst.mid timescale .25
(merge midi ()
  (setf m (defmode major 2 1 2 2 2 1 2 ))
  (transpose m 'c4)
  (algorithm melos midi-note
    ( start 0 end 16 )
    ( setf note 
      ( item (steps 1 in cycle initially-from '48 of
m )))
      ( when (> note 66)(decf note 12))      ;
advise from tobias
    ( setf rhythm 
      ( item (items 1)))
    ( setf duration rhythm)
    ( setf amplitude .5 )
    ( setf channel 0 )
  )
)
; mix midi

the result is a series of notes from 48 up 65,
jump down 55 and 
up 91 passing the upperlimit 66.
And that's not what i wanted. I expected 3 more
jumps.
The problem is this:
Generate notes by steps or intervals within
lower&upper limits
   what to do when passing a limit ?
   solutions
     1 jump one octav
     2 mirror around upper and lower limit
     3 mirror step or interval responsible for this
passing
     ...

questions:
how to explain the result
what's the right piece of code for LimitByJump
what about LimitByMirrorLimit and
LimitByMirrorStep