Supercollider tips, Q/A


#244

so cool. Keep it coming. :slight_smile: maybe cylob will turn up


#245

I might be the only one thats heard it,. .It sounded like a regular phrase then stretched like taffy, Perfectly. No artifacts, No spectrally sounds.


#246

@scztt so funny, immediately after writing that post i went and found your Quark. it is very elegant, and just what i had in mind (thinking of the dyadic filterbank from the Faust libraries.)

i don’t have BLPF though - it’s an IIR of arbitrary order?

(for industry work though, what i’ve found is that dyadic filterbanks ultimately impose too much group delay with a significant number of subbands. we’ve ended up using multirate structures instead.)


#247

I’ve been trying to split bands using the bark scale for years in supercollider. My mind is blown! Finally! Thank you!


#248

So, any way to tidy this up onto the ideal patch?


#249

ERROR: binary operator ‘+’ failed.
RECEIVER:

when I execute;
~band_signal_bus = Bus.audio(s, n);
~band_amp_bus = Bus.control(s, n);


#250

dunno. make sure s is set to Server.default or something.


#251

shame there wasn’t a working example posted. I can’t do it. Don’t have the brains


#252

Didn’t my example work…?


#253

oh, apologies, i hadn’t defined n in that snippet.

here is a full and working script:

of course this is just a multiband envelope follower that happens to be bark-scaled. it doesn’t make music, let alone cylob’s music.

@frankchannel’s script also works for me, and maps things to oscillators.

(however, big caveat that Tartini requires sc3-plugins to be installed, use Pitch instead if you don’t want to install that.)

more extended musical applications are really a creative endeavor.


#254

Yeah, nothing that sounds like the original that I can tell. Thanks for the effort


#255

but thank you everybody


#256

so zebra, so what global variable is spitting out the numbers to play oscillators? You are there, just needs to play something.


#257

Cylob must have done some other stuff to in the text


#258

I stuck a
SinOsc.ar(~band_signal_bus, mul:Lag.kr(~band_amp_bus, 0.2));
in zebras routine.
no sound
no error

Clearly have no clue


#259

@skee

you’re asking for a lot of things, many of which are not well defined, and in my view are really compositional parameters.

that script shows you how to make a multiband envelope follower that is psychoacoustically meaningful. i have no idea how you want to use that.

a separate part of your question is about recording and manipulating acoustic analysis results, as synthesis parameters, particularly pitch. here is a gist that demonstrates recording and playing back pitch, clarity, amplitude and flatness from a buffer:

to use:

  • hit “record” to start recording analysis params, in a loop, into a short buffer (8sec arbitrarily.)
  • manipulate pitch playback parameters using the number boxes (use arrow keys.)

of course i imagine you would want to have many buffers, manipulate loop times, and so on. this is outside the scope of the demo.

also outside the scope is how you would use the filterbank in conjunction with such processes, and of course implementing the overall compositional / performance goals.

i hope this helps illustrate some of the techniques you require. the rest of it is creative work, which i can’t accomplish for you.

there are a few issues here, the most important one being that you need an In ugen to play or read something from a bus within a SynthDef.

not totally clear to me what you’re trying to do. something like frank’s example?

assuming so, i’ve updated the first gist to attach a sine wave to each bark band, tracking pitch and amplitude within that subband. it’s an extremely weird kind of crummy vocoder!


#260

every little bit helps. Thank you


#261

Thank you. Good study tool.


#262

Hi, I feel sort of ashamed for even opening this thread, but here we go. I am just taking my very, very first steps in SuperCollider, have installed SC on my Mac and reading thru the SC online tutorial.

So there’s this line of code on that page:
{ [SinOsc.ar(440, 0, 0.2), SinOsc.ar(442, 0, 0.2)] }.play;

When I evaluate this line of code, I hear two slightly detuned sine wave beating against each other.

Now when I play around with the code and try to evaluate this:
{ [SinOsc.ar(440, 0, 0.2), SinOsc.ar(442, 0, 0.2), SinOsc.ar(542, 0, 0.2)] }.play;
I still just hear the first two sine waves.

Please, why am I not hearing the third sine wave?


#263

I’m not a supercollider expert by any stretch, so take this with a grain of salt, but I think what’s happening is that your first two sine waves are being sent to the left and right speakers, respectively. So when you add the third one, it gets sent to a third “speaker”/channel, which you don’t have and therefore can’t hear. This is part of supercollider’s multichannel expansion functionality.

To split more than two channels/sources across the stereo field you could use the splay or Pan2 ugens.

Hope this helps.