SooperLooper - In Testing

In my regular zynthian, I shortclick ‘select’ and can access the usual commands settings pages, in this menu I can do midi learning as I usually do with other chains without widget gui

Each of the controls in the centre GUI are also presented as individual rotary controllers on the pages of controllers. These can be MIDI learned in the usual way.

Hi @riban & @Tabula, thank you for help. I’m pretty new with this looper app.

as is, when I’m the SooperLooper screen, I’m stick to one page: “Level2”. I can’t navigate througn other pages (rec1, rec2, play1, …)

1 Like

What happens when you short press the “Select” encoder? Can you not change pages in other engines? Does anything go into the log?

Hi,

I’m on an encoderless setup atm. I have to unmount the one I own wich has encoders gor accessing to the SD card.

Yes, with other engines page navigation using the onscreen buton works smoothly. In Sooperlooper screen, except the page “level2”, all pages looks like disabled.

I haven’t looked at them yet. I’m not close ro my Zynthian right now (because of Paris Saint Germain vs Olympique de Marseille) so I can’t tell.

As said, this is my first experiments with Sooperlooper so maybe I’m doing something wrong.

Not sure if this is a bug or I just don’t know what I’m doing, but I can’t find any play/stop controls for SooperLooper among the parameter pages. Are there supposed to be or is there a completely different screen to be used for starting/stopping?

You don’t ‘stop’ the looper, but you can pause channels, or mute them.

In the same way you don’t ‘start’ the looper, you can trigger the loops to run, or have an audio threshold to trigger the recording.

It feels a bit odd but it does work.

Ok, well that explains why I can’t find any stop/start controls then . :slight_smile:
I agree it works well, but I was looking for some way to quickly stop all loops and then restart them all in sync. I can fairly quickly mute them all in succession, but it is slightly cumbersome. Similarily, I can pause them all, then trigger them, syncing to loop 1, to get them to start simultaneously, but again it’s a tad cumbersome.

I suggest adding a feature request. There is already a request to allow MIDI mapping of parameters for each loop. Your request may be related (at least in implementation) but should be submitted as a separate request.

On a separate subject, SooperLooper has default MIDI mapping for many of its controls but depends on chain MIDI channel so if SooperLooper is added to the main mixbus, the default mapping uses the master MIDI channel. If master MIDI channel is disabled then there is not default MIDI mapping and must be done manually.

1 Like

I am struggling to control sooperlooper via OSC messages. I am using the Python liblo library that actually works fine to send CUIA messages to localhost:1370. The OSC messages for sooperlooper are sent to localhost:9951, but there is no reaction when I am trying to record for example:
localhost/sl/-1/hit record
Or localhost/sl/-1/hit pause should pause the loops ?
I tried using ‘up’ / ‘down’ instead of ‘hit’, and 0, 1, instead of -1 (all loops) or -3 (use selected loop), but nothing works.
The messages are going out because I can intercept them with tcpdump.

Zynthian’s integration of SooperLooper uses OSC. Each client may make connections and control it but you may find a client expects to be the only controller and may not support some workflows controlled by other clients. SL’s native GUI has some flaws in this respect and can be confused. I found some functions did not behave as expected with -1/-3 addresses and there were some undocumented features I needed to figure out and use. (Wireshark and the native GUI helped with that.) The UDP port used by SL is configurable and I may have used something different to 9951. (I just checked and UDP port 9951 is used.) The OSC address shouldn’t be prefixed with “localhost” like you have written. The message should be something like:

liblo.send('osc.udp://localhost:9951', '/sl/-1/hit', ('s', 'mute'))
1 Like

@riban thanks for your quick help (as usual). Works like a charm now. I simply forgot that I have to add the parameter as a tuple to the message, and not just to the main message string.
One more question: Is there a kind of shortcut (single cuia message etc.), to directly go to the sooperlooper screen ? Something like SCREEN_LOOPER ? If not, then I think that would make sense because there can only be a single sooperlooper instance anyway.

hey everyone,

i’ve put my zinthian out to test my 2nd hand fcb1010 (the berhinger (dmaned) foot controller, and it’s a bit of a pain to configure it. Is there any basic cc binding for the function of the sooperlooper? From sooperlooper website, it seems that you can define what do you want from what you want, but it feels tedious to go and midi learn all the options by hand, (or maybe there is a better way for that and i missed it in the doc?)

Thanks for having added that tool, it gives a second change to the zynthian for me (which still havent find it’s place in my setup).

There are default MIDI bindings for most parameters that I set to match those I had set on my FCB1010. They start at CC 102 for record and are sequential.

1 Like

What does the (dmaned) mean? Google suggested it might be a typo when I searched on it - was Google’s ‘guess’ correct?

Hi !
I’m not sure what you mean here… “sequential” from what ?? There no “default midi” CCs into SooperLooper documentation. :face_with_monocle:

No, we implement a Zynthian engine hosting sooperlooper and assign default MIDI mapping to the Zynthian controllers that control each of the sooperlooper parameters.

Oh :star_struck:
But where is that maping list then ? :thinking:

The default mapping only seems to work for master channel and this isn’t perfect so it is easier to just map controls yourself.

There has been a bit of talk in other threads about toggling signals for sooperlooper but this is not required. Sooperlooper does not really have a stop state so you just need to tell it what state to change to. You can assign pedals that fire MIDI CC with value > 0 for each state, e.g.

CC 102: record
CC 103: overdub
CC 104: replace
CC 105: trigger
CC 106: mute
CC 107: pause
CC 108 (value 0): undo

Then you can start a recording by sending CC 102 and end the recording and start loop playback by sending CC 105. To overdub the current loop send CC 103 and to replace the current loop send CC 104. Send CC 105 to resume playback at any time. Sending CC 106 will continue to play the loop but silence output whilst sending CC 107 will pause playback (the closest thing to stop in sooperlooper).

3 Likes

Thank you ! :kissing_heart:
I didn’t see this and thought that I’ve read all the posts about SooperLooper… :eyes:
May I write a new wiki page about SooperLooper ?