Files
BuboQuark/dev_sessions/midi_cc.scd
2024-05-15 11:59:52 +02:00

91 lines
1.9 KiB
Plaintext

(
m = MIDIOut.newByName("MIDI", "Bus 1");
~cc >>+ [num: 20, pat: "[10 50 100 [120 100]]/2", midiout: m ];
~cc.play;
)
(
m = MIDIOut.newByName("MIDI", "Bus 1");
~test >> [
midiout: m,
degree: [0, 2, 4, 5].pxrand(inf),
chan: 1, dur: [5,8,0].eu / 4,
octave: 5, amp: 1/2,
];
~test.play;
)
(
m = MIDIOut.newByName("MIDI", "Bus 1");
~cc >>+ [
num: 20, dur: 1/8, midiout: m,
pat: "10 20 30 40 50 70 100 120",
];
~cc.play;
)
// TEST: Avec des samples
(
~test => [pat: "[kick hat snare hat:5]/2", test: Pfunc { |e| e.postln; e }];
~hat => [pat: "[hat!3 hat:5]", test: Pfunc { |e| e.postln; e }, speed: 2, release: 1/16];
~test.play;
~hat.play;
)
// TEST: Avec un synthétiseur
(
~test => [pat: "0 3 5 <7 ~>", i: "Pwaveshape", octave: 6, harm: 0.25];
~test.play;
)
// TEST: une mélodie MIDI
(
m = MIDIOut.newByName("MIDI", "Bus 1");
~test >> [
scale: Scale.dorian,
pat: "<[[0, 3, 6] 1 2 3] [[0, 4, 7] 5 6 7]>/2",
midiout: m,
amp: [0.0, 1.0].pwhite(inf),
octave: [6], legato: 0.5,
chan: 1, release: 1/8,
];
~test.play;
~other >> [
scale: Scale.dorian,
pat: "<[[0, 3, 6] 1 2 3] [[0, 4, 7] 5 6 7]>",
midiout: m,
amp: [0.0, 1.0].pwhite(inf),
octave: [
[5, 5, 6].pseq(8),
[4, 5, 7].pseq(8),
].pseq(inf),
legato: 0.5,
chan: 1, release: 1/8,
];
~other.play;
~ground => [pat: "[kick:3!2, snare:3]/2", amp: 12];
~ground.play;
)
(
SynthDef('acid', {
var freq = \freq.kr(100).varlag(\glide.kr(0.05));
var signal = PulseDPW.ar([freq / 2, freq / 1.99])
+ SawDPW.ar([freq, freq / 1.99]);
var env = Env.perc(
\attack.kr(0.1),
\release.kr(0.125)).ar(0);
var synth = signal * env;
synth = RLPF.ar(signal,
\ffreq.kr(1500).lag(\glide.kr),
\res.kr(0.2).lag(\glide.kr));
synth = Pan2.ar(synth, \pan.kr(0));
OffsetOut.ar(\out.kr(0), synth * \amp.kr(-24.dbamp));
}).add;
~acid -> ['acid', dur: (1/2), amp: 0.5, pat: "[0 2 4 5]/2"];
~acid.play;
)
~acid.source