Jump to content


  • Posts

  • Joined

  • Last visited

Posts posted by o_e

  1. I don't understand exactly what you want to achive?

    The following code does what you want, it just have a little graphic glitch:

    (setf voice1 '(s c3 e b2 s_s bb2 e. bb2 tie -q))
    (setf voice2 '(-q  -q bb2gb2))
    (merge-voices voice1 voice2)

    When the Gb is transposed an octave lower you can see it clearly:

    (setf voice1 '(s c3 e b2 s_s bb2 e. bb2 tie -q))
    (setf voice2 '(-q  -q bb2gb1))
    (merge-voices voice1 voice2)



    Bildschirmfoto 2022-01-06 um 10.48.38.jpg

    Bildschirmfoto 2022-01-06 um 10.47.41.jpg

  2. I wrote a function myself, not sure if it is acceptable for Janusz 🙂



    (defun remove-tie (y)
      "tests if it is a single list or a list of lists,then remove ties"
    (if (car (mapcar #'listp y))
     (loop for x in y
          for z = (remove 'tie x)
           for a = (remove 'tie+tie z)
          collect a) (remove 'tie+tie (remove 'tie y))))


    Edit: I think this only removes ties between bars as I remember correctly..

  3. Thanks! There is one more thing I don't get, pitch-transpose seems to change the rhytm somehow or do I miss again something


    (setf rhy '(e e_3q 3q 3q_e e_3q_3q 3q)) ;also tried ratios- same result
    (setf pit (span rhy line2))
    (setf pit2  (make-omn :length rhy
              :pitch  pit))
    (setf pit2a (pitch-transpose 2 pit2))


    Bildschirmfoto 2021-09-25 um 20.58.45.jpg

    Bildschirmfoto 2021-09-25 um 20.59.00.jpg

  4. Hi,


    What I want is the first pict:

    What I get, when I use this:

    (setf rhy '(e e 3q = = tie e e))

    is seen in the second pict, what am I missing?

    Bildschirmfoto 2021-09-25 um 16.19.24.jpg

    Bildschirmfoto 2021-09-25 um 16.20.17.jpg



    Ok, I found the solution, writing 3q 3q 3q instead of 3q = =

    But then I stumbeled over the next problem, how can I use span with such tied rhymths?


    What I want is this:

    Bildschirmfoto 2021-09-25 um 16.39.09.jpg


    what I get with span is this:

    (setf line '(( c4 d4 e4 f4)( g4 a4)))
    (setf rhy '(e e tie 3q 3q 3q tie e e tie 3q tie 3q 3q))
    (setf pit (span rhy line))
    (make-omn :length rhy
              :pitch  pit)





    Bildschirmfoto 2021-09-25 um 16.52.06.jpg

  5. Hi,


    When I constrain the ambitus range to be smaller than an octave, I do not understand exactly on which axis the pitches are inverted, when I use

    :type :invert

    it is clear, but what does the default transpose type?




    (setf range '((q c4 cs4 d4 ds4 e4 f4 fs4 g4 gs4 a4 bb4 b4 c5)))
    (setf amb2 (ambitus '(c4 a4) range  ))
    (merge-voices range amb2)


    Bildschirmfoto 2021-09-24 um 16.32.36.jpg

  6. Hi,


    How do I point




    to my own def-unfold-set instead of the default one?


    (counterpoint patterns '(((- 2 3 -))
                             ((4 * * 6)) 
                             ((1 - - 2)) 
                             ((5 6 1 2)))
                  :index 'voice
                  :global-polyphony '((1 p) (2 o) (10 o) (11 o))
                  :iterate t
                  :global-methods '((fl) (cl) (hn) (vc)))



  7. I've tried to get an overview of which pitches are used how many times in a stem:


    (plot-pcs-distr  '((q c3 c3 d4 f5)(e fs2 fs2 fs2 fs2 fs2 gs4)))

    ==>((0 2) (1 0) (2 1) (3 0) (4 0) (5 1) (6 5) (7 0) (8 1) (9 0) (10 0) (11 0))

    so I can see at a glance there are 2 c's, zero cis's, one d and so forth..


    and the plot:

    Bildschirmfoto 2021-09-12 um 17.21.11.jpg

  8. Here is what I've hacked together, thanks for looking into it:

    (defun plot-pcs-distr (x)
    (setf c (list (count '0 (flatten (get-pcs x)))))
    (setf cs (list (count '1 (flatten (get-pcs x)))))
    (setf d (list (count '2 (flatten (get-pcs x)))))
    (setf ds (list (count '3 (flatten (get-pcs x)))))
    (setf e (list (count '4 (flatten (get-pcs x)))))
    (setf f (list (count '5 (flatten (get-pcs x)))))
    (setf fs (list (count '6 (flatten (get-pcs x)))))
    (setf g (list (count '7 (flatten (get-pcs x)))))
    (setf gs (list (count '8 (flatten (get-pcs x)))))
    (setf a (list (count '9 (flatten (get-pcs x)))))
    (setf bb (list (count '10 (flatten (get-pcs x)))))
    (setf b (list (count '11 (flatten (get-pcs x)))))
    (setf all (append c cs d ds e f fs g gs a bb b))
    (setf liste (loop for x in all
          for y in '(c cis d dis e f fis g gis a bes b)
      collect (list x y)))
    (sort liste #'< :key #'first)
    (setf liste-plot (loop for i in all
          for j in '(0 1 2 3 4 5 6 7 8 9 10 11)
      collect (list j i)))
    (xy-plot liste-plot
             :join-points t
             :point-radius 2
             :style :fill
             :point-style :square)


  9. Hi,


    it says in the doc of vector-to-velocity that the default is float values, but when I evaluate

    (setf vel (vector-to-velocity 0.1 0.9 (gen-integer 1 16)))
    =>(pppp pppp ppp pp pp p mp mp mf mf f ff ff fff ffff ffff)

    I get symbols, when I use

    (setf vel (vector-to-velocity 0.1 0.9 (gen-integer 1 16):type :float))
    =>(0.1 0.15 0.21 0.26 0.31 0.37 0.42 0.47 0.53 0.58 0.63 0.69 0.74 0.79 0.85 0.9)

    everything is fine, just want to mention it.







  • Create New...

Important Information

Terms of Use Privacy Policy