|
| 1 | +( |
| 2 | +SynthDef(\enotamboura, { |
| 3 | + var sig; |
| 4 | + var feedback = \feedback.kr(0.07); |
| 5 | + var freq = \freq.kr(100); |
| 6 | + var amp = \amp.kr(0.3); |
| 7 | + var out = \out.kr(1); |
| 8 | + var pan = \pan.kr(0); |
| 9 | + var gate = \gate.kr(1); |
| 10 | + // var gate = Impulse.kr(1); |
| 11 | + var env = EnvGen.kr(Env.new( [ 0, 0.5, 0.5, 0.5, 0.5], [1, 1, 1, 1] ), gate, doneAction:2); |
| 12 | + // var env = EnvGen.kr(Env.adsr( \attackTime.kr(0.01), \decayTime.kr(0.3), \sustainLevel.kr(0.5), \releaseTime.kr(1)), gate, doneAction:2); |
| 13 | + sig = FM7.arAlgo(16, |
| 14 | + [ |
| 15 | + [freq * 1, 0, EnvGen.kr(Env.new( [ 0, 1, 0, 1, 0], [0.93, 0.29, 0.18, 0.39] ), gate, doneAction:2) * 1], |
| 16 | + [freq * 0.5, 0, EnvGen.kr(Env.new( [ 0, 1, 1, 0, 0], [0.78, 0.98, 0.25, 0.22] ), gate, doneAction:2) * 0.76], |
| 17 | + [freq * 3, 0, EnvGen.kr(Env.new( [ 0, 1, 0, 1, 0], [0.29, 0.35, 0.22, 0.38] ), gate, doneAction:2) * 0.67], |
| 18 | + [freq * 3, 0, EnvGen.kr(Env.new( [ 0, 1, 0, 1, 0], [0.33, 0.35, 0.25, 0.99] ), gate, doneAction:2) * 0.76], |
| 19 | + [freq * 12, 0, EnvGen.kr(Env.new( [ 0, 1, 0, 1, 0], [0.36, 0.35, 0.15, 0.38] ), gate, doneAction:2) * 0.72], |
| 20 | + [freq * 13, 0, EnvGen.kr(Env.new( [ 0, 1, 0, 1, 0], [0.33, 0.35, 0.25, 0.99] ), gate, doneAction:2) * 0.81], |
| 21 | + ], |
| 22 | + feedback; |
| 23 | + ); |
| 24 | + |
| 25 | + sig = sig + (sig * LFTri.kr(0.35 * 19, mul: 0.51)); |
| 26 | + |
| 27 | + Out.ar(out, Pan2.ar(sig * env * amp, pan)); |
| 28 | +}).add; |
| 29 | + |
| 30 | +SynthDef(\enoviolin3, { |
| 31 | + var sig; |
| 32 | + var feedback = \feedback.kr(0.05); |
| 33 | + var freq = \freq.kr(100); |
| 34 | + var amp = \amp.kr(0.3); |
| 35 | + var out = \out.kr(1); |
| 36 | + var pan = \pan.kr(0); |
| 37 | + var gate = \gate.kr(1); |
| 38 | + var velocity = 1; |
| 39 | + // var gate = Impulse.kr(1); |
| 40 | + var env = EnvGen.kr(Env.new( [ 0, 0.5, 0.5, 0.5, 0.5], [1, 1, 1, 1] ), gate, doneAction:2); |
| 41 | + // var env = EnvGen.kr(Env.adsr( \attackTime.kr(0.01), \decayTime.kr(0.3), \sustainLevel.kr(0.5), \releaseTime.kr(1)), gate, doneAction:2); |
| 42 | + sig = FM7.arAlgo(17, |
| 43 | + [ |
| 44 | + [freq * 2 + 1, 0, EnvGen.kr(Env.new( [ 0, 1.00, 0.90, 0.97, 0], [0.42, 0.00, 0.12, 0.45] ), gate, doneAction:2) * 1],// * (velocity * 4)], |
| 45 | + [freq * 6 - 1, 0, EnvGen.kr(Env.new( [ 0, 1.00, 0.96, 0.89, 0], [0.55, 0.95, 0.00, 0.00] ), gate, doneAction:2) * 0.68],// * (velocity * 1)], |
| 46 | + [freq * 8 + 0, 0, EnvGen.kr(Env.new( [ 0, 0.87, 0.86, 0.00, 0], [0.54, 0.87, 0.00, 0.00] ), gate, doneAction:2) * 0.92],// * (velocity * 2)], |
| 47 | + [freq * 6 + 0, 0, EnvGen.kr(Env.new( [ 0, 1.00, 0.90, 0.00, 0], [0.67, 0.92, 0.28, 0.60] ), gate, doneAction:2) * 0.59],// * (velocity * 1)], |
| 48 | + [freq * 8 - 2, 0, EnvGen.kr(Env.new( [ 0, 1.00, 0.65, 0.60, 0], [0.85, 0.70, 0.97, 0.00] ), gate, doneAction:2) * 0.92],// * (velocity * 1)], |
| 49 | + [freq * 10 + 0, 0, EnvGen.kr(Env.new( [ 0, 1.00, 1.00, 0.97, 0], [0.73, 0.70, 0.60, 0.00] ), gate, doneAction:2) * 0.76],// * (velocity * 1)], |
| 50 | + ], |
| 51 | + feedback; |
| 52 | + ); |
| 53 | + |
| 54 | + sig = sig + (sig * SinOsc.kr(0.35 * 19, mul: 0.35)); |
| 55 | + sig = sig * CombC.ar(sig, 0.2, 0.2 * 0.42, 1); |
| 56 | + |
| 57 | + Out.ar(out, Pan2.ar(sig * env * amp, pan)); |
| 58 | +}).add; |
| 59 | + |
| 60 | +SynthDef(\enoglide, { |
| 61 | + var sig; |
| 62 | + var feedback = \feedback.kr(0.0); |
| 63 | + var freq = \freq.kr(100); |
| 64 | + var amp = \amp.kr(0.3); |
| 65 | + var out = \out.kr(1); |
| 66 | + var pan = \pan.kr(0); |
| 67 | + var gate = \gate.kr(1); |
| 68 | + var velocity = 1; |
| 69 | + // var gate = Impulse.kr(1); |
| 70 | + var env = EnvGen.kr(Env.new( [ 0, 0.5, 0.5, 0.5, 0.0], [0.01, 1, 1, 0.1] ), gate, doneAction:2); |
| 71 | + // var env = EnvGen.kr(Env.adsr( \attackTime.kr(0.01), \decayTime.kr(0.3), \sustainLevel.kr(0.5), \releaseTime.kr(1)), gate, doneAction:2); |
| 72 | + sig = FM7.arAlgo(3, |
| 73 | + [ |
| 74 | + [freq * 1 + 0, 0, EnvGen.kr(Env.new( [ 0, 0.99, 0.99, 0.99, 0], [0.62, 0.21, 0.46, 0.29] ), gate, doneAction:2) * 0.99],// * (velocity * 4)], |
| 75 | + [freq * 1 + 4, 0, EnvGen.kr(Env.new( [ 0, 0.49, 0.50, 0.50, 0], [0.33, 0.45, 0.45, 0.14] ), gate, doneAction:2) * 0.00],// * (velocity * 1)], |
| 76 | + [freq * 1 - 4, 0, EnvGen.kr(Env.new( [ 0, 0.49, 0.50, 0.50, 0], [0.19, 0.45, 0.45, 0.14] ), gate, doneAction:2) * 0.00],// * (velocity * 2)], |
| 77 | + [freq * 2 + 0, 0, EnvGen.kr(Env.new( [ 0, 0.99, 0.99, 0.99, 0], [0.32, 049, 0.46, 0.29] ), gate, doneAction:2) * 0.94],// * (velocity * 1)], |
| 78 | + [freq * 9 + 0, 0, EnvGen.kr(Env.new( [ 0, 0.49, 0.50, 0.50, 0], [0.85, 0.45, 0.45, 0.14] ), gate, doneAction:2) * 0.89],// * (velocity * 1)], |
| 79 | + [freq * 2.884 + 0, 0, EnvGen.kr(Env.new( [ 0, 0.99, 0.99, 0.99, 0], [0.18, 0.47, 0.48, 0.21] ), gate, doneAction:2) * 0.73],// * (velocity * 1)], |
| 80 | + ], |
| 81 | + feedback; |
| 82 | + ); |
| 83 | + |
| 84 | + sig = sig + (sig * LFTri.kr(0.35 * 19, mul: 0.35)); |
| 85 | + // sig = sig * CombC.ar(sig, 0.2, 0.2 * 0.42, 1); |
| 86 | + |
| 87 | + Out.ar(out, Pan2.ar(sig * env * amp, pan)); |
| 88 | +}).add; |
| 89 | +) |
| 90 | + |
| 91 | +// Pbindef(\a, \instrument, \enotamboura, \scale, Scale.harmonicMinor, \degree, Pwhite(0,7), \amp, Pwhite(0.3, 0.5), \octave, Pseq((2..7),inf)).play |
0 commit comments