diff --git a/2021-02-20_ichika_nito_arpeggio.scd b/2021-02-20_ichika_nito_arpeggio.scd new file mode 100644 index 0000000..9a369a4 --- /dev/null +++ b/2021-02-20_ichika_nito_arpeggio.scd @@ -0,0 +1,115 @@ +// ===================================================================== +// SuperCollider Workspace 20.FEB 2021 +// ===================================================================== + +( + +Server.default.waitForBoot { fork { + + ~revBus.free; + ~revFx.free; + + s.sync; + + ~revBus = Bus.audio(s, 2); + + SynthDef(\bet, { |gate = 1, freq = 234, out = 0, pan = 0, amp = 0.1, cutoff = 4000 | + var snd, env, fenv; + freq = [freq, freq * 1.01] * Rand(0.995, 1.0); + freq = freq * SinOsc.kr(5).range(0.99, 1.01); + env = EnvGen.ar(Env.asr(0, 1, 3), gate, doneAction:2); + fenv = EnvGen.ar(Env.adsr(0.05, 0.5, 0.4, 2), gate); + snd = SinOsc.ar(freq); + snd = snd + Pulse.ar(freq * 0.5, mul:0.8); + snd = snd + LFTri.ar(freq * [1,2].choose * 1.01, mul:1); + snd = LPF.ar(snd, cutoff * fenv + 100); + snd = snd * env * amp; + snd = Balance2.ar(snd[0], snd[1], pan, 0.7); + Out.ar(out, snd); + }).add; + + SynthDef(\revfx, { |inBus, outBus = 0, wet = 0.3, amp = 0.2| + var snd, rev; + + snd = In.ar(inBus, 2); + snd = BHiShelf.ar(snd, 5000, db:-3); + rev = GVerb.ar(snd, 100, taillevel:wet); + rev = rev * amp; + + Out.ar(outBus, rev); + }).add; + + s.sync; + + ~revFx = Synth(\revfx, [\inBus, ~revBus, \amp, 0.4, \wet, 0.4], addAction:\addAfter); + + s.sync; + + Pbindef(\betP, *[ + instrument: \bet, + dur: Prand((1..10), inf) * 0.03 + 1/4 * 0.8, + + note: Pseq([ + -3, 13, 15, 20, 16, Rest(), // Dbm(add9)/A + -3, 12, 18, 23, 16, Rest(), // Am69 + -4, 6, 11, 15, 16, Rest(), // EM9/Ab + -4, 6, 13, 15, 16, Rest(), // Ab7sus4(-13( + -6, 6, 9, 13, 20, Rest(), // Gbm(add9) + -4, 8, 12, 18, 16, Rest(), // Abaug7 + + 1, 13, 15, 20, 16, Rest(), // Dbm(add9) + -1, 11, 15, 20, 16, Rest(), // EM7/B + -3, 13, 15, 20, 16, Rest(), // Dbm(add9)/A + -3, 12, 18, 23, 25, Rest(), // Gbsus4(+11)/A + -6, 6, 9, 13, 20, Rest(), // Gbm(add9) + -4, 3, 6, 11, 15, 20, // Abm7 // 12*6 + ], inf), + + octave: Pseq([ + Prand([[5,4],[5,6],[4,5,6]]), + Pn(Pwrand([5,6],[0.7,0.3]), 5) + ], inf), + + legato: Pseq([4, Pn(Prand((2..5)*0.2),5)],inf), + cutoff: Prand((1..4),inf) * + Pseg([50, 1000, 1000, 50, 10], [60, 60, 30, 20], \cub), + amp: Pseg([0, 0.1, 0.1, 0.01, 0], [10, 120, 30, 10], \cub), + out: ~revBus, + pan: Prand((0..10)-5*0.1, inf) + ]).play + +}} +) + + +// notes: + /* +// Db Eb Fb E# Gb Ab Bb Cb +// C C# D D# E F F# G G# A A# B C +// 0 1 2 3 4 5 6 7 8 9 10 11 12 + +// guitar strings +// E A D G B E +// -8 -3 2 7 11 16 + + // guitar strings + // E A D G B E + // -8, -3, 2, 7, 11, 16 + + // taken from Ichika Nito - Arpeggio + + -3, 2+11, 7+8, 11+9, 16, Rest(), // Dbm(add9)/A + -3, 2+10, 7+11, 11+12, 16, Rest(), // Am69 + -8+4, 2+4, 7+4, 11+4, 16 , Rest(), // EM9/Ab + -8+4, 2+4, 7+6, 11+4, 16 , Rest(), // Ab7sus4(-13( + + -8+2, 2+4, 7+2, 11+2, 16+4, Rest(), // Gbm(add9) + -8+4, 2+6, 7+5, 11+7, 16, Rest(), // Abaug7 + -8+9, 2+11, 7+8, 11+9, 16, Rest(), // Dbm(add9) + -8+7, 2+9, 7+8, 11+9, 16, Rest(), // EM7/B + -3, 2+11, 7+8, 11+9, 16, Rest(), // Dbm(add9)/A + -3, 2+10, 7+11, 11+12, 16+9, Rest(), // Gbsus4(+11)/A + -8+4, -3+6, 2+4, 7+4, 11+4, 16+4, // Abm7 + + */ +