feat(anvil): add Kick lock with offset audition
Check and Windows preview / check (anvil) (push) Canceled after 0s
Check and Windows preview / check (braze) (push) Canceled after 0s
Check and Windows preview / check (crucible) (push) Canceled after 0s
Check and Windows preview / check (knurl) (push) Canceled after 0s
Check and Windows preview / check (lathe) (push) Canceled after 0s
Check and Windows preview / check (patina) (push) Canceled after 0s
Check and Windows preview / check (planish) (push) Canceled after 0s
Check and Windows preview / check (rivet) (push) Canceled after 0s
Check and Windows preview / check (temper) (push) Canceled after 0s
Check and Windows preview / check (weld) (push) Canceled after 0s
Check and Windows preview / previews (push) Canceled after 0s
Check and Windows preview / windows (push) Canceled after 0s
Check and Windows preview / check (anvil) (push) Canceled after 0s
Check and Windows preview / check (braze) (push) Canceled after 0s
Check and Windows preview / check (crucible) (push) Canceled after 0s
Check and Windows preview / check (knurl) (push) Canceled after 0s
Check and Windows preview / check (lathe) (push) Canceled after 0s
Check and Windows preview / check (patina) (push) Canceled after 0s
Check and Windows preview / check (planish) (push) Canceled after 0s
Check and Windows preview / check (rivet) (push) Canceled after 0s
Check and Windows preview / check (temper) (push) Canceled after 0s
Check and Windows preview / check (weld) (push) Canceled after 0s
Check and Windows preview / previews (push) Canceled after 0s
Check and Windows preview / windows (push) Canceled after 0s
Anvil gets a sidechain input named Kick. With Kick lock on, kicks are found on the undelayed sidechain, so with the lookahead each hit ducks the sub (Duck, Release) when the delayed kick plays and restarts the sub at Phase, shifted by Offset (-30 to +30 ms, also before the kick). The Audition steps the offset from -30 to +30 ms, 4 kicks each, and measures how kick and sub sum below 150 Hz after each hit; Keep takes the offset heard. On a 55 Hz kick burst against a 55 Hz sub the sum peaks at 0 ms (+2.4 dB) and nearly again one period away (+/-20 ms), so the bars check the choice by ear rather than make it.
This commit is contained in:
1 parent
330ec54150
commit
fadea4c471
15 files changed
+798
-39
No files matched your search
@@ -8,6 +8,12 @@
|
||||
does not change.
|
||||
- Add **Phone**, a listen mode: mono, band-limited to 400 Hz–7 kHz. Not saved.
|
||||
- Show the patch's harmonics and the added ones in an inset in the scope.
|
||||
- Add Kick lock: with the kick in the sidechain, each kick ducks the sub
|
||||
(**Duck**, **Release**) and restarts it at Phase, shifted by **Offset**
|
||||
(−30 to +30 ms, also before the kick).
|
||||
- Add the offset **Audition**: steps the offset from −30 to +30 ms, 4 kicks each,
|
||||
shows how kick and sub summed per offset, and **Keep** takes the offset heard.
|
||||
- Anvil now has a sidechain input named Kick. Without Kick lock it is ignored.
|
||||
|
||||
## 0.2.0
|
||||
|
||||
|
||||
@@ -54,6 +54,42 @@ harmonic counts as missing.
|
||||
Drive works differently: it saturates the sine itself, adds only odd harmonics,
|
||||
and changes the sub's own shape.
|
||||
|
||||
### Kick lock
|
||||
|
||||
With **Retrigger**, every note starts at Phase, but a kick that falls in the
|
||||
middle of a long note meets the sub at whatever phase it has reached. Kick lock
|
||||
listens to the kick through the sidechain. On each kick it dips the sub by
|
||||
**Duck** (coming back over **Release**) and restarts the sub at Phase, so the
|
||||
kick and the sub meet the same way on every hit.
|
||||
|
||||
Set it up in FL Studio:
|
||||
|
||||
1. Select the kick's mixer track. Right-click the route arrow under the bass
|
||||
bus and choose **Sidechain to this track**. The kick still goes to the
|
||||
master on its own; the sidechain only lets Anvil hear it.
|
||||
2. In Anvil's plugin wrapper, open the settings (gear icon) and set the
|
||||
sidechain input to the kick's track.
|
||||
3. Turn on **Kick lock**. The kick count under the switch must rise with the
|
||||
kicks.
|
||||
|
||||
**Offset** moves the restart against the kick, from 30 ms before it to 30 ms
|
||||
after. Kicks are found on the undelayed sidechain, so with the lookahead the
|
||||
sub can restart before the kick is heard.
|
||||
|
||||
Where the kick and sub sound like one hit is not always where they sum
|
||||
loudest: offsets one period of the note apart sum the same, and the attack of
|
||||
the kick decides where the hit is heard. So the offset is set by ear:
|
||||
|
||||
1. Turn on **Audition** and play a loop with kicks and a long bass note. Each
|
||||
offset from −30 to +30 ms plays for 4 kicks; the line under the bars says
|
||||
which one plays now.
|
||||
2. Press **Keep** when kick and sub sound like one hit. Offset takes that
|
||||
value and the audition stops.
|
||||
|
||||
The bars show, per offset, how the kick and the sub summed below 150 Hz in the
|
||||
60 ms after each hit: +3 dB is a full sum of equal levels, 0 dB unrelated,
|
||||
below 0 dB they cancel. Use them to check the choice, not to make it.
|
||||
|
||||
Other controls:
|
||||
|
||||
- **Dynamics** at 0 % holds the level for the whole note. Raise it to let the sub
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 262 KiB After Width: | Height: | Size: 304 KiB |
+2
-1
@@ -29,7 +29,8 @@ bass bus: Anvil → (bus compression, clipping) → Crucible
|
||||
layer but cannot move it earlier. If FL Studio does not compensate the
|
||||
sidechain route, any latency added after Weld's input on the main layer makes
|
||||
that layer late.
|
||||
- **Anvil on the bus, in MIDI mode when Knurl is in the chain.**
|
||||
- **Anvil on the bus, in MIDI mode when Knurl is in the chain.** For Kick
|
||||
lock, send the kick's track to Anvil as a sidechain.
|
||||
- **Crucible at the end of the chain you want to resample.**
|
||||
|
||||
## Knurl and pitch detection
|
||||
|
||||
+11
-6
@@ -212,11 +212,16 @@ one period of the note, so heavy settings do not ripple at f0. See [Planish](pla
|
||||
|
||||
## Next for released plugins
|
||||
|
||||
- **Anvil**: *Kick lock*: the kick through the sidechain ducks the sub on each
|
||||
hit and restarts its phase so kick and sub sum (problem 6). With it, an
|
||||
*offset audition*: a sweep of sub offsets against the kick (−30 to +30 ms,
|
||||
then finer) and a marker for where the hit is heard, kept apart from the
|
||||
low-band cancellation reading (problem 21). A sub shape from sine to rounded
|
||||
- **Anvil**: *Kick lock* and the *offset audition* are done (unreleased, see
|
||||
[Anvil](anvil/README.md)): the kick through the sidechain ducks the sub and
|
||||
restarts its phase at an offset (problem 6); the audition steps −30 to +30 ms,
|
||||
4 kicks each, Keep takes the offset heard, and the low-band sum per offset is
|
||||
shown apart from that choice (problem 21). Measured on a 55 Hz kick burst
|
||||
against a 55 Hz sub: +2.4 dB at 0 ms, −4.6 dB at −10 ms, −5.9 dB at +10 ms,
|
||||
and +1.8 to +2.2 dB again one period away (±20 ms), so the sum alone cannot
|
||||
pick the hit. Open: a finer second sweep around the kept offset; a gate or
|
||||
sensitivity for kicks with long tails or a kick bus with other drums.
|
||||
A sub shape from sine to rounded
|
||||
triangle. A note attack counted in cycles. *Ghost harmonics* and the
|
||||
*Phone* listen are done (unreleased, see [Anvil](anvil/README.md)): harmonics
|
||||
2–10 above a "from" frequency, filled only where the patch lacks them, with
|
||||
@@ -264,7 +269,7 @@ one period of the note, so heavy settings do not ripple at f0. See [Planish](pla
|
||||
spread (done, unreleased); the fatness lane, as the first Assay piece
|
||||
(prototype `scripts/fatness.py`); Anvil Ghost harmonics and Phone listen
|
||||
(done, unreleased); Braze (done, unreleased); Anvil Kick lock with offset
|
||||
audition.
|
||||
audition (done, unreleased).
|
||||
4. Forge, when enough modules exist.
|
||||
5. Assay, one plugin for the display-only ideas.
|
||||
6. Texture plugins (Anneal, Swarf, Etch, Bellows) and the note-keyed sequencer.
|
||||
|
||||
Reference in new issue
Block a user