diff --git a/docs/anvil/CHANGELOG.md b/docs/anvil/CHANGELOG.md index c0218af..b043c89 100644 --- a/docs/anvil/CHANGELOG.md +++ b/docs/anvil/CHANGELOG.md @@ -1,6 +1,6 @@ # Anvil changelog -## Unreleased +## 0.3.0 - Add Ghost harmonics: **Ghost** and **Ghost from** add the sub's harmonics 2–10 above a chosen frequency, so phones hear the note. Anvil measures the patch's own diff --git a/docs/anvil/README.md b/docs/anvil/README.md index 12ef047..f031162 100644 --- a/docs/anvil/README.md +++ b/docs/anvil/README.md @@ -1,6 +1,6 @@ # Anvil -Anvil gives every bass note the same solid sub. Current version **0.2.0**. +Anvil gives every bass note the same solid sub. Current version **0.3.0**. In riddim and dubstep, each switch-up patch brings its own sub: a different level, a different phase, sometimes two layers that cancel. The drop's weight jumps from diff --git a/docs/braze/CHANGELOG.md b/docs/braze/CHANGELOG.md index ce538ee..337726d 100644 --- a/docs/braze/CHANGELOG.md +++ b/docs/braze/CHANGELOG.md @@ -1,6 +1,6 @@ # Braze changelog -## Unreleased (0.1.0) +## 0.1.0 - Introduce Braze, a detuned copy of the bass whose beating stays on the tempo grid on every note. diff --git a/docs/braze/README.md b/docs/braze/README.md index bb6857b..61ab83a 100644 --- a/docs/braze/README.md +++ b/docs/braze/README.md @@ -1,7 +1,6 @@ # Braze -Braze makes a reese's movement play in time. Current version **0.1.0** -(unreleased). +Braze makes a reese's movement play in time. Current version **0.1.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 diff --git a/docs/ideas.md b/docs/ideas.md index 76b5cda..6468b50 100644 --- a/docs/ideas.md +++ b/docs/ideas.md @@ -123,7 +123,7 @@ it goes in the suite. They are starting points to test by ear, not rules. 500 Hz and 4 kHz, listeners hear a group-delay peak from about 0.64 ms (positive) or 0.56 ms (negative) on clicks over headphones; a fast-decaying hi-hat hides it. Weld's allpass sections add positive group delay there. - Done: Weld shows the delay spread (unreleased). Measured: common fits from + Done: Weld shows the delay spread (released in 0.3.0). Measured: common fits from Weld's own tests spread 0.82–1.03 ms, above the click threshold, so the display gives a note, not a warning. - **Timbral tension.** Farbood and Price (2017): more roughness, inharmonicity @@ -212,7 +212,7 @@ one period of the note, so heavy settings do not ripple at f0. See [Planish](pla ## Next for released plugins -- **Anvil**: *Kick lock* and the *offset audition* are done (unreleased, see +- **Anvil**: *Kick lock* and the *offset audition* are done (Anvil 0.3.0, 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 @@ -223,7 +223,7 @@ one period of the note, so heavy settings do not ripple at f0. See [Planish](pla 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 + *Phone* listen are done (Anvil 0.3.0, see [Anvil](anvil/README.md)): harmonics 2–10 above a "from" frequency, filled only where the patch lacks them, with the sub level unchanged (problem 19). Open for Ghost: weights that follow the patch's own harmonic slope instead of a fixed 1/k; measuring a new note's @@ -236,9 +236,9 @@ one period of the note, so heavy settings do not ripple at f0. See [Planish](pla one Push band. A bias that changes per cycle from Knurl's cycle clock. - **Knurl**: velocity or note selects the pattern. Stereo grit above a split only. Drift (planned for 0.3). -- **Patina**: Tone guard (done, unreleased). MIDI as its pitch source. M/S +- **Patina**: Tone guard (done, Patina 0.4.0). MIDI as its pitch source. M/S processing. -- **Weld**: delay spread display (done, unreleased). A *gentle* fit option +- **Weld**: delay spread display (done, Weld 0.3.0). A *gentle* fit option that keeps the delay spread under a limit, for plucky layers. Alignment slots per note or per switch-up. The External sender/receiver fallback if FL's sidechain does not arrive. @@ -266,10 +266,10 @@ one period of the note, so heavy settings do not ripple at f0. See [Planish](pla 3. Planish (done, released 0.1.0), then Quench and Ballast: they fill the mix and master gap. - In parallel, from the research findings, in this order: Weld delay - spread (done, unreleased); the fatness lane, as the first Assay piece + spread (done, Weld 0.3.0); 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 (done, unreleased). + (done, Anvil 0.3.0); Braze (done, 0.1.0); Anvil Kick lock with offset + audition (done, Anvil 0.3.0). 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. @@ -302,7 +302,7 @@ beats at the same rate. Controls: rate (synced), target harmonic, depth, spread across harmonics, mode. It reuses the tracker, and Weld should not "fix" this beating: put Weld before Braze. -Built (unreleased 0.1.0, see [Braze](braze/README.md)). The detune is a delay +Built (released 0.1.0, see [Braze](braze/README.md)). The detune is a delay line whose delay falls one period per beat cycle and jumps back one period, which is seamless on a periodic note, and the delay follows the host's beat position, so the peaks land on the grid. Harmonic n then beats at n/k · B: every diff --git a/docs/releases.md b/docs/releases.md index 8de2e34..fba4d39 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -9,13 +9,14 @@ workflows are in `.gitea/workflows/`. A plugin's version is the `version` in | --- | --- | --- | | Rivet | `rivet-v0.5.0` | `rivet-windows-x86_64-0.5.0.zip` | | Patina | `patina-v0.4.0` | `patina-windows-x86_64-0.4.0.zip` | -| Anvil | `anvil-v0.2.0` | `anvil-windows-x86_64-0.2.0.zip` | +| Anvil | `anvil-v0.3.0` | `anvil-windows-x86_64-0.3.0.zip` | | Crucible | `crucible-v0.3.0` | `crucible-windows-x86_64-0.3.0.zip` | | Lathe | `lathe-v0.2.0` | `lathe-windows-x86_64-0.2.0.zip` | | Temper | `temper-v0.2.0` | `temper-windows-x86_64-0.2.0.zip` | -| Weld | `weld-v0.2.0` | `weld-windows-x86_64-0.2.0.zip` | +| Weld | `weld-v0.3.0` | `weld-windows-x86_64-0.3.0.zip` | | Knurl | `knurl-v0.2.0` | `knurl-windows-x86_64-0.2.0.zip` | | Planish | `planish-v0.1.0` | `planish-windows-x86_64-0.1.0.zip` | +| Braze | `braze-v0.1.0` | `braze-windows-x86_64-0.1.0.zip` | ## Make a release diff --git a/docs/weld/CHANGELOG.md b/docs/weld/CHANGELOG.md index 90b0da9..99f7f9b 100644 --- a/docs/weld/CHANGELOG.md +++ b/docs/weld/CHANGELOG.md @@ -1,6 +1,6 @@ # Weld changelog -## Unreleased +## 0.3.0 - Show the **delay spread**: how much the alignment's group delay changes between 500 Hz and 4 kHz, where listeners hear it best. Above 0.64 ms (the diff --git a/docs/weld/README.md b/docs/weld/README.md index 43fc44c..c448002 100644 --- a/docs/weld/README.md +++ b/docs/weld/README.md @@ -1,7 +1,7 @@ # Weld Weld fuses two bass layers so they add up instead of cancelling. Current version -**0.2.0**. +**0.3.0**. Bass patches are layered: a sub, one or more mid growls, a top. Where the layers overlap in the mids, they partly cancel. The causes are a polarity difference, a diff --git a/plugins/anvil/plugin/Cargo.lock b/plugins/anvil/plugin/Cargo.lock index 24d0782..5412cd2 100644 --- a/plugins/anvil/plugin/Cargo.lock +++ b/plugins/anvil/plugin/Cargo.lock @@ -72,7 +72,7 @@ checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" [[package]] name = "anvil" -version = "0.2.0" +version = "0.3.0" dependencies = [ "anvil-core", "anvil-ui", diff --git a/plugins/anvil/plugin/Cargo.toml b/plugins/anvil/plugin/Cargo.toml index c407937..b0fdda4 100644 --- a/plugins/anvil/plugin/Cargo.toml +++ b/plugins/anvil/plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anvil" -version = "0.2.0" +version = "0.3.0" edition = "2021" license = "ISC" diff --git a/plugins/weld/plugin/Cargo.lock b/plugins/weld/plugin/Cargo.lock index 48a06ca..754073a 100644 --- a/plugins/weld/plugin/Cargo.lock +++ b/plugins/weld/plugin/Cargo.lock @@ -2056,7 +2056,7 @@ dependencies = [ [[package]] name = "weld" -version = "0.2.0" +version = "0.3.0" dependencies = [ "clap-sys", "crossbeam-queue", diff --git a/plugins/weld/plugin/Cargo.toml b/plugins/weld/plugin/Cargo.toml index 1c44ced..2273343 100644 --- a/plugins/weld/plugin/Cargo.toml +++ b/plugins/weld/plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "weld" -version = "0.2.0" +version = "0.3.0" edition = "2021" license = "ISC"