sfxr explosion + abstract golf: patch repeat no longer cuts the envelope; waivers removed #36
10 changed files with 12 additions and 45 deletions
|
|
@ -31,7 +31,7 @@ voice
|
|||
phaser=0.0001458
|
||||
phaser_ramp=-0.000504
|
||||
|
||||
patch repeat=0.174744
|
||||
patch gain=0.5
|
||||
voice
|
||||
use=Noise
|
||||
freq=20
|
||||
|
|
@ -48,7 +48,6 @@ voice
|
|||
tremolo=0.0264
|
||||
tremolo_hz=13.04
|
||||
|
||||
patch repeat=0.11315
|
||||
voice
|
||||
wave=sine
|
||||
freq=57.5946
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
# Source: BuiltInScripts.ReferenceScripts
|
||||
# Notes: Stock reference patch exported from the in-code catalog.
|
||||
|
||||
patch repeat=0.174744
|
||||
voice
|
||||
wave=noise
|
||||
freq=20
|
||||
|
|
|
|||
|
|
@ -89,7 +89,6 @@ public static class BuiltInScripts
|
|||
drive=0.12
|
||||
"""),
|
||||
("explosion", """
|
||||
patch repeat=0.174744
|
||||
voice
|
||||
wave=noise
|
||||
freq=20
|
||||
|
|
@ -188,7 +187,7 @@ public static class BuiltInScripts
|
|||
phaser=0.0001458
|
||||
phaser_ramp=-0.000504
|
||||
|
||||
patch repeat=0.174744
|
||||
patch gain=0.5
|
||||
voice
|
||||
use=Noise
|
||||
freq=20
|
||||
|
|
@ -205,7 +204,6 @@ public static class BuiltInScripts
|
|||
tremolo=0.0264
|
||||
tremolo_hz=13.04
|
||||
|
||||
patch repeat=0.11315
|
||||
voice
|
||||
wave=sine
|
||||
freq=57.5946
|
||||
|
|
|
|||
|
|
@ -61,8 +61,7 @@ public sealed record SfxrParams
|
|||
PhaOffset = -0.22f,
|
||||
PhaRamp = -0.1f,
|
||||
VibStrength = 0.22f,
|
||||
VibSpeed = 0.28f,
|
||||
RepeatSpeed = 0.42f
|
||||
VibSpeed = 0.28f
|
||||
};
|
||||
|
||||
public static SfxrParams Powerup() => new()
|
||||
|
|
|
|||
|
|
@ -61,8 +61,7 @@ failing rule, and a rule with an `id` that matches no item (a renamed or dropped
|
|||
are deleted when the thing they excuse is fixed and a rename cannot silently disarm a cap. A missing metric fails its rule. The numbers were chosen after looking
|
||||
at the shipped renders. They are tripwires, not taste.
|
||||
|
||||
Current waivers: `sfxr-classic-classic-sfxr-abstract-golf` (+0.9 dBTP, -5.3 LUFS, held noise) and `sfxr-explosion` (3 s of
|
||||
steady noise without decay). Nobody has listened to either to see if the number is the sound.
|
||||
Current waivers: none. (The golf and explosion waivers were removed when `patch repeat` stopped cutting their envelopes; nobody has listened to either to see if the numbers are the sound.)
|
||||
|
||||
## Effects shelf
|
||||
|
||||
|
|
|
|||
|
|
@ -102,8 +102,8 @@ Sustained patches such as the thruster keep sounding until stopped; the render c
|
|||
| `patch/fm-bell-coin` | start | none | decays | 3 s | unheard |
|
||||
| `patch/fm-bell-gong` | start | none | decays | 3 s | unheard |
|
||||
| `patch/sfxr-blip` | start | none | decays | 3 s | unheard |
|
||||
| `patch/sfxr-classic-classic-sfxr-abstract-golf` | start | none | sustained | 3 s | unheard |
|
||||
| `patch/sfxr-explosion` | start | none | sustained | 3 s | unheard |
|
||||
| `patch/sfxr-classic-classic-sfxr-abstract-golf` | start | none | decays | 3 s | unheard |
|
||||
| `patch/sfxr-explosion` | start | none | decays | 3 s | unheard |
|
||||
| `patch/sfxr-hit` | start | none | decays | 3 s | unheard |
|
||||
| `patch/sfxr-jump` | start | none | decays | 3 s | unheard |
|
||||
| `patch/sfxr-laser` | start | none | decays | 3 s | unheard |
|
||||
|
|
|
|||
|
|
@ -1415,7 +1415,7 @@
|
|||
"kind": "start",
|
||||
"detail": "plays from the moment it is started; no gate, trigger or audio-feature input. Sliders, where listed, are live while it plays."
|
||||
},
|
||||
"behaviour": "sustained: still sounding at the end of the render window, runs until stopped",
|
||||
"behaviour": "decays: dies away inside the render window",
|
||||
"duration_s": 3,
|
||||
"duration_note": "the render window, not the effect's length",
|
||||
"render": {
|
||||
|
|
@ -1440,7 +1440,7 @@
|
|||
"kind": "start",
|
||||
"detail": "plays from the moment it is started; no gate, trigger or audio-feature input. Sliders, where listed, are live while it plays."
|
||||
},
|
||||
"behaviour": "sustained: still sounding at the end of the render window, runs until stopped",
|
||||
"behaviour": "decays: dies away inside the render window",
|
||||
"duration_s": 3,
|
||||
"duration_note": "the render window, not the effect's length",
|
||||
"render": {
|
||||
|
|
|
|||
|
|
@ -123,32 +123,5 @@
|
|||
"why": "PRC SYNTH1 peaked at 2.10 before the 2026-11-05 gain trim to 0.67; this holds it under 0.9"
|
||||
}
|
||||
],
|
||||
"waivers": [
|
||||
{
|
||||
"id": "sfxr-classic-classic-sfxr-abstract-golf",
|
||||
"metric": "truePeakDb",
|
||||
"reason": "renders 0.99 sample peak and +0.9 dBTP inter-sample",
|
||||
"followUp": "aqua-body:follow_up:sfxr-golf-hot",
|
||||
"max": 1.0
|
||||
},
|
||||
{
|
||||
"id": "sfxr-classic-classic-sfxr-abstract-golf",
|
||||
"metric": "loudnessLufs",
|
||||
"reason": "-5.3 LUFS integrated over the 3 s render",
|
||||
"followUp": "aqua-body:follow_up:sfxr-golf-hot",
|
||||
"max": -5.0
|
||||
},
|
||||
{
|
||||
"id": "sfxr-classic-classic-sfxr-abstract-golf",
|
||||
"metric": "lowMotion",
|
||||
"reason": "3 s of steady bright noise, 4 dB level range; may be longer than the render window",
|
||||
"followUp": "aqua-body:follow_up:sfxr-golf-hot"
|
||||
},
|
||||
{
|
||||
"id": "sfxr-explosion",
|
||||
"metric": "lowMotion",
|
||||
"reason": "3 s of steady noise, 1 dB level range, no decay inside the render window; an explosion that does not decay is worth a listener's check",
|
||||
"followUp": "aqua-body:follow_up:sfxr-explosion-static"
|
||||
}
|
||||
]
|
||||
"waivers": []
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ declare name "sfxr-classic-classic-sfxr-abstract-golf";
|
|||
declare options "[nvoices:1]";
|
||||
|
||||
time = ba.time / ma.SR;
|
||||
age = time - floor(time / 0.11315) * 0.11315;
|
||||
age = time;
|
||||
clip01(x) = min(1.0, max(0.0, x));
|
||||
wrap01(x) = x - floor(x);
|
||||
slew(rate,x) = x : *(1.0 - exp((0.0 - max(0.0001, rate)) / ma.SR)) : + ~ *(exp((0.0 - max(0.0001, rate)) / ma.SR));
|
||||
|
|
@ -117,4 +117,4 @@ voice_6_phased = voice_6_filtered;
|
|||
voice_6_formants = voice_6_phased;
|
||||
voice_6 = ((voice_6_phased * (1.0 - clip01(0 + patch_mod_formant_mix + 0.0)) + voice_6_formants * clip01(0 + patch_mod_formant_mix + 0.0)) * oneshot_adsr_at(voice_6_age, 0, 0, 1, 0.01451247, 0.03832199) * max(0.0, 1.0 + patch_mod_gain + 0.0) * 0.22);
|
||||
|
||||
process = softclip((voice_0 + voice_1 + voice_2 + voice_3 + voice_4 + voice_5 + voice_6) * 1);
|
||||
process = softclip((voice_0 + voice_1 + voice_2 + voice_3 + voice_4 + voice_5 + voice_6) * 0.5);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ declare name "sfxr-explosion";
|
|||
declare options "[nvoices:1]";
|
||||
|
||||
time = ba.time / ma.SR;
|
||||
age = time - floor(time / 0.174744) * 0.174744;
|
||||
age = time;
|
||||
clip01(x) = min(1.0, max(0.0, x));
|
||||
wrap01(x) = x - floor(x);
|
||||
slew(rate,x) = x : *(1.0 - exp((0.0 - max(0.0001, rate)) / ma.SR)) : + ~ *(exp((0.0 - max(0.0001, rate)) / ma.SR));
|
||||
|
|
|
|||
Loading…
Reference in a new issue