Jump to content
Sign in to follow this  
Stephane Boussuge

articulation-map-omn

Recommended Posts

Here's a small function from my toolbox i use very often for adding articulation on already generated OMN material.

 

Also useful for adding legato slurs.

 

Link to video example:

 

 

;;; =============================================
;;; ARTICULATION-MAP-OMN
;;; AJOUTE DES ARTICULATIONS SUR DES LISTES OMN
;;; BASÉES SUR DU PATTERN MATCHING.
;;; =============================================

(defun articulation-map-omn (map omn &key (otherwise '-))
  (do-verbose
      ("articulation-map-omn")
    (let ((plist (disassemble-omn omn)))
      (setf (getf plist :articulation)
            (pattern-map map (getf plist :length) :otherwise otherwise :swallow t))
      (apply 'make-omn plist))))

#| USAGE
(setf mat '((q c4 p d4 e e4 f4 s g4 f a4 g4 f4 q e4)
            (e d4 mp c4 s d4 e4 f4 e4 q d4 e c4 b3)
            (h a3 f -h)))

(setf prules '(((s s s) (leg leg leg))
               ((s s) (leg leg))
               ((s e) (- -))
               ((s q) (- stacc))
               ((q) (stacc))
               ((e) (-))))

(setf out (articulation-map-omn prules mat))
|#

SB.

Share this post


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.

Guest
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.

Sign in to follow this  

×
×
  • Create New...