SooperLooper - In Testing

— YES — Will be work with OSC SooperLooper - Documentation :: OSC Interface ?

Yes, that is the method of control. Zynthian will start an instance of SooperLooper then communicate with it via OSC. You could also control SooperLooper from another client, e.g. slgui but I hope that Zynthian users will have sufficient control using standard Zynthian mechanisms, e.g. MIDI learn.


I’ve been playing again today and the midi learn certainly helps.

How do I disable the audio input being directly connected to the output so I can controll the dry volume just in soops?

There are controls for wet (recorded loop) and dry (monitor of incoming audio). They are on the levels page of controls but also presented in the GUI as draggable sliders.

Yeah, but the audio in seems to be directly passed through to the master out as well I think? If I’m recording from another layer like obxd I can set the output to soo-loo only and the dry volume setting works fine.

Each chain feeds a mixer channel which in turn feeds the main mix bus. The main mix bus feeds the main output and audio recorder. Any audio created on a mixer strip, i.e. from a chain will contribute to the output unless it is muted.

This Zynthian implementation of SooperLooper has these level controls:

  • input - adjusts the input gain feeding all loops (global)
  • wet - adjusts the amount each loop contributes to the output (per loop)
  • dry - adjusts the amount of input signal feeding the output (per loop)
  • feedback - adjusts the amount each loop output feeds its input - lower to have loops reduce level on each record cycle (global)
  • threshold - the level at which recording will begin on a loop (per loop)

SooperLooper may be added as an effect to a chain in which case its input is the preceding chain and its output is the chain fader or it may be added in its own chain in which case the default is for its input to be fed from Zynthian audio inputs and its output to the main mix bus via its fader.

I have noted that you cannot adjust the input audio feed to SooperLooper (Audio Capture in the chain options). You should be able to disable / change the inputs. I have just fixed that and pushed to GitHub.

For some reason you must manipulate routing audio inputs from external audio in the SooperLooper chain option menu and manipulate routing audio from other chains in each other chain’s option menu.

1 Like

Hi @riban !

I’m super excited about you catched this task!! It’s in our planning kanban from a long time ago:

Note the low id 37 and the 2018 date!

BTW, do you plan to add a custom GUi-widget for the sooperlooper engine?
Remember we have something to start from:


BTW, check this project:

It also have an OSC API, quite similar to SooperLooper.

And yes, we also have an old ticket for a MIDI looper:

Imagine we could have nicely integrated Audio & MIDI looping, synced with the stepseq, etc.




Found the culprit!

It is already there.

Screenshot 2022-08-17 19.43.03


I tried both (SooperLooper and Loop192) on PatchBox OS.
The Loop192 has not implement save of midi loops.
I had setup with Behringer FCB1010, which sending midi notes. This was converted to OSC by mididings. But dancing over pedal is not very confort for me. I have more linear filing of music flow. So my idea is have midi file, which will be record/play/stop loops in SooperLooper and Loop192 and also wil be play drums on backgroud. This is simplified idea based on Zen Audi ALK2 (this project was closed)

Framework from midi file will be driving loopers by converting midi notes to OSC comands. But it is long way …

So I can try OSC comands starting /sl as described in dokumentation of SooperLooper?
I’m playing with Open Stage Control now, so I can testing both together.

And small note, I haven’t in mixer Onscreen Buttons for encoderless control of zynthian. I know it is hot working version.

The setup of routing audio inputs was first thing what I do after 2 minutes of playing with sooperlooper. And I must say the possibilities are so many. Good work @riban.

Hi @ToFF

Adding an instance of SooperLooper to Zynthian will expose its OSC interface. Indeed that is exactly how Zynthian communicates with it. You will be able to remotely control SooperLooper using OSC commands including those beginning with /sl/ but avoid sending the /quit command as Zynthian won’t realise the SooperLooper engine has gone. (I may add some watchdog but probably not!)

I too use a Behringer FCB1010 which I configured to send MIDI CC then used Zynthian MIDI learn to map the foot pedals to looper functions which worked well.

SooperLooper is capable of binding MIDI messages to functions so you may not have needed to convert to OSC. You could probably have done what you want with MIDI binding. I don’t use SooperLooper’s MIDI binding in Zynthian and have a task to ensure it does not interfere with SooperLooper operation.

You may find that you can do what you need with Zynthian without extra, external software. I am working on closer integration of SooperLooper and the step sequencer / ZynPad. SooperLooper can synch and quantise to a variety of sources including Zynthian’s internal transport (JACK).

Regarding mixer (off topic): I have done some work in the development branch to rationalise the touch interface. Enabling on-screen buttons will show the buttons at the bottom of the screen only when required. If a screen can be wholly controlled via touch, e.g. the mixer, then the buttons will be hidden. I can’t remember where the SooperLooper development branch was forked but an attempt to merge with the latest dev branch failed so I need to look into that…

1 Like

I’m on hollydays without any of my Zynthian boxes but I’m impatient to try this when I’ll be back. It looks so promising.

This is area for fresh unused and fresh tester :slight_smile: I will be try this by both possibilities. For OSC I can use port UDP 1370?

I hope it comes soon. In my case, I need to check the length of the loops with some smart interface because my dance legs don’t exactly work in quantized time length.

OK, this was really only small notes, I’m able controlled all via touch, but buttons in mixer have some short a direct way to some function (if i remember correctly). For mixer is also possible aplied of OSC commands?
Again, thank you for your work.

No! Use port 9951. SL opens its own OSC listening port which Zynthian talks to. You can communicate directly with SL via its OSC port 9951. In theory any clients, including Zynthian should be updated, i.e. a change made from your remote should update Zynthian display.

Yes! Mixer is fully controllable via OSC. @ronsum and I created an Android client for it some time ago but that used an app that is no longer working or supported. Mixer OSC is via port 1370 with paths:

OSC Path Value range
/mixer/faderX 0 … 1.0
/mixer/balanceX -1.0 … 1.0
/mixer/muteX 0.0, 1.0
/mixer/soloX 0.0, 1.0
where `X` is the fader strip index. 255 for main mix bus strip.
1 Like

Nice, thanks for clarification. I will be make some template for Open Stage Control and will be test functionality…

If you send OSC message /mixer/heartbeat to port 1370 at least every 120 seconds then change of state will be sent via OSC back to port 1370 at the IP address from which the heartbeat message originated. (Mixer supports up to 5 concurrent OSC clients for status feedback.)

Why no stop button ??