Jump to content

Constructing and deconstructing scores


Recommended Posts

The functions omn and make-omn are powerful tools to construct and deconstruct scores of multiple parameters. However, beyond the parameter keywords that are well-documented (:length, :pitch, :velocity, and :articulation) it seems there are other keywords that represent important parameters of the score that should not be omitted (e.g., when we are transforming scores, and do not want to loose important characteristics).

 

Here is an example. When the following melodic line is deconstructed, then beyond the well-documented parameter keywords it also shows the parameters :duration and :leg. If the :leg parameter would be omitted in the construction of the (possibly transformed) score, then all legato information would be stripped from the original music.

 

(omn nil '((-3h fs4 pp leg g4 leg) (h a4) (-q cs5 mp< ord) (q c5 f stacc -) (-5h - c5 pp leg e5 < leg f5 < leg) (h gs4 pp)))

 

(:length ((-1/6 1/6 1/6) (1/2) (-1/4 1/4) (1/4 -1/4) (-1/10 -1/10 1/10 1/10 1/10) (1/2)) 
 :pitch ((fs4 g4) (a4) (cs5) (c5) (c5 e5 f5) (gs4)) 
 :velocity ((pp pp) (pp) (mp<) (f) (pp < <) (pp)) 
 :duration ((1/6 1/6) (1/2) (1/4) (1/4) (1/10 1/10 1/10) (1/2)) 
 :articulation ((- -) (-) (ord) (stacc) (- - -) (-)) 
 :leg ((2) (-) (-) (-) (3) (-)))

 

Now, my questions are as follows.

 

(1) Do there exist more than the two additional parameters :duration and :leg shown above? For example, have other special articulations their own OMN keywords?

 

(2) Where are all these parameters documented?

 

(3) Are these parameters stable, or will they possibly change in future?

 

Janusz, in your process-omn function we recently discussed, you used (omn-plist :attribute <my-sequence>) instead of (omn :articulation <my-sequence>). Should omn-plist perhaps be used instead for more stable transformation functions when deconstructing scores? If so, it would be helpful to have that function also documented :)

 

Thanks a lot! 

 

Best,

Torsten

Link to comment
Share on other sites

The OMN-PLIST and OMN-PROCESS function is not documented because is a not part of the release yet. (work in progress).

 I have created the new function in order to get all the attributes and articulations symbols into one list:

:leg
:ped :ped1 :half-ped :half-ped1 :sost-ped :sost-ped1 :una-corda :una-corda1
:15mb :15ma :8vb :8va
:kgliss-ch :kgliss :gliss4 :gliss3 :gliss2 :gliss

 

The OMN function will stay as it is for now.

The OMN-PLIST function has 5 types: length, pitch, velocity, duration and articulation.

The NIL will return all types.

(setf omn '((-3h fs4 pp leg g4 leg) (h a4) (-q cs5 mp< ord)
            (q c5 f stacc -) (-5h - c5 pp leg e5 < leg f5 < leg) (h gs4 pp)))

(omn-plist nil omn)
=> (:length ((-1/6 1/6 1/6) (1/2) (-1/4 1/4) (1/4 -1/4) (-1/10 -1/10 1/10 1/10 1/10) (1/2))
    :pitch ((fs4 g4) (a4) (cs5) (c5) (c5 e5 f5) (gs4))
    :velocity ((pp pp) (pp) (mp<) (f) (pp < <) (pp))
    :articulation ((leg leg) (-) (ord) (stacc) (leg leg leg) (-)))

 

grace-note will produce :duration parameters

(setf omn2 '((-3h fs4 pp leg g4 leg) (h a4) (-q cs5 mp< ord s c4 app e cs5)
            (q c5 f stacc -) (-5h - c5 pp leg e5 < leg f5 < leg) (h gs4 pp)))

(omn-plist nil omn2)
=> (:length ((-1/6 1/6 1/6) (1/2) (-1/4 1/4 0 1/8) (1/4 -1/4) (-1/10 -1/10 1/10 1/10 1/10) (1/2))
    :pitch ((fs4 g4) (a4) (cs5 c4 cs5) (c5) (c5 e5 f5) (gs4))
    :velocity ((pp pp) (pp) (mp< mf mf) (f) (pp < <) (pp))
    :duration ((1/6 1/6) (1/2) (1/4 1/16 1/8) (1/4) (1/10 1/10 1/10) (1/2))
    :articulation ((leg leg) (-) (ord app -) (stacc) (leg leg leg) (-)))

 

Test:

(setf plist (omn-plist nil omn))
(apply #'make-omn plist)
=> ((-3h fs4 pp leg g4 leg) (h a4 pp) (-q cs5 mp< ord)
    (q c5 f stacc -) (-5h - c5 pp leg e5 < leg f5 < leg) (h gs4 pp))

 

The OMN-PROCESS function still needs more work.

 

Link to comment
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.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy