Articulation, dynamics, performance indications, and note-heads

Articulation, dynamics, slurs, and performance indications, as well as note-head styles, for both CMN and LilyPond output, can be attached to the musical data generated by slippery chicken in two ways. The first method is to specify the desired marks using the :marks keyword when defining the rthm-seq-palette within a call to the make-slippery-chicken function (see the page on rthm-seq-palettes and rthm-seq-maps for more detail). This attaches the given marks directly to the marks slot of the corresponding rthm-seq object. That is the method that will be introduced on this page.

The second method is to add the marks after the slippery-chicken object has been generated. That approach is covered on the page for post-generation editing techniques. Some marks, such as LilyPond trills, can only be added using this second method.

+ Adding marks, performance indications, and dynamics via :marks

Articulation, dynamics and some performance indications can be attached to individual rhythm objects by enclosing them within the definitions of the rthm-seq objects of the rthm-seq-palette. This is done using the :marks keyword followed by a list. (Also see the User Guide page on the rthm-seq object.)

:marks (a 1 s 3 slur 5 6 dim-beg 9 dim-end 13)

The list indicates the mark to be added, such as a for an accent or s for staccato, followed by an index number or numbers (counting from 1) for the specific rhythm object within the rthm-seq to which the mark is to be attached. The indication (a 1 s 3), therefore, results in an accent being attached to the first rhythm item of the rthm-seq and a staccato dot being attached to the third. Slurs are indicated by two numerals, the first being the rhythm item where the slur begins, and the second the rhythm item where it ends. Separate marks are included sequentially in the same list separated only by a space.

When two numbers follow a mark indication, the mark is attached to all rhythm objects from the position in the rthm-seq indicated by the first number to the position indicated by the second. Thus (a 1 4) attaches an accent to rhythm items 1, 2, 3 and 4 of the sequence. When more than two numbers follow the mark indication, the mark is only attached to those individual rhythm items. Thus (a 1 3 5) attaches an accent to rhythm objects 1, 3 and 5 of the given rthm-seq.

User-defined performance indications can be added to any note by placing the desired text in quotation marks:

:marks ("etwas rascher" 1)

Dynamics can be attached in the same way.

:marks (ppp 1 cresc-beg 2 cresc-end 4 fff 5)

Any kind of mark can be interspersed with other marks and note-head indications in the same list.

:marks (ppp 1 a 1 3 5 s 2 "like a whisper" 4 slur 6 7 slash 3 8)

Indications for slurs and phrase markings can be given in two ways. The first way is to attach the beg-sl and end-sl or beg-phrase and end-phrase marks to the corresponding rhythms:

:marks (beg-sl 1 end-sl 2 beg-sl 5 end-sl 6 beg-phrase 1 end-phrase 8)

Alternatively, these two items can be added by using the marks slur and phrase followed by the starting and ending rhythm:

:marks (slur 1 2 slur 5 6 phrase 1 8)

When adding marks that require a beginning and ending indication via the :marks slot, including the beg-sl and end-sl version of slurs or the beg-phrase and end-phrase version of phrase markings, the user should always include both the beg- and end- versions of the mark in the same rthm-seq to avoid errors or unwanted artifacts in the score. To add marks whose beginning and end points lie in separate sequences, use post-generation editing methods instead.

It is important to note that marks are attached to rhythm objects of the rthm-seq, and not to items in the pitch-seq of the pitch-seq-palette. Two tied rhythmic values are counted as separate items. This means that marks can be attached to notes that are tied from the previous note.

Marks that are attached via the marks slot will appear in the score whenever that rthm-seq occurs, with no consideration for the instrument or combination of instruments playing. For this reason, the user may wish to add some marks, such as dynamics, by using the post-generation editing methods instead.

Only dynamic marks will affect MIDI output.

Marks and dynamics that can be attached to rhythm objects using the :marks keyword are found in the tables of marks below. It is important to note that some marks are only available for CMN or LilyPond. These are pointed out in the tables.

close

+ Changing note-heads via :marks

The marks slot can also be used to change the note heads of one or more notes in a rthm-seq. This is done using the same syntax as for the articulations, dynamics, and performance indications.

:marks (x-head 1 slash 5)

An entire passage can be changed to a different note-head by following the name of the note-head with two numbers.

:marks (slash 1 8)

As stated above, note-head marks can be interspersed with any other type of mark in the same list.

:marks (ppp 1 a 1 3 5 s 2 "like a whisper" 4 slur 6 7 slash 3 8)

The types of note-heads available can be found in the tables of marks below. As with the other marks and dynamics, some note-head types are only available to CMN or LilyPond.

close

+ LilyPond arrows

LilyPond has an additional option for placing horizontal arrows above a player's staff in the score. This is done in post-generation editing using the add-arrow-to-events method.

The add-arrow-to-events method takes as its arguments a slippery-chicken object, the text to be placed at the beginning and end of the arrow, both as strings, followed by references to the bars and notes where the arrow is to start and end, and the player. If no text is desired for either the start or end of the arrow, the user must enter a single space as a string (" "), rather than an empty string (""). The bar and note references are each specified as two-item lists, with the first item being the bar number and the second item being the index of the note-event in the bar. (NB: The note-event index counts both notes and rests and starts at 1.) The player must be specified exactly as it is defined in the ensemble block.

(let ((mini
       (make-slippery-chicken
        '+mini+
        :title "mini"
        :instrument-palette +slippery-chicken-standard-instrument-palette+
        :ensemble '(((vn (violin :midi-channel 1))))
        :tempo-map '((1 (q 60)))
        :set-palette '((1 ((c4 d4 e4 f4 g4 a4 b4 c5))))
        :set-map '((1 (1 1 1)))
        :rthm-seq-palette '((1 ((((4 4) - e e e e - - e e e e -))
                                :pitch-seq-palette ((1 2 3 4 5 6 7 8)))))  
        :rthm-seq-map '((1 ((vn (1 1 1))))))))
  (add-arrow-to-events +mini+ "start" "end" '(1 5) '(3 4) 'vn )
  (write-lp-data-for-all mini :base-path "/tmp/"))
marks-lp-arrow.png

close

+ LilyPond marks that use graphics files

A number of marks available in slippery chicken are attached to the data of a slippery-chicken object by using specially designed graphics files in conjunction with LilyPond. This is done by setting the :use-custom-markup argument of the write-lp-data-for-all method to T and placing the names of these marks in the :marks slot of the given rthm-seq object.

The LilyPond graphics files required for this can be obtained from the other files page. The individual .eps files in the downloaded archive must be placed in the same directory as the .ly files that are to be processed. Once this is done, using LilyPond.app (on Mac) or LilyPad.exe (on Windows) to generate the PDFs of the given .ly file will automatically access the .eps files and insert them into the score. If using lilypond on Linux, or running lilypond from the command line on a Mac, the user must be sure to also cd to the directory where the .eps and .ly files are located before running the program.

The LilyPond marks currently available that require graphics are:

aeolian-dark aeolian-dark.png
aeolian-light aeolian-light.png
bracket-end bracket-end.png
mphonic-arr multiphonic-arrow.png
mphonic-cluster multiphonic-cluster.png
mphonic-cons multiphonic-consonant.png
mphonic-diss multiphonic-dissonant.png
sing sing.png
sing-arr sing-arrow.png
arrow-up-down up-down.png

These can be used as follows:

(let ((mini
       (make-slippery-chicken
        '+mini+
        :title "mini"
        :instrument-palette +slippery-chicken-standard-instrument-palette+
        :ensemble '(((fl (flute :midi-channel 1))))
        :tempo-map '((1 (q 60)))
        :set-palette '((1 ((c4 d4 e4 f4 g4 a4 b4 c5))))
        :set-map '((1 (1)))
        :rthm-seq-palette '((1 ((((4 4) h. (q))
                                 ((q) h.)
                                 ((e) e (q) - e e e e -))
                                :pitch-seq-palette ((1 2 3 4 5 6 7))
                                :marks (aeolian-dark 1 mphonic-arr 2
                                                     arrow-up-down 3
                                                     bracket-end 7))))
        :rthm-seq-map '((1 ((fl (1))))))))
  (write-lp-data-for-all mini :base-path "/tmp/" :use-custom-markup t))
marks-lp-graphics.png

close

+ Fingerings

Due to the manner by which the :marks keyword argument is parsed, fingerings can only be added using post-generation editing. Numbers can be assigned to the marks slot using the add-mark-to-note method, as seen here:

(add-mark-to-note mini 1 2 'vn 1)
(add-mark-to-note mini 1 3 'vn 2)

close

Tables of marks

+ Articulation and performance indications

mark :mark symbol
accent a marks-a.png
accented staccato as marks-as.png
accented tenuto at marks-at.png
arco arco marks-arco.png
bartok pizzicato (see note) bartok marks-bartok.png
battuto abbrev. batt marks-batt.png
col legno col-legno marks-col-legno.png
col legno abbrev. cl marks-cl.png
col legno battuto abbrev. clb marks-clb.png
col legno tratto abbrev. clt marks-clt.png
crescendo begin cresc-beg marks-cresc.png
crescendo end cresc-end
diminuendo begin dim-beg marks-decresc.png
diminuendo end dim-end
fermata pause marks-pause.png
glissando begin (see note) beg-gliss marks-gliss.png
glissando end (see note) end-gliss
left-handed pizzicato lhp marks-lhp.png
molto vibrato mv marks-mv.png
natural harmonic harm marks-harm.png
open note open marks-open.png
ordinario ord marks-ord.png
ottava begin (see note) beg-8va marks-8va.png
ottava end end-8va
ottava bassa begin (see note) beg-8vb marks-8vb.png
ottava bassa end end-8vb
phrase mark begin beg-phrase marks-phrase.png
phrase mark end end-phrase
pizzicato pizz marks-pizz.png
pizzicato in parentheses pizzp marks-pizzp.png
poco crini poco-crini marks-poco-crini.png
senza vibrato sv marks-sv.png
short pause (see note) short-pause marks-short-pause.png
slur begin beg-sl marks-slur.png
slur end end-sl
staccato s marks-s.png
string indications I,II,III,IV marks-strings.png
sul ponticello abbrev. sp marks-sp.png
sustain pedal down ped marks-ped.png
sustain pedal change ped^ marks-ped-change.png
sustain pedal up ped-up marks-ped-up.png
tenuto te marks-te.png
tenuto-staccato ts marks-ts.png
tre corda (see note) tc marks-tc.png
tremolo (3 slashes through stem) t3 marks-t3.png
una corda uc marks-uc.png

CMN-only articulation and performance indications
mark :mark symbol
additional CMN string indications I-II, I-II-III, II-III, III-IV marks-i-ii.png marks-i-ii-iii.png marks-ii-iii.png marks-iii-iv.png
fingernail nail marks-nail.png
stopped note stopped marks-stopped.png
trill with flat accidental (see note) trill-f marks-trill-f.png
trill with natural accidental (see note) trill-n marks-trill-n.png
trill with sharp accidental (see note) trill-s marks-trill-s.png

LilyPond-only articulation and performance indications
mark :mark symbol
hairpin with circled tip for niente (see note) hairpin0 marks-hairpin0.png

Notes on articulation and performance indications

close

+ Dynamics

mark :mark symbol
pppp pppp marks-pppp.png
ppp ppp marks-ppp.png
pp pp marks-pp.png
p p marks-p.png
mp mp marks-mp.png
mf mf marks-mf.png
f f marks-f.png
ff ff marks-ff.png
fff fff marks-fff.png
ffff ffff marks-ffff.png

CMN-only dynamics
mark :mark symbol
pppp in parentheses pppp-p marks-pppp-p.png
ppp in parentheses ppp-p marks-ppp-p.png
pp in parentheses pp-p marks-pp-p.png
p in parentheses p-p marks-p-p.png
mp in parentheses mp-p marks-mp-p.png
mf in parentheses mf-p marks-mf-p.png
f in parentheses f-p marks-f-p.png
ff in parentheses ff-p marks-ff-p.png
fff in parentheses fff-p marks-fff-p.png
ffff in parentheses ffff-p marks-ffff-p.png

close

+ Note-heads

mark :mark symbol
circled x circled-x marks-marks-circled-x.png
flageolet notehead (see note) flag-head marks-marks-flag-head.png
upwards pointing triangle triangle-up marks-marks-triangle-up.png
x x-head marks-marks-x-head.png

CMN-only note-heads
mark :mark symbol
airy notehead airy-head marks-marks-airy-head.png
downward-pointing arrow arrow-down marks-marks-arrow-down.png
upward-pointing arrow arrow-up marks-marks-arrow-up.png
slash slash marks-marks-slash.png
square square marks-marks-square.png
no notehead none marks-marks-none.png

LilyPond-only note-heads
mark :mark symbol
triangle pointing right triangle marks-marks-triangle.png

Notes on note-heads

close