research, play, Ndef, synth w/ sine and pulse and some patterns

chaos_201207
Luka Prinčič 2020-04-09 13:06:06 +02:00
parent addd44eedb
commit 698823b4ad
2 changed files with 191 additions and 8 deletions

92
LOG.md
View File

@ -1,12 +1,5 @@
# *ark'd, amorphic* development LOG # *ark'd, amorphic* development LOG
## 8.apr, 2020
Ended up with two kinda finished SynthDefs - a granulator (I wonder how could it be made more reusable, there's space for improvement), and a supersaw, that is still quite soft - I think quite useful for some deep ground here and there. I have managed to make it quite clean, and learned a lot in the process, especially regarding the Splay and panning and stereo balancing. Basic loading of whatever is in lib/ and smp/ folders now works. Will need to be improved on the way.
I'm kinda moving towards a self-baked framework for composing *dance* tracks, or at least beat-based stuff. It's probably the only way - to build everything by yourself (of course so much has been built within SuperCollider too on top of which I'm building now. There's now also just a basic Buffer player. I was thinking to just create number of different SynthDefs, all some kind of specific synth sounds - pads, leads, basses, etc. I'm also thinking to get onto the single-cycle waveforms collection and use that for table oscilators: Osc, COsc, VOsc, VOsc3...
I also init remote git repo on git.tmp.si/luka/ark_d.amorphic and pushed current work there (here?).
## 7.apr, 2020 ## 7.apr, 2020
@ -28,4 +21,87 @@ ARCHITECTURE
PATTERNS PATTERNS
- nested - nested
- Ppar, conductor? - Ppar, conductor?
## 8.apr, 2020
Ended up with two kinda finished SynthDefs - a granulator (I wonder how could it be made more reusable, there's space for improvement), and a supersaw, that is still quite soft - I think quite useful for some deep ground here and there. I have managed to make it quite clean, and learned a lot in the process, especially regarding the Splay and panning and stereo balancing. Basic loading of whatever is in lib/ and smp/ folders now works. Will need to be improved on the way.
I'm kinda moving towards a self-baked framework for composing *dance* tracks, or at least beat-based stuff. It's probably the only way - to build everything by yourself (of course so much has been built within SuperCollider too on top of which I'm building now. There's now also just a basic Buffer player. I was thinking to just create number of different SynthDefs, all some kind of specific synth sounds - pads, leads, basses, etc. I'm also thinking to get onto the single-cycle waveforms collection and use that for table oscilators: Osc, COsc, VOsc, VOsc3...
I also init remote git repo on git.tmp.si/luka/ark_d.amorphic and pushed current work there (here?).
## 9.apr, 2020
Three hours of play and learning in the morning. Learned how to use ```Ndef``` and then experimented with first building a synth (using Ndef) with sine and pulse oscilators, adding detuning and filter, converting to a ```SynthDef``` and using ```Ndef``` to play with a ```Pbind```:
```
(
SynthDef(\sinPulz, {
arg gate = 1, freq, out=0, amp = 1, attackTime=0.01, releaseTime=1, oscDetune=0.05, cutoff=1;
var snd, env;
oscDetune = oscDetune * 0.1;
oscDetune = oscDetune+1;
env = Linen.kr(gate, attackTime:attackTime, releaseTime:releaseTime, doneAction:2);
snd = SinOsc.ar([freq, freq*oscDetune]) ;
snd = snd + SinOsc.ar([freq*2, freq*oscDetune*2]) ;
snd = snd + Pulse.ar([freq/2,(freq/2)*oscDetune]) * LFNoise1.kr(0.5).exprange(2,40);
snd = snd.softclip;
snd = RLPF.ar(snd, freq:
//LFNoise1.kr(0.01).exprange(4000,300),
freq * cutoff,
rq:0.4);
snd = snd * env * amp * 0.4;
Out.ar(out, snd);
}).add;
)
// add a delay/reverb bus here?
// first press play :)
Ndef(\ba).play
// set default quant
Ndef(\ba).proxyspace.quant = 5;
(
Ndef(\ba,
Pbindf(
Ppar([
Pbind(
\octave, [4,5,7],
\amp, [0.1,0.2,0.005],
\degree, Pseq([0,3,4,2,6], inf),
\dur, Prand([1,0.5,2], inf),
),
Pbind(
\octave, [3,6],
\degree, Pseq([[0,-3],4,6,3,2], inf),
\dur, 3.5,
\amp, 0.2,
\legato, 0.6,
\attackTime, 2,
\releaseTime, 2,
)]),
// common parameters
\instrument, \sinPulz,
\oscDetune, Prand([1,3,7]*0.01, inf),
\scale, Scale.minor.tuning_(\just),
\cutoff, Prand([1,2,3,4,5,6], inf)
)
)
)
```

107
ark_d.scd
View File

@ -54,6 +54,113 @@ y.set(\pan, 0)
y.set(\gate, 0) y.set(\gate, 0)
z = Synth(\bufPlayer, [\bufnum, ~smpBuffers.at(0)]) z = Synth(\bufPlayer, [\bufnum, ~smpBuffers.at(0)])
///////////////////////////////////////////////////////////////////////////////////////////
(
SynthDef(\sinPulz, {
arg gate = 1, freq, out=0, amp = 1, attackTime=0.01, releaseTime=1, oscDetune=0.05, cutoff=1;
var snd, env;
oscDetune = oscDetune * 0.1;
oscDetune = oscDetune+1;
env = Linen.kr(gate, attackTime:attackTime, releaseTime:releaseTime, doneAction:2);
snd = SinOsc.ar([freq, freq*oscDetune]) ;
snd = snd + SinOsc.ar([freq*2, freq*oscDetune*2]) ;
snd = snd + Pulse.ar([freq/2,(freq/2)*oscDetune]) * LFNoise1.kr(0.5).exprange(2,40);
snd = snd.softclip;
snd = RLPF.ar(snd, freq:
//LFNoise1.kr(0.01).exprange(4000,300),
freq * cutoff,
rq:0.4);
snd = snd * env * amp * 0.4;
Out.ar(out, snd);
}).add;
)
// add a delay/reverb bus here?
// first press play :)
Ndef(\ba).play
// set default quant
Ndef(\ba).proxyspace.quant = 5;
(
Ndef(\ba,
Pbindf(
Ppar([
Pbind(
\octave, [4,5,7],
\amp, [0.1,0.2,0.005],
\degree, Pseq([0,3,4,2,6], inf),
\dur, Prand([1,0.5,2], inf),
),
Pbind(
\octave, [3,6],
\degree, Pseq([[0,-3],4,6,3,2], inf),
\dur, 3.5,
\amp, 0.2,
\legato, 0.6,
\attackTime, 2,
\releaseTime, 2,
)]),
// common parameters
\instrument, \sinPulz,
\oscDetune, Prand([1,3,7]*0.01, inf),
\scale, Scale.minor.tuning_(\just),
\cutoff, Prand([1,2,3,4,5,6], inf)
)
)
)
////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////