Percussion instruments appearing on the same staff can be assigned notes and voices. The percussion instrument ID is then specified instead of a pitch to place a note in the proper location.
To set up a group of percussion instruments for a part, you must create an inst
object
that contains one or more percinst
objects. The following example shows a simple setup using the
perc-note
setting in each percussion definition to assign to it a specific note on the staff.
Percussion instruments are defined separately and are included in the ‘pinst’ instrument by referencing their IDs.
// percussion instruments percinst <id wb1, perc-note a3> percinst <id wb2, perc-note e4> // group the two woodblocks into one instrument // based off of the built-in `percussion' instrument inst <id myperc, template percussion, percinsts (wb1 wb2)> // parts part <id perc, inst myperc> // events part perc duration 1/2 time 0 pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; |
|
Figure 6.57: High/Low Woodblocks
The percussion instrument definitions are changed in this example so that the woodblocks are notated in separate voices.
// percussion instruments percinst <id wb1, perc-note a3, perc-voice 2> percinst <id wb2, perc-note e4, perc-voice 1> // group the two woodblocks into one instrument // based off of the built-in `percussion' instrument inst <id myperc, template percussion, percinsts (wb1 wb2)> // parts part <id perc, inst myperc> // events part perc duration 1/2 time 0 pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; |
|
Figure 6.58: Percussion with Voice Assignments
The following uses inlined percinst
and inst
definitions but is otherwise equivalent to the example above:
// parts with inlined instruments and percussion instruments part <id perc, inst <template percussion, percinsts (<id "wb1" perc-note a3, perc-voice 2> <id "wb2" perc-note e4, perc-voice 1>)>> // events part perc duration 1/2 time 0 pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb1 ; time + pitch wb1 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; time + pitch wb2 ; |
|
Figure 6.59: Inlined Percussion and Instrument Definitions
If perc-name
is set inside a percussion instrument definition, FOMUS places this name above the staff whenever there
is a change from one percussion instrument to another.
// percussion instruments percinst <id bdr, perc-note c4, perc-name "B. Drum"> percinst <id cym, perc-note c4, perc-name "Cymbal"> // group the two woodblocks into one instrument // based off of the built-in `percussion' instrument inst <id myperc, template percussion, percinsts (bdr cym)> // parts part <id perc, inst myperc> // events part perc duration 1 time 0 pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch cym ; time + pitch cym ; time + pitch cym ; time + pitch cym ; time + pitch cym ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; time + pitch bdr ; |
|
Figure 6.60: Percussion Changes
If you find yourself reusing the same percussion instrument definitions in multiple files, you could insert something resembling the following in your .fomus file located in your home directory (make sure you use ‘+=’ instead of ‘=’ to append the values to FOMUS's default list).
percinst-defs += (<id cym, perc-note c4, perc-name "Cymbal"> <id bdr, perc-note c4, perc-name "B. Drum">)
All of FOMUS's built-in percussion instruments are contained in the file fomus.conf
, which is located in /install_prefix/shared/
(install_prefix is most likely /usr/local or /usr).