One note tracker reads the input and Lathe, Temper and Knurl follow it as modules, in any of six orders, each on or off. Every module gets the tracker's events delayed by the latency of the modules in front of it. - One module alone matches its standalone plugin sample for sample in every order. - With Knurl's sub-octave pattern in front, Lathe in Forge follows the played note; a standalone Lathe after Knurl reads it an octave low. - About 72 ms latency against about 206 ms for the three in a row. The module pages reuse the standalone editors. Register Forge in the catalog, CI, README, docs and website, and drop the built Ballast from the site's idea list.
64 lines
3.0 KiB
Markdown
64 lines
3.0 KiB
Markdown
# Forge
|
|
|
|
Forge is one tracked channel strip: Lathe, Temper and Knurl run behind a single
|
|
note tracker, in the order you choose. Current version **0.1.0** (unreleased).
|
|
|
|
Each of the three plugins detects the played note itself. In a row, their
|
|
lookaheads add up (Lathe 67 ms, Temper 68 ms, Knurl 71 ms: more than 200 ms),
|
|
and a tracker after Knurl hears Knurl's sub-octave and follows a note an octave
|
|
low. Forge reads the note once, from its input, and every module follows that
|
|
one tracker. In a test with Knurl's sub-octave pattern in front of Lathe, a
|
|
standalone Lathe after Knurl followed the note an octave low in every frame;
|
|
Lathe inside Forge followed the played note in every frame.
|
|
|
|

|
|
|
|
## Install on Windows
|
|
|
|
Copy `Forge.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 Forge in the mixer slot of the bass, right after the
|
|
synth. Keep the font license with redistributed packages.
|
|
|
|
## Work with it
|
|
|
|
1. Choose **Pitch from** in the header: **AUDIO** detects the note from the
|
|
input; **MIDI** follows MIDI notes sent to the effect. All modules use it.
|
|
2. The **Chain** row shows the modules in processing order. Click a module's
|
|
name to edit it below; **ON** switches it on or off. The button between two
|
|
modules swaps them. The default order is Lathe, Temper, Knurl, as in the
|
|
standalone chain.
|
|
3. Each module's page is its standalone editor: [Lathe](../lathe/README.md),
|
|
[Temper](../temper/README.md) and [Knurl](../knurl/README.md) explain the
|
|
controls. Temper's **AUTO GAIN** sits in the Chain row while its page is
|
|
open.
|
|
4. The **Gate** knob on every page is the one shared tracker gate: turning it on
|
|
one page turns it on all.
|
|
|
|
**Bypass** in the header crossfades the whole strip to the delayed input.
|
|
|
|
## How it works
|
|
|
|
The tracker reads the strip's input, and the audio is delayed by its lookahead
|
|
once. Every module gets the note events delayed by the latency of the modules
|
|
in front of it, so each module sees a note start exactly on the attack of the
|
|
audio it receives. A single module on its own in Forge gives the same output,
|
|
sample for sample, as its standalone plugin, in every position of the chain.
|
|
|
|
Temper's **Normalize** measures each note's level one lookahead ahead. In Forge
|
|
it measures the strip's input, not the output of the modules in front of it.
|
|
Lathe and Knurl change the level about equally on every note, so the notes
|
|
still reach the shaper at one level.
|
|
|
|
## Timing and limits
|
|
|
|
Latency is the tracker's lookahead (about 67 ms), Temper's oversampling filters
|
|
(under 1 ms) and Knurl's room for timing jitter (about 4 ms): about 72 ms in
|
|
all, reported to the host. A module that is off still delays its audio by its
|
|
own latency, so the latency stays the same in every order and with any module
|
|
off.
|
|
|
|
Changing the order while audio plays switches the routing at once and can
|
|
click. The standalone plugins stay: use them when you need only one module, or
|
|
when another plugin must sit between two of them.
|