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

    Type Alias ArrangementOptions

    Options controlling analyzeArrangement and tensionCurve.

    type ArrangementOptions = {
        key?: KeyLike;
        keys?: KeyRegion[];
        timeline?: ChordTimeline;
        harmonyTracks?: number[];
        minSeverity?: NoteSafety;
        ts?: MeterLike;
        meters?: MeterLike;
        pickupBeats?: number;
        harmonicRhythm?: number;
        profile?: SafetyProfile;
        budget?: number;
    }
    Index
    key?: KeyLike

    A single key held across the whole arrangement. Omit it, and keys with it, to have the key searched for over time so a modulating piece is read against the key actually in force.

    Taken in whatever form the caller holds a key, and kept whole: the region built from it carries the spelling and the scale form it was named with.

    keys?: KeyRegion[]

    Key regions to judge against, when a previous pass already worked them out. Takes precedence over key; supplying both is answering the same question twice, and the more specific answer wins.

    timeline?: ChordTimeline

    A chord timeline to analyse against, instead of inferring one from the notes. Supply it to analyse a hand-written progression, or to reuse the timeline of an earlier call rather than re-running chord inference.

    harmonyTracks?: number[]

    Indices of the tracks the harmony is inferred from. Defaults to every pitched track. Percussion tracks are excluded either way. An index naming no track is an input error rather than one that matches nothing.

    minSeverity?: NoteSafety

    Lowest severity reported in conflicts.

    NoteSafety.Warning

    A single time signature held across the whole arrangement, as sugar for a one-element meters; defaults to 4/4. Giving both is an input error.

    4/4

    meters?: MeterLike

    The meter as it changes over the arrangement. Bar lines, downbeats and metric weight all follow the signature in force at the beat in question.

    4/4 throughout
    
    pickupBeats?: number

    Length of the pickup in beats, when the piece starts with one.

    The first downbeat is beat 0, so an upbeat is written at negative beats. Declaring its length rejects a note that starts before the pickup does; leave it unset to accept any finite onset.

    no declared pickup
    
    harmonicRhythm?: number

    Expected chord length in beats; defaults to the length of the opening bar.

    A prior rather than a grid: the arrangement analysis infers its harmony with dynamic segmentation, where the longer a chord is expected to last the more evidence a change needs before the search will place one. A chord may still begin at any position the notes argue for. Supply timeline to analyse against boundaries you have fixed yourself.

    the length of the opening bar
    
    profile?: SafetyProfile

    Safety profile used for conflict detection; defaults to pop.

    'pop'

    budget?: number

    Upper bound on the work this call may do — note counts, windows, and candidate counts are each checked against it before anything is allocated.

    Raise it to analyse a piece larger than the default allows; the default is DEFAULT_GENERATION_BUDGET, chosen so a runaway input fails fast rather than blocking the thread.