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.
98 lines
4.9 KiB
Markdown
98 lines
4.9 KiB
Markdown
# Planish
|
||
|
||
Planish is upward and downward compression (OTT) in four bands whose edges are
|
||
harmonic numbers of the played note. Current version **0.1.0**.
|
||
|
||
Planishing hammers a metal surface smooth and even. OTT does the same to a bass:
|
||
it pushes loud bands down and lifts quiet ones, and it is on almost every riddim
|
||
patch. A normal OTT splits the bands at fixed frequencies, though. A split at
|
||
88 Hz and 2.5 kHz puts harmonic 2 of F1 in the low band but harmonic 2 of C2 in
|
||
the mid band, so the same setting squashes different harmonics on every note.
|
||
Planish moves its band edges with the note: with the default split, band 1 is
|
||
the fundamental, band 2 harmonics 2–4, band 3 harmonics 5–16 and band 4
|
||
everything above, on F1 as on G2.
|
||
|
||

|
||
|
||
## Install on Windows
|
||
|
||
Copy `Planish.clap` into `C:\Program Files\Common Files\CLAP\`. In FL Studio
|
||
2024.1 or newer, open Options → Manage plugins, enable Verify plugins, and Find
|
||
installed plugins. Load Planish in a mixer slot of the bass. Keep the font
|
||
license with redistributed packages.
|
||
|
||
## Work with it
|
||
|
||
1. Play the bass. The note readout shows what Planish tracks. The ruler at the
|
||
top shows harmonics 1–64 and the four bands; the columns below show each
|
||
band's level (steel) and gain (pink for a cut, blue for a lift).
|
||
2. Choose a split, or drag an edge on the ruler:
|
||
- **Classic** (1, 2–4, 5–16, 17+, the default): fundamental on its own.
|
||
- **Sub + body** (1–2, 3–6, 7–24, 25+): the octave stays with the sub.
|
||
- **Tight** (1, 2, 3–8, 9+): close control of the first harmonics.
|
||
- **Wide top** (1, 2–3, 4–32, 33+): one big mid band, the top is fizz only.
|
||
3. Set the amount:
|
||
- **Depth** blends each band with its compressed copy. 0 % is a clean sum
|
||
of the bands; the default is 50 %.
|
||
- **Drive** moves the band levels against the thresholds: more drive, more
|
||
squash. It does not change the level by itself.
|
||
- **Upward** and **Downward** scale the two directions. Downward pushes a
|
||
band above −30 dB down at about 20:1; Upward lifts a band below −42 dB at
|
||
about 4:1, by at most 24 dB.
|
||
- **Time** scales every attack and release. Lower bands are slower: at
|
||
100 %, attack is 30, 15, 8 and 4 ms and release 200, 160, 120 and 90 ms
|
||
from band 1 to band 4.
|
||
4. **Band 1–4** set each band's gain after its compressor. Like the
|
||
compression, they are scaled by Depth.
|
||
|
||
**Output** trims the level. **Bypass** crossfades to the delayed dry signal.
|
||
|
||
### Pitch from MIDI
|
||
|
||
For basses whose fundamental is unclear (heavy FM, formant or noise patches),
|
||
and when Planish comes after Knurl, select **MIDI** and route the bass's MIDI
|
||
notes to Planish. In FL Studio, set the bass channel's MIDI output port and
|
||
Planish's input port to the same number. **Gate** sets the input level that
|
||
counts as a note in AUDIO mode. **Snap to semitone** rounds the detected pitch;
|
||
it is off by default, because the level is measured over one period of the
|
||
pitch in use, and a detuned patch fits its real period better.
|
||
|
||
## Measured
|
||
|
||
- At Depth 0 the bands sum flat: sines from 35 Hz to 12 kHz come out within
|
||
0.05 dB.
|
||
- The same setting changes the same harmonics on every note. At Depth 100 %
|
||
on a saw bass, harmonic 1 is cut by 13.6 dB on F1, C2 and G2; harmonics 1–12
|
||
differ by less than 0.2 dB between the three notes.
|
||
- No ripple at the fundamental. A 40 Hz sine at Drive +12 dB and Time 10 % gets
|
||
no harmonics above −110 dB.
|
||
|
||
## Timing and limits
|
||
|
||
Planish delays the audio by about 67 ms of pitch-detection lookahead and
|
||
reports it to the host for delay compensation, so the edges are on the new note
|
||
when its attack leaves the plugin. Pitch range is 30–500 Hz, one note at a time.
|
||
Before the first note the edges sit on 55 Hz; between notes they hold the last
|
||
note.
|
||
|
||
An edge is a slope, not a wall. The crossovers are 24 dB per octave, so the
|
||
harmonics next to an edge partly reach the next band, by the same amount on
|
||
every note. Both channels get the same gain per band, so the stereo image does
|
||
not move. Quiet signals below about −84 dB are not lifted, so noise floors and
|
||
tails stay down.
|
||
|
||
Planish detects the pitch like Lathe and Temper. Put it before Knurl, or use
|
||
MIDI: see [Signal chain](../chain.md).
|
||
|
||
## How it works
|
||
|
||
A note tracker (shared with Anvil, Lathe, Temper and Knurl) detects pitch and
|
||
note starts ahead of the delayed audio. Three Linkwitz–Riley crossovers split
|
||
the signal at √(k(k+1)) × f0, halfway in log frequency between harmonic k and
|
||
k+1, and allpasses keep the lower bands in phase with the upper ones, so the
|
||
bands sum to an allpass. The crossovers retune every 16 samples and glide with
|
||
**Smooth** on bends. Each band's level is the RMS over exactly one period of
|
||
the note, so a steady note gives a steady level and the gain does not wobble
|
||
at f0. The level goes through attack and release smoothing, then a static
|
||
curve with an upward and a downward threshold sets the gain.
|