Files
nvrl b8d04d1936
Check and Windows preview / check (anvil) (push) Successful in 2m37s
Check and Windows preview / check (ballast) (push) Successful in 1m49s
Check and Windows preview / check (braze) (push) Successful in 1m48s
Check and Windows preview / check (crucible) (push) Successful in 2m8s
Check and Windows preview / check (forge) (push) Successful in 2m9s
Check and Windows preview / check (knurl) (push) Successful in 1m53s
Check and Windows preview / check (lathe) (push) Successful in 1m58s
Check and Windows preview / check (patina) (push) Successful in 3m34s
Check and Windows preview / check (planish) (push) Successful in 1m59s
Check and Windows preview / check (quench) (push) Successful in 1m51s
Check and Windows preview / check (rivet) (push) Successful in 1m50s
Check and Windows preview / check (temper) (push) Successful in 1m58s
Check and Windows preview / check (weld) (push) Successful in 3m16s
Check and Windows preview / previews (push) Successful in 2m17s
Check and Windows preview / windows (push) Successful in 3m14s
Independent plugin release / publish (push) Successful in 10s
Independent plugin release / plan (push) Successful in 8s
Independent plugin release / build (push) Successful in 3m50s
chore: release Anvil 0.4.0, Lathe/Temper/Knurl 0.3.0, Planish/Braze/Ballast/Forge 0.2.0, Crucible/Weld 0.4.0
The producer-feedback round: stable note tracking, the NOTE pitch source with
Key lock and Follow bends, unsure-means-neutral fallbacks, Anvil's Enhance
mode, MAIN and ADVANCED pages, Ballast on Grid by default, and Crucible's
sure-note slice names with a song key.

Adds docs/pitch.md for the shared pitch source, updates every changed
plugin's README and changelog, the release table, the editor previews, the
website bullets, and the status in docs/ideas.md.
2026-11-06 21:26:59 +01:00

71 lines
3.4 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.2.0**.
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.
![Forge](assets/editor.png)
## 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; **NOTE** uses a note
you set. All modules use it, with the same Key lock and Follow bends. See
[Pitch source](../pitch.md).
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. Each page opens on its MAIN controls; the **ADVANCED** switch in
the header shows every control on all pages. 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.
While detection is unsure of the note, each module does what its standalone
plugin does: Lathe passes the audio, Temper keeps the last sure tuning, and
Knurl fades its texture out.
## 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.