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;
//freqMod = 440 * pitch_env * pitch_depth;
freqWithPitchEnv(gate, env) = baseFreq * 2^(env * 2);  // 2表示2个八度的音高变化oscWithPitchEnv = os.osc(freqWithPitchEnv(button("gate"), pitch_env));process = oscWithPitchEnv;