Separate output channels for live_loops (or buffers)?

Hi @KAtA,

this is actually quite simple - at least if you can use Jack for routing. I’ll explain in my own words, which might not be technically correct but work in practice. The default configuration for Sonic Pi and Supercollider is, that there will be 16 in- and output channel (8 stereo). Sonic Pi uses 1 + 2 as default to send audio to the system output (speakers). If I e. g. want to route output channels from Sonic Pi through external effects I could use channel 3 and 4 for Sonic Pi, route this into a reverb and then to the system output. I then would have to remove (or mute) the default output channel 1 + 2 because one the one hand I will get distortion because the output would be to high and on the other hand 1 + 2 would provide dry output (without reverb) besides the wet output from channel 3 and 4:

So if I want to explicitely route sound from Sonic Pi I do the following:

  • remove the default channel 1 and 2 connection to system output in Jack (resp. Carla or some other tool like Patchbay)
  • set up the effects and connections in Jack (resp. Carla …)
  • use with_fx :sound_out_stereo (if I don’t reconfigure SP resp. Supercollider I will have 7 track: 3 (+4), 5 (+6) etc.)
  • ah, I almost forgot: make sure that I explicitly route all live_loops to one of the channels 3 to 16 (except 1/2) because if I don’t this loop will be muted because I killed the default output 1 + 2 …
  • and, last but not least, on the picture I have one clean (stereo) channel which is 3/4 (this is the dry channel without effect and sort of replaces the default 1/2 connection); 5/6, 7/8 and 9/10 are being routed through effects and then to system output.

Unfortunately I have no idea how to achieve such a setup on MacOSX or Windows unless you install Jack (which is mandatory on Linux/Raspi if you work with Sonic Pi). Hope that helps.

Anyone, please feel free to correct me if I fail to be correct concerning the technical side …

1 Like