Testers wanted: ddwLivecodeInstruments and chucklib-livecode tutorial

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Testers wanted: ddwLivecodeInstruments and chucklib-livecode tutorial

ddw_music
Possibly premature, but I'm pushing out an update to my chucklib-livecode
improvisation system, with a new set of prebuilt instruments and a tutorial
section in the manual.

I think it's at the point where someone could install it and dig into the
tutorial examples without much fuss -- which is where I'm asking if anyone
is curious to try it out.

Quarks.install("ddwChucklib-livecode");
Quarks.install("ddwLivecodeInstruments");

https://github.com/jamshark70/ddwChucklib-livecode
https://github.com/jamshark70/ddwLivecodeInstruments

Then look for downloaded-quarks/ddwChucklib-livecode/cl-manual.pdf.

These depend on several other quarks, so it's much easier to install if
you're using git. Otherwise, the PDF manual has details.

I'm testing on 3.9 beta (and I hope I haven't missed any local extensions!).
It *should* work on 3.8 as well.

I'll be busy for the next couple of days, but I'll be glad to hear about
issues and fix them when I can. Probably the best way is to log issues at
https://github.com/jamshark70/ddwChucklib-livecode/issues

Thanks!
hjh

PS Quick drumkit example:

\loadAllCl.eval;
s.boot;
TempoClock.tempo = 124/60;

/hh.(\hardhh);
/hhh = ".-.-.-.-";
/hhh+

/drum.(\tightsnr);
/tsn = " - -";
/tsn+

/drum.(\deepkick);
/dk = "o| o| _o |";
/dk+

// mixing board
/makeEmptyMixer8.();
/hhh => MCG(0);
/tsn => MCG(1);
/dk => MCG(2);

/hhh/tsn/dk-




--
Sent from: http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/SuperCollider-Users-New-Use-this-f2676391.html

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

Re: Testers wanted: ddwLivecodeInstruments and chucklib-livecode tutorial

ddw_music
ddw_music wrote

> Possibly premature, but I'm pushing out an update to my chucklib-livecode
> improvisation system, with a new set of prebuilt instruments and a
> tutorial section in the manual.
>
> I think it's at the point where someone could install it and dig into the
> tutorial examples without much fuss -- which is where I'm asking if anyone
> is curious to try it out.
>
> Quarks.install("ddwChucklib-livecode");
> Quarks.install("ddwLivecodeInstruments");

Well, it was premature...

It's just been reported to me that I missed a few quark dependencies -- I'm
unfortunately forced to be away from my computer all day, but it's easy to
fix, will do it in 12-15 hours.

In the meantime, these should help:

- ddwEQ
- ddwMIDI
- ddwSensitivity
- TabbedView

... and there's one other issue that may affect the pitch players.

Thanks to clfest/Henricus for reporting :)

hjh



--
Sent from: http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/SuperCollider-Users-New-Use-this-f2676391.html

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

Re: Testers wanted: ddwLivecodeInstruments and chucklib-livecode tutorial

Henricus J. Holtman
Now your first example:

\loadAllCl.eval
TempoClock.tempo = 124/60;
/hh.(\hardhh);
...
/hhh/tsn/dk-

works. You program them, I break them. I'll have to
dig into this Quark more. Thanks.

On 01/13/2018 04:11 PM, [hidden email] wrote:

> ddw_music wrote
>> Possibly premature, but I'm pushing out an update to my chucklib-livecode
>> improvisation system, with a new set of prebuilt instruments and a
>> tutorial section in the manual.
>>
>> I think it's at the point where someone could install it and dig into the
>> tutorial examples without much fuss -- which is where I'm asking if anyone
>> is curious to try it out.
>>
>> Quarks.install("ddwChucklib-livecode");
>> Quarks.install("ddwLivecodeInstruments");
> Well, it was premature...
>
> It's just been reported to me that I missed a few quark dependencies -- I'm
> unfortunately forced to be away from my computer all day, but it's easy to
> fix, will do it in 12-15 hours.
>
> In the meantime, these should help:
>
> - ddwEQ
> - ddwMIDI
> - ddwSensitivity
> - TabbedView
>
> ... and there's one other issue that may affect the pitch players.
>
> Thanks to clfest/Henricus for reporting :)
>
> hjh
>
>
>
> --
> Sent from: http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/SuperCollider-Users-New-Use-this-f2676391.html
>
> _______________________________________________
> sc-users mailing list
>
> info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
> archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
> search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
>

--
Time is an imaginary number. Entropy always wins.


_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

Re: Testers wanted: ddwLivecodeInstruments and chucklib-livecode tutorial

ddw_music
In reply to this post by ddw_music
ddw_music wrote

> ddw_music wrote
>> Possibly premature, but I'm pushing out an update to my chucklib-livecode
>> improvisation system, with a new set of prebuilt instruments and a
>> tutorial section in the manual.
>>
>> I think it's at the point where someone could install it and dig into the
>> tutorial examples without much fuss -- which is where I'm asking if
>> anyone
>> is curious to try it out.
>>
>> Quarks.install("ddwChucklib-livecode");
>> Quarks.install("ddwLivecodeInstruments");
>
> Well, it was premature...
>
> It's just been reported to me that I missed a few quark dependencies --
> I'm unfortunately forced to be away from my computer all day, but it's
> easy to fix, will do it in 12-15 hours.

Should be all fixed now -- I tested from a default class library, no
extensions, and installing ddwLivecodeInstruments, and then I could load the
chucklib-livecode environment and instruments without error messages, and a
quick trial run of one of the instruments was also fine.

You'll need to update at least ddwCommon, ddwChucklib-livecode and
ddwLivecodeInstruments to get all the fixes.

Thanks again for the report!

hjh



--
Sent from: http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/SuperCollider-Users-New-Use-this-f2676391.html

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/
Reply | Threaded
Open this post in threaded view
|

Re: Testers wanted: ddwLivecodeInstruments and chucklib-livecode tutorial

ddw_music
In reply to this post by ddw_music
Just for fun: Another demo.

\loadAllCl.eval;
s.boot;
TempoClock.tempo = 116/60;

/make(pulseLeadVC:pl/melBP:m);

/m = "\delta("", "*", 0.25, 0, 2, 1)::\ins(, "@", 16, 0.25)::\seq(,
"12456")::\seq(, "3'4'2'1'6'2'", "@")::\artic(, "~")";
/m..acc = ">.  |||";

/m+

/m-

Equivalent in "straight" SC (SynthDef below [1]) -- a bit harder to jam on
stage, I'd imagine.

(
var low = Pseq([0, 1, 3, 4, 5], inf).asStream,
high = Pseq([9, 10, 8, 7, 12, 8], inf).asStream,
numHigh = Pwrand([1, 2], [2, 1].normalizeSum, inf).asStream;

p = Pn(
        Pfindur(4, Pmono(
                \pulseLead,
                \degree, Pseq([
                        Pfin(1, low),
                        Pfin(numHigh, high)
                ], inf),
                \dur, 0.25,
                \acc, Pseq([1, Pn(0, inf)], 1),
                \ffHeight, 2, \ffreq, 1800
        )),
        inf
).play;
)

p.stop;

hjh

[1] From ddwLivecodeInstruments:
(
SynthDef(\pulseLead, { |out, gate = 1, t_gate, amp = 0.1,
        freq = 440, i_prevFreq = -1,  // for initial pitch slide
        pwidth = 0.5, detun = 1.01, detunRand = 1.005, widthRand = 0.05, freqLag =
0.08, spread = 0.6,
        ffreq = 2000, gain = 1, t_panic = 0, ffDecay = 0.1, ffHeight = 0, acc = 0,
        atk = 0.01, dcy = 0.15, sus = 0.5, rel = 0.1, retrigLevel = 0.05|
        var n = 7,
        sig,
        detuneArray = Array.fill(n, { |i| detun ** (i / (n-1) * 2 - 1) }),
        ffreqEg = EnvGen.kr(Env.perc(0.01, ffDecay), gate) * (ffHeight * (acc >
0)),
        egTest = LocalIn.kr(1, 0), eg,
        retrig = t_gate * (egTest < retrigLevel);  // at trig time, are we below
retrigLevel?

        i_prevFreq = Select.kr(i_prevFreq < 0, [i_prevFreq, freq]);  // negative,
don't slide
        freq = Select.kr(
                // moderately obscene workaround for
                // https://github.com/supercollider/supercollider/issues/2343
                Duty.kr(Dseq([ControlDur.ir, Dseq([1], inf)]), 0, Dseq([1, Dseq([0],
inf)])),
                [freq, i_prevFreq]
        );
        freq = Lag.kr(freq, freqLag);

        sig = Pulse.ar(
                freq * detuneArray * Array.fill(detuneArray.size, {
                        TExpRand.kr(detunRand.reciprocal, detunRand, t_gate)
                }),
                Clip.kr(pwidth + Array.fill(detuneArray.size, {
                        TRand.kr(widthRand.neg, widthRand, t_gate)
                }), 0.01, 0.99)
        );
        sig = Splay.ar(sig.scramble, spread) * amp;

        ffreq = ffreq * (1 + ffreqEg);
        sig = MoogFF.ar(sig, Clip.kr(ffreq, 20, 20000), gain, t_panic);

        gate = (gate > 0) - (retrig > 0);
        eg = EnvGen.kr(Env.adsr(atk, dcy, sus, rel), gate, doneAction: 2);
        LocalOut.kr(eg, DC.kr(0));  // workaround for 3.8 bug
        sig = sig * eg;

        Out.ar(out, sig);
}).add;
)



--
Sent from: http://new-supercollider-mailing-lists-forums-use-these.2681727.n2.nabble.com/SuperCollider-Users-New-Use-this-f2676391.html

_______________________________________________
sc-users mailing list

info (subscription, etc.): http://www.birmingham.ac.uk/facilities/ea-studios/research/supercollider/mailinglist.aspx
archive: http://www.listarc.bham.ac.uk/marchives/sc-users/
search: http://www.listarc.bham.ac.uk/lists/sc-users/search/