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

  • forums_forum_3
    • forums_forum_4
    • forums_forum_9
  • forums_forum_5
    • forums_forum_6
    • forums_forum_10
    • forums_forum_36
    • forums_forum_18
    • forums_forum_16
    • forums_forum_37
    • forums_forum_11
    • forums_forum_12
    • forums_forum_17
  • A Test Forum
    • forums_forum_7
    • forums_forum_8
  • forums_forum_13
    • forums_forum_14

Blogs

  • blogs_blog_1
  • blogs_blog_3

Categories

  • Tutorial Guide
  • content_cat_name_15

Categories

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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


core_pfield_1


core_pfield_2


core_pfield_3


core_pfield_4


core_pfield_8


core_pfield_9


core_pfield_10


Gender


Location


core_pfield_7

Found 2 results

  1. torstenanders

    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
×