Files
bass-foundry/docs/knurl
nvrl 340ff13342
Check and Windows preview / check (anvil) (push) Successful in 2m22s
Check and Windows preview / check (crucible) (push) Successful in 1m55s
Check and Windows preview / check (knurl) (push) Successful in 1m42s
Check and Windows preview / check (lathe) (push) Successful in 1m41s
Check and Windows preview / check (patina) (push) Successful in 2m43s
Check and Windows preview / check (planish) (push) Successful in 2m20s
Check and Windows preview / check (rivet) (push) Successful in 1m42s
Check and Windows preview / check (temper) (push) Successful in 1m39s
Check and Windows preview / check (weld) (push) Successful in 2m40s
Check and Windows preview / previews (push) Successful in 1m37s
Check and Windows preview / windows (push) Successful in 2m34s
Independent plugin release / publish (push) Successful in 9s
Independent plugin release / plan (push) Successful in 7s
Independent plugin release / build (push) Successful in 3m8s
chore: release Crucible 0.3.0, Patina 0.4.0 and Planish 0.1.0
- Crucible 0.3.0: Keep takes.
- Patina 0.4.0: Tone guard and the Bass line preset.
- Planish 0.1.0 is already at its first version.
- Update the current version in every plugin guide; several still named an
  older release.
2026-11-06 12:58:53 +01:00
..

Knurl

Knurl gives every cycle of the note its own level, timing and grit. Current version 0.2.0.

Knurling presses a ridged pattern into metal. Riddim and dubstep basses get their character the same way, from surface texture: rattle, growl, fry, grit. Usually that texture comes from long chains of distortion, comb filters, formants and resampling, and it changes from note to note. Knurl works on single cycles of the wave instead. It follows the played note and treats each cycle on its own, and every amount is counted in cycles, not in Hz or tempo. So the texture has the same grain on F1 and on C2.

Knurl

Install on Windows

Copy Knurl.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 Knurl 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 Knurl tracks; the scope overlays the last eight cycles of the output, so the texture is visible cycle by cycle.
  2. Choose a Pattern. The pattern sets the level of each cycle and repeats:
    • Double (0, −9 dB): every second cycle quieter. This makes a sub-octave growl, exactly in tune, about 8 dB under the fundamental.
    • Triple (0, −12, −12 dB): a growl an octave and a fifth down.
    • Fry (0, −14, −5, −14 dB, the default): an uneven vocal-fry rattle.
    • Gallop and Stutter: rhythmic patterns over six and eight cycles.
    • Off: every cycle at full level.
  3. Draw your own pattern on the bars: drag a bar to set the level of that cycle, double-click to reset it. Steps sets the length (1–16 cycles).
  4. Add surface:
    • Level gives every cycle a random level (standard deviation in dB).
    • Time moves every cycle a little in time (percent of a period): rattle and scrape.
    • Grit adds a short noise burst inside every cycle. Tone sets its lowest frequency in harmonics of the note, Position where in the cycle it sits, and Length how long it is. The squares under the pattern bars switch the burst per step.
  5. Edge sets how soft each step change is. Low values are sharper and buzzier; high values smoother.

Random: Same every note (default) restarts every random sequence at each note, so identical notes sound identical, which keeps a riddim line tight. Free lets the sequences run on, so every note differs.

Mix blends with the delayed dry signal; Output trims the level.

Pitch from MIDI

For basses whose fundamental is unclear (heavy FM, formant or noise patches), select MIDI and route the bass's MIDI notes to Knurl. In FL Studio, set the bass channel's MIDI output port and Knurl'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 (turn it off for slides).

Timing and limits

Knurl delays the audio by about 71 ms: 67 ms of pitch-detection lookahead plus 4 ms of room for the timing jitter. The delay is reported to the host for delay compensation, so the cycle clock knows every note before its attack leaves the plugin. The cycle clock restarts at every note start, so the pattern always begins with step 1 on the attack. Pitch range is 30–500 Hz, one note at a time. Between notes the effects fade out over 20 ms, so tails stay clean.

Knurl works per cycle of the tracked pitch; it does not look for cycle borders in the waveform. With a stable pitch that is the same thing. With heavy pitch modulation inside a note the pattern follows the tracked pitch, which can lag a fast bend. Both channels get the same treatment, so the effect is mono-safe.

Knurl's patterns put a real sub-octave into the signal. A pitch detector after Knurl (Anvil, Lathe or Temper in Audio mode) then reads notes from C2 upwards an octave too low. Put Knurl after the other tracked plugins, or use MIDI as their source. See Signal chain.

How it works

A note tracker (shared with Anvil, Lathe and Temper) detects pitch and note starts ahead of the delayed audio. A cycle clock starts at 0 on every note and advances by f0 / sample rate. Each cycle gets its step gain and its random level and time offset from a hash of the cycle number, so the result is deterministic. Step changes are raised-cosine crossfades over the last Edge of a cycle; level jitter crossfades over half a cycle and time jitter over the whole cycle, read from the delay line with cubic interpolation. The grit is white noise through a state-variable highpass at Tone × f0, shaped by a sin² window and scaled to the input level. There is no nonlinearity, so no oversampling is needed.