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.
88 lines
4.2 KiB
Markdown
88 lines
4.2 KiB
Markdown
# Braze
|
||
|
||
Braze makes a reese's movement play in time. Current version **0.2.0**.
|
||
|
||
Two layers detuned against each other beat: harmonic k of a note at f0 swells
|
||
and fades k·f0·(r − 1) times per second, where r is the detune ratio. With a
|
||
fixed detune that rate changes with every note, so the movement of a reese
|
||
never lines up with the track. Braze adds a detuned copy of the bass and sets
|
||
its detune on every note so that the beating follows the tempo.
|
||
|
||

|
||
|
||
## Install on Windows
|
||
|
||
Copy `Braze.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 Braze in the mixer slot of the bass. Keep the font license with
|
||
redistributed packages.
|
||
|
||
## Work with it
|
||
|
||
The editor opens on the **MAIN** page with Rate, harmonic, Depth, Low cut, Width
|
||
and Output. The **ADVANCED** switch in the header adds Phase, Gate and Snap.
|
||
|
||
1. Put Braze on a single bass layer: a plain saw, or a reese whose own detune
|
||
you have turned down.
|
||
2. Pick **Rate**: the note value one beat lasts. 1/8 at 140 BPM is 4.67 beats
|
||
per second.
|
||
3. Pick the **harmonic** that should beat at Rate. Harmonic n beats
|
||
n/harmonic times as fast, so all of them beat on the grid: with harmonic 4 at
|
||
1/8, harmonic 2 beats in quarters, harmonic 8 in sixteenths, harmonic 3 in
|
||
quarter triplets.
|
||
4. Set **Depth**. At 100 % the beating goes down to full nulls; 50–70 % keeps
|
||
the note present.
|
||
5. On the ADVANCED page, use **Phase** to move where the beat peaks. At 0° all harmonics peak
|
||
together on every beat of the chosen harmonic's cycle.
|
||
|
||
The display shows one bar: a row per harmonic with the level it gets from the
|
||
beating, the grid at Rate, and the playhead.
|
||
|
||
Other controls:
|
||
|
||
- **Low cut** removes the copy below a frequency, so the sub does not beat.
|
||
The sub keeps its level. Harmonics under the cut show *cut* in the display.
|
||
Under 20 Hz the cut is off. If the chosen harmonic is under the cut on a
|
||
note, it does not beat: the note panel says so; pick a higher harmonic.
|
||
- **Width** moves the right channel's beat against the left, up to half a
|
||
cycle. At 100 % one side peaks while the other nulls. Check the mono sum.
|
||
- **Gate** is the input level that counts as a note.
|
||
- **Snap to semitone** rounds the detected pitch. Leave it off on detuned or
|
||
bent notes: the copy jumps by one period of the pitch in use.
|
||
|
||
### Pitch source
|
||
|
||
**Pitch from** in the header chooses where the note comes from: **AUDIO**
|
||
detects it, **MIDI** follows MIDI notes sent to Braze, and **NOTE** uses a note
|
||
you set. For heavy FM, formant or noise basses, NOTE with the drop's root is the
|
||
safest choice. Key lock and Follow bends tune the detection. While detection is unsure of the note, Braze keeps the detune of the last sure note and the readout shows **?**. See
|
||
[Pitch source](../pitch.md).
|
||
|
||
### How the detune is made
|
||
|
||
The copy is the bass read from a delay line. Its delay falls by one period of
|
||
the note per beat cycle of the chosen harmonic, which tunes the copy up by
|
||
exactly r = 1 + B/(k·f0) (B: beats per second, k: the chosen harmonic). When it
|
||
has fallen a whole period, it jumps back by one period: on a steady note both
|
||
read positions hold the same waveform, so the jump is crossfaded over 6 ms
|
||
without a seam. At a beat peak the copy lines up with the bass sample for
|
||
sample.
|
||
|
||
The low detune that low notes need is large: harmonic 1 at 1/8 and 140 BPM on
|
||
F1 (43.7 Hz) is r = 1.107, about 1.8 semitones. Higher harmonics need less:
|
||
harmonic 4 asks for about 45 cents on F1.
|
||
|
||
## Timing and limits
|
||
|
||
Detection uses about 67 ms of lookahead, reported to the host for delay
|
||
compensation. Pitch range is 30–500 Hz, one voice. The beat position comes from
|
||
the host while it plays, shifted by the lookahead so the beat stays on the
|
||
timeline. When the host is stopped, the beat runs on freely at the last tempo.
|
||
|
||
Noise, chords and the attack of a note are not periodic, so the copy's jumps
|
||
are heard there as a short blur. Before the first note, the copy assumes 55 Hz.
|
||
|
||
Braze changes the waveform in time, so pitch detection after it can be less
|
||
sure: put tracked plugins before Braze, or use MIDI or NOTE. See
|
||
[Signal chain](../chain.md).
|