@libraz/libcantus - v1.1.0
    Preparing search index...

    Variable ARTICULATIONSConst

    ARTICULATIONS: readonly [
        "accent",
        "ghost",
        "staccato",
        "legato",
        "slide",
        "hammer",
        "mute",
        "flam",
        "drag",
        "roll",
        "choke",
        "open",
    ] = ...

    Every playing technique a note can carry, in declaration order.

    These name intent, not a rendering: how flam becomes a grace stroke or slide becomes pitch bend is the caller's decision, because it depends on the sampler, key switches, and controller layout in use. Carrying the intent instead of a baked note pair is what lets any phrase be flammed, ghosted, or muted without the generator having to know how it will be voiced.