"no sound" with synth env_curve default '2'

Hi! I’m not sure if this is just me, but when the env_curve is set to 2, I only get a click from the speaker (or silence).

Given the default is 2, why does the sound differ when parameter is there, eg something like synth :dsaw, env_curve: 2 should sound same as synth :dsaw

Here’s the loop I made to see if I could hear different curves, prior to adding further logic (fx args etc), no synth is set here, so the issue is heard (for me) with the :beep default simple sine synth


n = :e2
s = 8
env_curve = (1..7).to_a

uncomment do ### TEST
  live_loop :timbre do
    ##| use_synth (ring :tb303, :blade, :prophet, :saw, :beep, :tri).tick
    play n, release: s, cutoff: 100, env_curve: env_curve.tick
    sleep s
  end
end #####
  • Without the envelope_curve parameter (eg using default 2?) the sound is heard
  • When env_curve has legal value other than 2 (1-3,4-7) the tone is heard
  • Appears to affect all synths (not extensively tested!)
  • version 4.5
  • Just me?
  • Thanks!!

I was the same way.

[1,2,3,4,6,7].each do |i|
  play 60, release: 1, env_curve: i
  sleep 2
end

It’s also completely independent of release time.
These are 1,10,100,1000 release:

I’m not sure if I’ve got this all right but an env_curve of 2 is an exponential curve. The absence of any attack, decay and sustain in most synths is due to their defaults being 0. This exponential curve starts at 0 hence the attack, decay and sustain parts have no volume , thus no sound, i.e. you’re releasing from zero. Try your examples with the rodeo or piano and you’ll hear a tone - the defaults are different in these and a few other synths.

The strange thing is that exponential is the default but it only happens when you specify the env_curve parameter.

play 60  #Sounds normal

play 60, env_curve: 2  #Only click