Supercollider tips, Q/A


Is there anyway to get Emacs keybindings to work in scide on Linux?


Not sure but scel + sclang-extensions makes emacs itself a very nice way to write Supercollider code.


Thanks for the suggestion, I’ve tried using that before. I’m really a Spacemacs user, so anything in proper Emacs scares me! But I am happy using Emacs bindings in most other software (just not Emacs…).

There is a Vim plugin for SuperCollder I might try that at some point, but I’m still enjoying the training wheels that the IDE provides at the moment (except when I type ctrl-a, etc).


there’s too


I’ve been using SC to control some modulars a bit lately (mostly 0-coast and moog mother). If it would be helpful, I could post some example code around scaling and tuning for VCOs, and using the pattern system to do CV-based sequencing. In general it’s pretty straightforward, and you can quickly get to some VERY powerful things - I imagine using the expertsleepers avoids some of the voltage pitfalls of, e.g. MOTU devices (which have varying voltage across models, and even across outputs on a single device).


g-roma on github has been bringing the SuperCollider AU functionality back to life (see and I don’t think it’s fully functional yet, but it seems like it’s well on it’s way.


I’d love to see some of your code for modulars. I’ll try to work on some basic stuff tonight’s when I get home too.


That would be nice! Especially some sequencing code would be interesting.
I think I‘m mostly interested in generating (generative) cv.


Okay, so I’m doing some tests with the ES-8 and SuperCollider. I should have realized this before, but using won’t work completely because it would only give you the positive voltages. Or it will read negative voltages as positive values. But just reading the values from a UGen will give you positive and negative values. So that is pretty simple.

Here is a simple example using Ndef. I’m adding 0.43 to the input because the lowest value I’m reading from channel 2 of MATHS is -0.42 or so. Questions? Thoughts? Using Ndefs seems like a pretty powerful way to distribute and map the CV values.

		var cv =,1,0.43);


		var sound =\cv1).ar.linlin(0,1,400,2000), 0, 0.5);



Im also interested to see/hear more about using SC in a modular context…

Ive got a Bela Salt, which Ive been using for PD so far, but SC is already installed - so it would be fun to see what SC can add to the party - I think I’m interested in perhaps more live coding/patching… and perhaps having synthdefs/patterndefs setup to make that easier/quicker.

(Ive only a few modules so far in my setup, so getting the most bang for buck out of Salt is my priority at the moment :slight_smile: )


I’ve just tested SuperCollider on a Terminal Tedium (using the OSC client of TT) and it works great. That’s also a possibility if one wants to include SC in a modular environment.
Edit : At the moment, I think it’s not possible to send OSC messages to the gate outputs


I´m trying out your example. And trying to understand what’s happening.

Why are you using Lag?


the ugen provides portamento functionality for your CV sequencer :sunglasses:

which bit is confusing you?


I was confused about Lag :grimacing:. Thank you.

Yesterday I found some time to play around with SC and my modular. Just some simple and basics things. Even this was quite cool.
I got the impression that the SC/Modular combo opens up a new powerful world.
I will definitely dive deeper …:nerd_face:


Started with some SuperCollider this morning with the help of the Eli Fieldsteel tutorials and @trickyflemming’s excellent intro post in the norns thread. Does anyone know of any workshops in London? Failing that, any teachers? This learning curve seems very steep and I think I’d do better with a real person in the same room as me helping me out :slight_smile:


In a similar situation to you. Saw Music Hackspace had offered some recently but sadly I only noticed after the first had already taken place. Perhaps the instructor could recommend someone, so I’m copying the link.


Yeah, I noticed the same thing! I emailed them to see if they’re running the course again in the future. Will report back.


I want to write a simple script for transform/route a Start message (system real-time message) from a device to a note on message to another, i.e. When the Play button of Digitakt is being pressed, the C4 key from Prophet '08 would get pressed and latched, until Digitakt press Stop

What I wrote was:


m =;
MIDIdef.sysrt(10, {m.noteOn(0, 60, 64)});

It doesn’t work properly, although it can respond in some ways but the note get stuck. I test it by using post window with postln:

MIDIdef.sysrt(10, {"Start".postln});

and realized the start message is keeping sending out and that is why the note got stuck.

I only need the initial start message, what is the best way to achieve this? Thanks!


Don’t you need msgType = start , otherwise I’d suspect you are responding also tick which of course is continuously sent

( I assume you probably want a separate stop as well to send note off ?)


Thanks! Can you elaborate? :slight_smile:

Yes I think I need a line for stop message > note off too.