Jump to content

Search the Community

Showing results for tags 'tie'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Welcome to Opusmodus
    • Announcements
    • Pre-Sales Questions
  • Support Forum
    • Support & Troubleshooting
    • OMN Lingo
    • Function examples
    • Score & Methods
    • Notation & Layout
    • Live Coding Instrument
    • Library & Sound Sets
    • MIDI Setup
    • Programming (Common Lisp)
  • Sharing
    • Made in Opusmodus
    • Templates & Customisation
  • Feedback
    • Suggestions & Ideas

Blogs

  • Stephane Boussuge's Blog
  • Deb76's Blog
  • Janusz Podrazik

Calendars

  • Community Calendar

Categories

  • Howto
  • Getting Started
  • Live Coding
  • Music Theory and Analysis

Marker Groups

  • Members

Found 2 results

  1. Merging ties

    For generating a harmonic rhythm, I needed to merge notes that are tied. If extracting only the length values with omn directly, then all ties are lost. (omn :length '((h c4 pizz q arco+tie) (q h tie) (h.))) => ((1/2 1/4) (1/4 1/2) (3/4)) So, I wrote myself a function that merges the lengths of tied notes. (lengths-with-merged-ties '((h c4 pizz q arco+tie) (q h tie) (h.))) => (1/2 1/2 5/4) The definition is below. Best, Torsten (defun lengths-with-merged-ties (sequence) "Returns a flat list of lengths that preserves the lengths in sequence including their tied notes. Example: (lengths-with-merged-ties '((h c4 pizz q arco+tie) (q h tie) (h.))) => (1/2 1/2 5/4) Contrast: (omn :length '((h c4 pizz q arco+tie) (q h tie) (h.))) => ((1/2 1/4) (1/4 1/2) (3/4))" (butlast (reduce #'(lambda (&optional accum pair2) (when (and accum pair2) (append (butlast accum 2) (if (equal (first (last accum)) 'tie) (list (+ (first (last (butlast accum))) (first pair2)) (second pair2)) (list (first (last (butlast accum))) (first pair2) (second pair2))) ))) (matrix-transpose (list (omn :length (flatten-omn sequence)) (mapcar #'(lambda (arts) (when (member 'tie arts) 'tie)) (mapcar #'disassemble-articulations (omn :articulation (flatten-omn sequence))))))))) ;; I shared the function disassemble-articulations alongside similar functions before, ;; but repeat it here for your convenience (defun disassemble-articulations (art) "Splits a combined OMN articulations into a list of its individual attributes. Example: (disassemble-articulations 'leg+ponte) => (leg ponte)" (mapcar #'intern (split-string (symbol-name art) :separator "+")))
  2. Hi, Don't know if this is a known issue: (setf one '((q g3 = = tie)(q g3 = =))) (setf two '((q g3 g3 g3 tie)(q g3 = =))) (get-time-signature one) -->((4 4 1) (3 4 1)) ;wrong (get-time-signature two) -->((3 4 2)) ;correct best ole
×