Files
bass-foundry/docs/anvil
nvrl 444b9d93da
Check and Windows preview / check (anvil) (push) Successful in 2m11s
Check and Windows preview / check (crucible) (push) Successful in 1m43s
Check and Windows preview / check (knurl) (push) Successful in 1m37s
Check and Windows preview / check (lathe) (push) Successful in 1m39s
Check and Windows preview / check (patina) (push) Successful in 2m25s
Check and Windows preview / check (rivet) (push) Successful in 1m50s
Check and Windows preview / check (temper) (push) Successful in 1m45s
Check and Windows preview / check (weld) (push) Successful in 3m9s
Check and Windows preview / previews (push) Successful in 1m50s
Check and Windows preview / windows (push) Successful in 2m46s
Independent plugin release / publish (push) Successful in 9s
Independent plugin release / plan (push) Successful in 8s
Independent plugin release / build (push) Successful in 2m10s
feat!: change CLAP IDs to io.narl.bass-foundry.<product>, release all plugins
The io.storyboard.* IDs were a leftover from Motif Storyboard and named
old functions (motif, sub-anchor, layer-align) instead of the products.
Every plugin now uses io.narl.bass-foundry.<product>, and IDs are frozen
from here on, even across renames.

Hosts see the new IDs as different plugins: delete the old .clap files,
rescan, and add the plugins again in existing projects. Rivet session
JSON and Patina parameter IDs are unchanged.

- Rivet 0.5.0, Patina 0.3.0; Anvil, Crucible, Lathe, Temper, Weld and
  Knurl 0.2.0.
- Docs, changelogs and the release table describe the change.
- Website: upgrade note in the Install section.
2026-11-06 11:51:11 +01:00
..

Anvil

Anvil gives every bass note the same solid sub. Current version 0.1.0.

In riddim and dubstep, each switch-up patch brings its own sub: a different level, a different phase, sometimes two layers that cancel. The drop's weight jumps from note to note and the kick lands differently on each one. Anvil removes the original band below Split and puts a clean mono sine in its place. The sine follows the bass pitch, has the same peak level on every note, and starts at the same phase on every note.

Anvil

Install on Windows

Copy Anvil.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 Anvil in the mixer slot of the bass bus. Keep the font license with redistributed packages.

Work with it

  1. Put Anvil on the bass bus, after the sound design and before the bus compression or clipping.
  2. Set Split just above the sub. 80–100 Hz suits most riddim basses.
  3. Set Sub level once. Every patch on the bus now gets this level.
  4. Use Phase to line the start of each note up with your kick. With Retrigger on, every note starts at this phase.
  5. Turn on Solo sub to hear only the new sub; the scope shows the original low band (grey) against the new sub (accent).

Other controls:

  • Dynamics at 0 % holds the level for the whole note. Raise it to let the sub follow the original's volume shape, for example a wobble.
  • Drive adds upper harmonics so the sub reads on phones and laptops.
  • Octave moves the sub against the detected note. Use −1 for a bass played one octave up.
  • Glide slides between overlapping notes; 0 jumps.
  • Gate is the input level that counts as a note. Raise it if tails or reverb start new notes.
  • Keep blends some of the original low band back under the new sub.
  • Snap to semitone rounds detected pitch. Turn it off for pitch bends and slides.

Pitch from MIDI

Detection follows the audio by default. For heavy formant or FM basses where the fundamental is unclear, select MIDI and route the bass's MIDI notes to Anvil. In FL Studio, set the bass channel's MIDI output port and Anvil's input port to the same number, or duplicate the notes into a pattern on a channel that feeds Anvil.

Timing and limits

Detection uses 80 ms of lookahead, reported to the host for delay compensation, so each note's pitch is known before its attack leaves the plugin. Pitch range is 25–250 Hz, one voice: chords and layered notes in the sub band are not separated. Notes shorter than about 15 ms may not be recognised. A pitch move of more than 0.7 semitone that holds for two analysis hops (10 ms) starts a new note.

The crossover is a 4th-order Linkwitz–Riley pair, so with Keep at 100 % and no note playing, the signal passes with flat magnitude. Stereo above the split is kept; the new sub is mono.