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

Tables of marks

+ Articulation and performance indications

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

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

Notes on articulation and performance indications

close

+ Dynamics

mark :mark
pppp pppp
ppp ppp
pp pp
p p
mp mp
mf mf
f f
ff ff
fff fff
ffff ffff

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

close

+ Note-heads

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

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

LilyPond-only note-heads
triangle pointing right triangle

Notes on note-heads

close