Producers found the tracked plugins jumpy: the shared tracker switched notes
after 10 ms and retuned every 5 ms, so growls and formant basses flickered
and every tracked plugin acted on wrong notes.
Shared tracker (common-dsp):
- A new note needs a steady read for 40 ms; an octave down 80 ms, an octave
up 200 ms (an octave-up read still fits the note's period and counts as
agreeing). Inside a note the tuning only moves past a 0.25 semitone
deadband. Follow bends keeps the old fast behaviour as an option.
- A trust score turns the note unsure while reads disagree; Tracker::active
and NoteState report it, and Fallback latches "step back" across note ends.
- Notes end when the window start stays below the gate's release level for
20 ms, so short gaps between notes are seen without waiting for the gate.
- PitchSource replaces the old (midi, gate, glide) arguments: Audio, MIDI or
Note mode (a set note, no detection), plus a key lock (minor, major, root
only) that snaps reads to the key.
- stems.rs: synthetic stems (growls, wobble, reese, formant, 808 slide,
layered drop, noise riser) and a score; examples/tracker_report scores the
corpus or real WAV stems. On the corpus the old behaviour makes up to 28
extra note starts per second; the stable default makes none.
Plugins:
- Anvil, Lathe, Temper, Knurl, Planish, Braze and Forge gain the NOTE pitch
source, the key lock and Follow bends (shared common-params crate and a
shared header switch in common-ui).
- Unsure tracking: Anvil brings the original sub back in place of the sine,
Lathe passes the audio through, Knurl fades its texture out; Temper,
Planish and Braze hold their last sure tuning. Readouts show the note only
when it is sure.
- Anvil gains Mode: Replace or Enhance (keeps the original sub and adds the
sine under it).
- Planish slides its band edges over 6 ms on a new note instead of snapping.
- Ballast defaults to Grid parts, which need no tracking.
Upward and downward compression in four bands whose edges are harmonic
numbers of the tracked note (default 1, 2-4, 5-16, 17 and up), so the
same setting squashes the same harmonics on every note. A fixed-band
OTT puts harmonic 2 of F1 and of C2 in different bands.
- Three Linkwitz-Riley splits at sqrt(k(k+1)) x f0 with allpass
compensation; at Depth 0 the bands sum within 0.05 dB.
- Band level is the RMS over one period of the note, so heavy settings
do not ripple at f0: a 40 Hz sine at Drive +12 dB, Time 10 % gets no
harmonics above -110 dB.
- At Depth 100 % on a saw, harmonics 1-12 change by the same amount on
F1, C2 and G2 (within 0.2 dB).
- Depth, Drive (on the detector only), Upward, Downward, Time, a gain
per band; edges Low 1-8, Mid 2-16, High 3-48 with four splits.
- Pitch from audio with about 67 ms lookahead, or from MIDI.
- Editor: harmonic ruler with draggable edges, level and gain per band.
- Catalog, workflows, editor-check, docs, signal chain and site copy.