Applying live effects softwares over one single player of Foxdot

Hi,

I use FoxDot in Ubuntu, with jack as my sound server. I have a program which, given an audio input, process it applying some effects like autotuning. I would like to apply it over my FoxDot loops, so given this code:

m1 >> pluck()
b1 >> bass()
v1 >> loop("singingVoice",P[0:8])

I would like to send the audio generated by the pluck and bass directly to my speakers but for v1 I would like to send it first to the postprocessing program, so it applies the autotuning, and only then send it to my speakers.

I can’t think of a way to do this in FoxDot as it is. I guess what you would need is something similar to Tidal’s Orbits, which separates each “line” of code e.g. d1 into different outputs but I’m not sure how they are routed to other applications, though it does seems like it is possible from the description

hi mathias,
If you use ubuntu + jack it’s easier, you can try this to achieve but the tracks won’t be separate :

  • increase the number of output channel in SC (try 4)
  • reboot SC
  • add a output fx synthdefs in foxdot for each output you need:
    for example this one output on SC out_3

SynthDef.new(\fxoutput3,
{|bus, fx3|
var osc;
osc = In.ar(bus, 2);
Out.ar(2, Mix.ar(osc*fx3));
ReplaceOut.ar(bus, osc)}).add;

  • now you can play in foxdot and b1 would output on out_3 so you can route easily with jack to add some effects on it.

a1 >> blip()
b1 >> dbass(fx3=1)

Hope this make sense, it’s not a very elegant way but it works, feel free to ask.

Awesome thank you very much to both of you. I wil try your suggestion @CrashServer and I will let you now :slight_smile: