Using external DSP effects (Linux)?

Hmm, I’ve been messing around with pure data and supercollider a lot.
While writing my own synthesizers in PD and SC works like a charm using
the external MIDI instrument support with Jack and the line in-return.

I wonder whether it is possible to wire in external effect units as track DSP on Linux.
I don’t mean VST/DSSI/LADSPA-fx but to wire in an external hardware effect
unit or maybe supercollider using Jack. This would require to “send” a single
track out via Jack and return it back in (which would probably be possible
using the line-in device). Does anyone have an idea whether this is possible
somehow with Renoise (I haven’t found a way yet)?

Yes, very possible. Even though I don’t have any ext FX, I’ve tried this technique.
first: go to renoise audio prefs, where it says Jack, then configure it to use more (like 8) ins and outs
second: in qjackctl (I assume that’s what you use) route the “Renoise Out 3/4” to the “Renoise In 3/4”
next: create a send track and set its routing to “Renoise Out 3/4” (it appears in the pre-fx mixer pane in track dsps, and another dropbox in the mixer view; normally says “Master”)
next: put a #Line-In somewhere you like and set it to sample from “Renoise In 3/4” or the like

there you go. Warning; this setup can definitely create annoying hissing shit when used with delays or too much feedbacking extfx… Second warning: I’ve used it e.g. to have a Delay’s feedback chain contain somewhat of a CabSim distortion :ph34r: : Cool result but! You cannot render it from within Renoise, if you want to render you have to use something like JACK-record or whatevs.

I’ve yet to find some solution for ASIO/ASIO4All that makes multiple virtual channels and connecting so easy! JACK is the shizznit.

PS. Of course, I didn’t think of this factoid before but to really make use of external FX you will need to use an actual second output on your sound card.

Ah! I see now. Thanks for that tip, I totally forgot about those routing options on the tracks!

I’ve been trying your setup and it seems to work great.
By experimenting around with a very short hihat sample, one on an internal track and one on an externally
routed and returned track, where the returned track is panned to the right and the internal track is
panned to the left I tried to measure the latency by ear (I guess, when both are “in the middle” they are in sync).

After some experimentation I found that I needed the following setup to get both in sync:

  
 Jack Settings:  
 Buffer Size: 1024 frames  
 Periods/Buf: 2  
 => Latency: 46.6msec  
  
 1. Track: Delay: -23.3msec Routing: External  
 2. Track: Delay: -23.3msec Line Input, Live Recording Routing: Internal Master  
 3. Track: Delay: 0.0msec Routing: Internal Master  
  

It seems that half of the latency Jack computes is already compensated by Renoise, which
is probably the “input latency”, the one the sound takes from the external sound source
into Renoise itself. And that the rest of the latency, probably the “output latency”,
the time the sound needs to leave Renoise, needs to be compensated manually.

I’m not entirely sure I got it right, but can anyone confirm my assumptions?

Nice work! Sadly, I cannot confirm this because I’m on Windows again.