Files
bass-foundry/tools/editor-check/Cargo.toml
T
nvrl c06d193b18 feat(planish): add Planish harmonic OTT
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.
2026-11-06 12:51:49 +01:00

32 lines
1.2 KiB
TOML

[package]
name = "editor-check"
version = "0.1.0"
edition = "2021"
publish = false
[workspace]
[dependencies]
egui = "0.31.1"
image = { version = "0.25", default-features = false, features = ["png"] }
rivet-app = { path = "../../plugins/rivet/app" }
rivet-core = { path = "../../plugins/rivet/core" }
rivet-midi = { path = "../../plugins/rivet/midi" }
patina-core = { path = "../../plugins/patina/core" }
patina-ui = { path = "../../plugins/patina/ui" }
anvil-core = { path = "../../plugins/anvil/core" }
anvil-ui = { path = "../../plugins/anvil/ui" }
common-dsp = { path = "../../plugins/common/dsp" }
crucible-core = { path = "../../plugins/crucible/core" }
crucible-ui = { path = "../../plugins/crucible/ui" }
lathe-core = { path = "../../plugins/lathe/core" }
lathe-ui = { path = "../../plugins/lathe/ui" }
temper-core = { path = "../../plugins/temper/core" }
temper-ui = { path = "../../plugins/temper/ui" }
knurl-core = { path = "../../plugins/knurl/core" }
knurl-ui = { path = "../../plugins/knurl/ui" }
planish-core = { path = "../../plugins/planish/core" }
planish-ui = { path = "../../plugins/planish/ui" }
weld-core = { path = "../../plugins/weld/core" }
weld-ui = { path = "../../plugins/weld/ui" }