import("stdfaust.lib");
en = library("envelopes.lib");
pitch_a = hslider("a[style:knob]",0,0,0.1,0.1);
pitch_d = hslider("d[style:knob]",0,0,0.3,0.1);
pitch_s = hslider("s[style:knob]",0,0,0.7,0.1);
pitch_r = hslider("r[style:knob]",0,0,0.5,0.1);
pitch_depth = 12;
volume_a = hslider("a[style:knob]",0,0,2,1);
volume_d = hslider("d[style:knob]",0,0,2,1);
volume_s = hslider("s[style:knob]",0,0,2,1);
volume_r = hslider("r[style:knob]",0,0,2,1);
pitch_env = hgroup("pitch_env",en.adsr(pitch_a, pitch_d, pitch_s, pitch_r,button("gate")));
baseFreq = 440;
freqWithPitchEnv(gate, env) = baseFreq * 2^(env * 2); // 2表示2个八度的音高变化
oscWithPitchEnv = os.osc(freqWithPitchEnv(button("gate"), pitch_env));
process = oscWithPitchEnv;