fix: replace cyclone env~ with vanilla line~ envelope, fix stripnote outlet
Validate and Test / validate-patches (push) Failing after 12s
Validate and Test / validate-patches (push) Failing after 12s
- env~ is a cyclone external not available on board's Pd 0.55 - Replace with line~ + *~ 0.0055 for velocity-scaled AR envelope - Fix stripnote outlet 1 (gate trigger) connected to envelope instead of outlet 0 (pitch) - Change dac~ to dac~ 1 for mono output matching -outchannels 1 - Envelope: attack ~50ms, release ~50ms, sustain scaled by velocity
This commit is contained in:
+14
-7
@@ -54,7 +54,6 @@ def gen():
|
||||
r_pitch = Obj(20, 190, "r midi-pitch")
|
||||
strip = Obj(20, 220, "stripnote")
|
||||
mtof = Obj(20, 260, "mtof")
|
||||
env = Obj(20, 290, "env~ 50 200 0.7 400")
|
||||
osc1 = Obj(140, 260, "osc~")
|
||||
mul1 = Obj(140, 290, "*~ 0.3")
|
||||
osc2 = Obj(220, 260, "osc~")
|
||||
@@ -64,7 +63,13 @@ def gen():
|
||||
filt = Obj(180, 400, "lop~")
|
||||
amp = Obj(180, 460, "*~")
|
||||
panscale = Obj(320, 460, "*~")
|
||||
dac = Obj(250, 530, "dac~")
|
||||
dac = Obj(250, 530, "dac~ 1")
|
||||
# ── Vanilla AR envelope (line~, not cyclone env~) ──
|
||||
# stripnote out1 = velocity (0-127) on note-on, 0 on note-off
|
||||
# Scale velocity/127 * 0.7 ≈ velocity * 0.0055 for sustain approx 0.7
|
||||
env_ramp = Obj(20, 290, "line~ 0 50")
|
||||
env_scale = Obj(20, 330, "*~ 0.0055")
|
||||
env_mult = Obj(100, 370, "*~")
|
||||
|
||||
connect(c, r_vel, 0, strip, 1)
|
||||
connect(c, r_pitch, 0, strip, 0)
|
||||
@@ -78,9 +83,12 @@ def gen():
|
||||
connect(c, sum, 0, scale, 0)
|
||||
connect(c, scale, 0, filt, 0)
|
||||
connect(c, filt, 0, amp, 0)
|
||||
connect(c, strip, 0, env, 0)
|
||||
connect(c, env, 0, amp, 1)
|
||||
connect(c, amp, 0, panscale, 0)
|
||||
# stripnote out1 (gate: velocity on note-on, 0 on note-off) → line~
|
||||
connect(c, strip, 1, env_ramp, 0)
|
||||
connect(c, env_ramp, 0, env_scale, 0)
|
||||
connect(c, env_scale, 0, env_mult, 0)
|
||||
connect(c, amp, 0, env_mult, 1)
|
||||
connect(c, env_mult, 0, panscale, 0)
|
||||
|
||||
# ── Controls (headless-safe: loadbang-initialized floats, not hsl) ──
|
||||
lb_cut = Obj(350, 300, "loadbang")
|
||||
@@ -95,9 +103,8 @@ def gen():
|
||||
connect(c, float_vol, 0, div, 0)
|
||||
connect(c, div, 0, panscale, 1)
|
||||
|
||||
# ── Output ──
|
||||
# ── Output (mono, matches -outchannels 1) ──
|
||||
connect(c, panscale, 0, dac, 0)
|
||||
connect(c, panscale, 0, dac, 1)
|
||||
|
||||
# ── Write ──
|
||||
lines = [
|
||||
|
||||
Reference in New Issue
Block a user