Jump to content

Recommended Posts

Good morning.


I'm interested in score analysis and I've encountered an issue. Is it possibile in Opusmodus, after I've create a score in OMN form (for example : (h c6 mp) (w. f5 pp) (d a4 mp) ) sort these sublist in PITCH ascending order linking the corresponding value of LENGTH? example:

convert this: (h c6 mp) (w. f5 pp) (d a4 mp)
in this: (d a4 mp) (w. f5 pp) (h c6 mp)


where every sublist remains the same but the order is changed on a pitch base (in this case ascending).


I've tried SORT-ASC and similar, but probably there's something to try and I'm new to the program.


Thank you a lot!


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Topics

    • By etu
      Is there a way to reduce all of the note lengths equally, without editing each one individually in this snippet?  I suppose I could change the audition tempo to make it play faster, but I would really like to reduce the note lengths programmatically, if that's possible.
      (rnd-sample-seq 4 '( (h. b4 tie) (q b4 h a4 tie) (q a4 e b4 a4 q g4 tie) (h g4 e fs4 e4) (h fs4 -q) (-q h g4 tie) (q g4 e fs4 g4 q a4 tie) (h a4 e c5 b4) (h_e c5 e b4) (e c5 a4 h b4 tie) (q. b4 -e q g4 tie) (h. g4) (h. fs4) (e g4 a4 h b4 tie) (e b4 a4 b4 g4 q a4 tie) (h a4 q a4) (h. g4) (q g4 h fs4 tie) (q fs4 b4 e e4 fs4) (h. g4) (h. fs4 tie) (q fs4 h b4 tie) (h b4 q a4 tie) (h a4 e b4 a4) (h. g4) (e fs4 e4 h fs4) (-h q g4 tie) (h g4 e fs4 g4) (h. a4) (e c5 b4 h c5 tie) (e c5 b4 c5 a4 q b4 tie) (he b4 -e) (h. g4 tie) ))  
    • By AM
      dear all
      is there a quick way to import (or filter) only pitches and chords from a midi-file? if i only use these (nothing else from midi/xml)
      thanx for a hint
    • By AM
      ;;; ADD-RND-DUST TO LENGTHS ;;; this function adding RANDOMLY some "dust" to the LENGTHS, so it will be like a little rubato, ;;; or "humanizing"-effect. the ADD-SPAN is in percent (0.1 = 10%) on each length-value. (defun add-rnd-dust (omnseq &key (span '(0.1)) (seed nil) (quantize '(1 2 3 4 5 6 7 8 9))) (let ((rhy (omn :length omnseq)) (sp)) (progn (setf rhy (loop with cnt = 0 for i in rhy do (setf sp (nth cnt span)) when (not (null seed)) do (incf seed) when (> i 0) collect (+ i (car (rnd-number 1 0.0 (* i sp) :seed seed))) else collect (- i (car (rnd-number 1 0.0 (* i sp) :seed seed))) when (< cnt (1- (length span))) do (incf cnt))) (make-omn :length (quantize (float-to-ratio rhy :ratio 1/1) quantize) :pitch (omn :pitch omnseq) :velocity (omn :velocity omnseq) :articulation (omn :articulation omnseq))))) ;;; EXAMPLE (add-rnd-dust '(h c3 h. d3 -h q. f3 q g3) :span '(0.5 0.3 0.2 0.1) :quantize '(1 2 3 4 8) :seed 123) => (ht c3 h.s. d3 -e -q -t e.._3h f3 3q_q g3) (add-rnd-dust '(q c3 q d3 q e3 q f3 q g3) ;;possible add-span per value (1 = 100% of the value, 0.5 = 50% etc.) ;;if it's a list, it will stay on the last value of the span-list :span '(0.4 0.3 0 0 2) ;;how to quantize new lengths :quantize '(1 2 4 8) :seed 123) => (q c3 qt d3 q e3 f3 hs. g3) (add-rnd-dust '(h c3 h. d3 h e3 q. f3 q g3) :span '(0.5) ;; = every value max-add 50% :quantize '(1 2 3 4 8) :seed 2999) => (hs. c3 wt d3 3w.e e3 3wq. f3 q g3) (add-rnd-dust '(q c3 q d3 q e3 q f3 q g3) :span '(0.4 0.3 0 0 2) :quantize '(1 2 4 8) :seed 1111) => (qt c3 qs d3 q e3 f3 q... g3) (add-rnd-dust '(h c3 h d3 h e3 h f3 h g3) :span '(0.3 0.2 0.1 0 0.2) :quantize '(1 2 4 3 5) :seed 2999) => (5dh. c3 5dhq. d3 h e3 f3 he g3)  
  • Create New...