mwg API
    Preparing search index...

    Class LiteHumanizer

    Tier 1: every note gets a seeded gaussian nudge plus a slow correlated drift, and nothing else. No grid, no model, no I/O - which is exactly why it is the tier a shipped game can afford to call, and why it has to refuse a groove template rather than quietly ignore one: a template passed here is a caller who picked the wrong tier.

    import { parseMidi, LiteHumanizer } from '@datamoc/mwg/audio';

    declare const midiBytes: ArrayBuffer;

    const file = parseMidi(midiBytes);
    const humanized = await new LiteHumanizer().process(file, {
    intensity: 0.6,
    timingVarianceMs: 6,
    seed: 42, // the same seed gives back the same performance every time
    });

    Implements

    Index
    approximateSizeMb: 0.05

    roughly what the tier costs a bundle, in megabytes: lite is code, magenta is a model

    tierName: "lite" = 'lite'

    the tier this engine implements, as HumanizerFactory.create spells it