Description:
Restricts where metric accents occur depending on the note onsets defined in an 'accents voice'. If an accent occurs, then it is on the position defined.
Args:
voices (int or list of ints): The numbers of voice(s) to constrain.
accent-rule (menu item or function): A function returning true if an accent is expressed and nil otherwise. The function expects one of more arguments, all in the form (dur offs), where dur is the duration of a note and offs is the offset to the following accent (i.e. the duration until the following accent). Example: '(1/4 -1/8). A note is 'on' the accent if its offset = 0.
Some accent rules are predefined and can be simply selected in the menu of the argument. Other predefined accent rules expect additional arguments controlling their effect. These are available under the Cluster Rules sub menu rhythm - accent rules.
strictness: Controls how events are constrained. There are three different cases.
:note: if an event meets the accent-rule, then it must be on accented position (there is a simultaneous note onset in the accent-voice). However, there can be such accented positions without notes meeting the accent-rule.
:position: if an event is on an accented position then it must meet the accent-rule. However, there can be accentuated notes at other positions. Also, if a note continues sounding at the accented position that started earlier then no accent at that position can be enforced (because only notes in voices are checked, not in accents-voice).
:note-n-position: if an event meets the accent-rule, then it must be on a specified accented position -- and vice versa.
Optional args:
accents-voice: the number of the voice that defines accents. Each note onset in accents-voice is taken as an accent for the given voices.
Other arguments are inherited from r-rhythm-rhythm.
|