(
~gamma = [0, 2, 4, 5, 7, 9, 11, 12].scramble;
~drums = (36..51).scramble;
-~beat = ~makeBeat.(7, dur: 8, db: 0);
+~beat = ~makeBeat.(7, dur: 4, db: 0);
+)
+(
Pdef(\pobitopy, Pbind(*[
type: \midi,
midiout: ~ableton,
chan: 0,
midicmd: \noteOn,
- midinote: Pshuf(~gamma.wrapExtend(~beat.size)+24, inf),
+ //midinote: Pshuf([0, 0, 2, 5, 7, 7].wrapExtend(~beat.size)+84, inf).trace,
+ midinote: Prand([42], inf).trace,
#[\dur, \dummy3, \db, \dummy1, \dummy2]: Pseq(
~beat, inf,
),
+ legato: 0.9,
hasGate: true,
])).quant_(4).play;
)
--- /dev/null
+
+(
+~tempo = 94;
+TempoClock.tempo_(~tempo*2 / 60);
+)
+
+(
+SynthDef(\dyti, {
+ | out=0, gate=1, freq=440, amp=1, pan=0, doneAction=2, cut=800, rez=0.8,
+ modFreqMin=7, modFreqMax=12, modAmp=0.01, release=1.0 |
+ var sig = 0;
+ var panDelay = 0.005;
+ var modFreq = SinOsc.kr(Rand(modFreqMin, modFreqMax), 0, modAmp, 1);
+ sig = sig + Pulse.ar(freq * modFreq);
+ sig = RLPF.ar(sig, cut, rez);
+ sig = sig * EnvGen.ar(Env.asr(releaseTime: release), gate, doneAction: doneAction);
+ sig = Pan2.ar(sig, pan);
+ sig = [DelayN.ar(sig[0], panDelay, (panDelay*pan).clip(0, 1)), DelayN.ar(sig[1], panDelay, (panDelay.neg*pan).clip(0, 1))];
+ Out.ar(out, sig * amp);
+}).add;
+
+SynthDef(\sinyhono, {|out=0, amp=1, pan=0, t_trig=0, tension=0.05, loss=0.99999, impact=0.1, sustain=0.5|
+ var sig, excitation, tensionEnv;
+ excitation = EnvGen.kr(Env.perc, t_trig, timeScale: impact, doneAction: 0);
+ excitation = excitation * PinkNoise.ar();
+ //tensionEnv = XLine.kr(tension*2, tension, sustain/2);
+ sig = MembraneCircle.ar(excitation, tension, loss, mul: amp);
+ sig = Pan2.ar(sig, pan);
+ Out.ar(out, sig);
+}).add;
+)
+
+(
+~tuning = Tuning.et(13);
+~scale = Scale.new(#[0, 3, 5, 8, 10], 13, ~tuning);
+)
+
+(
+Pdef(\kilobona, Pmono(\sinyhono, *[
+ out: a.h,
+ db: -15,
+ pan: Pwhite(-0.1, 0.1),
+ dur: Pseq([3, 2, 2], inf),
+ trig: 1,
+ tension: Pseq([0.005, 0.01, 0.015], inf),
+ loss: 0.9998,
+ impact: 0.1,
+])).quant_(7).stop;
+
+Pdef(\hiwynase, Pbind(*[
+ out: a.h,
+ instrument: \dyti,
+ db: -12,
+ pan: Pwhite(-0.1, 0.1),
+ dur: 7,
+ legato: 0.1,
+ attack: Pwhite(0.01, 0.02),
+ release: Pwhite(2.8, 3.0),
+ scale: Pn(~scale),
+ octave: 2,
+ degree: Pseq([2, 3, 5], inf),
+ modFreqMin: 1,
+ modFreqMax: 3,
+])).quant_(7).stop;
+
+Pdef(\vosavapo, Pbind(*[
+ out: a.h,
+ instrument: \dyti,
+ db: -20,
+ pan: Pwhite(-0.5, 0.5),
+ dur: 7/4,
+ attack: Pwhite(0.01, 0.02),
+ release: Pwhite(0.8, 1.0)/4,
+ scale: Pn(~scale),
+ octave: 4,
+ degree: Pn(Pseq([0, 3, 1, 2], 1), inf),
+ //note: Pn(Pseq((12..0), 1), inf),
+])).quant_(7).stop;
+)
\ No newline at end of file
--- /dev/null
+(
+SynthDef(\kificige, {|
+ out = 0,
+ freq = 440,
+ amp = 1.0,
+ gate = 1
+ |
+ var ctls, mods, chans, sig, venv, env2;
+ env2 = EnvGen.kr(Env([1, 0.7, 0.2], [0.01, 0.3], -4.0, 2),
+ gate, doneAction: 0);
+ ctls = [
+ // freq, phase, amp
+ [freq*1, 0, env2],
+ [freq*2, 0, 1],
+ [freq, 0, 1],
+ [freq, 0, 1],
+ [freq, 0, 1],
+ [freq, 0, 1]
+ ];
+ mods = [
+ [1, 1, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0],
+ [0, 0, 0, 0, 0, 0]
+ ];
+ chans = [0];
+ sig = FM7.ar(ctls, mods).slice(chans);
+ venv = EnvGen.kr(Env([1, 0.7, 0.2], [0.01, 0.3], -4.0, 2),
+ gate, doneAction: 2);
+ sig = Splay.ar(sig) * amp;
+ Out.ar(out, sig);
+}).add;
+)
+
+(
+Pdef(\zojukodu, Pbind(*[
+ instrument: \kificige,
+ dur: 1,
+ db: -10,
+ legato: 0.3,
+ octave: 3,
+ degree: 0,
+ out: a.h,
+])).quant_(4).play;
+)
+
+TempoClock.tempo = 110 / 60;
\ No newline at end of file