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
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.
71 lines
3.4 KiB
Markdown
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.
|
|
|
|

|
|
|
|
## 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.
|