Is there a Looper that works?

I think you managed to pull it back at the end there with description of your current looper solution :wink:.

That was under less pressure. It was a work of fancy. A folly of our own invention. I am currently fully focused on the next stable release so there is unlikely to be any significant work on clocking and synchronisation within the next few weeks. It is an area that requires resolving but not today!

Although Zynthian could act as the master sync source, the current implementation may be rather irksome and hence error prone. I probably wouldnā€™t want to use is as such in a live environment. You describe how you use your current set up with ease of familiarity. You are unlikely to achieve similar level of confidence with Zynthian within the next couple of weeks, especially as some of the features you want are not (natively) implemented.

Good luck with the solo gig. I hope there will be some evidence of your success you can share. Maybe recordings of the baying crowd. :smile:

Apologies @riban for the presumption.

Hopefully the Nord Modular screen is worth a look for implementationā€¦

Booing crowd ā€“ I hope not. At least they should throw some veggies :wink: .
But then again, what can you do?

Thank you for the insights into the dev cycle. Iā€™ll stick to my method for now and also have a look at other G2 loopers.

I am afraid I am not finished yetā€¦

When trying out several things I noticed that MOD-UI indeed does get Midi-Clock. The problem here is, it doubles the tempo. So when I hit 140 BPM, in MOD-UI there will be 280 BPM (which is its maximum ā€“ meh). If I change (lower) the tempo, the clock does indeed follow.

Secondly, it doesnā€™t accept MIDI start/stop. Be it just clicking in the UI or via external MIDI. Alas, you see it jumping to ā€œplayā€ for a second, and then back.

My investigation led to a MOD-forum post(s), where a user had the same problem. It turned out, there were conflicting MIDI-ports. The links are at the top of this thread.

But, at least it does somehow get the MIDI-clock. Might that be a good start?

And if I may address the elephant in the room: Why is it so hard to implement MIDI-Clock? AFAIK its ā€œjustā€ a relatively low speed stream of serial data at 24 ticks per quarter note (well 31250 baud max with DIN-MIDI). I guess getting the timing right in such a complex system is not so easy?

The most naive implementation would be just advancing the sequencer every incoming tick. This wonā€™t work for calulating BPM. Then youā€™d have to measure at least 2 consecutive ticks, get the ms (Āµs ?) and calulate the BPM. At least thats what I do on an embedded system.

Tricky Alternatives

But it dawned upon me, I might not even need MIDI-Clock with my setup. I could send a Note/CC, whatever from a G2 sequencer, which would send another Note/CC when it has finished a bar, or two, or four. Then use that via MIDI learn to start/stop recordings on a looper, say sooperLooper.

So I tried it. And my eternal curse is still haunting me. I can do the MIDI-learn Part- easy! But sooper looper does not record or play back in MOD UIā€¦ so I am lost again.

Also tried ALO, but it doesnā€™t run in ā€œfree-modeā€ because ther is a clock running in MOD-UI.

Oh yeahh, and the ā€œgxlive looper Herman Meyā€ LV2 just completly crashes Zyhnthian, which goes into a rebootā€¦

No matter how I turn or twist it ā€“ seems that the universe is activley blocking me from live loopingā€¦

FWIW the awesome Beardyman beatboxer has gone a long route finding a looper for live use. Iā€™m not a patreon supporter so donā€™t have all the technical details, but from the public data you can hear about the ā€œbeardytronā€ which was kinda coded from the ground up to create the setup, and laso hear about the best looper heā€™s found was a VST delay used in a specific way. Looks like heā€™s finally using a heavilly programmed Ableton live setup on a macbook, no hardware here unfortunately. Now I donā€™t know exactly how far he has gone with this, but heā€™s still doing the most crazy live looping Iā€™ve ever heard.
example : Neitzche's Cat || MILKING THE COMMUNITY (S1_E2) - YouTube

MIDI clock is a fairly show synchronization clock. It is 24 ticks per quarter note. Most sequences benefit from a higher resolution, e.g. Zynthian uses 96 ticks per quarter note. Audio is far higher at 48000 samples per second (or there abouts). So locking MIDI and possibly audio to the slow MIDI clock involves a phased lock loop. That is like a flywheel. It figures is the rate it needs to run based on its interpretation of another clock. If too few of its own clock cycles have triggered when the next matter clock triggered it must speed up and vice versa. This causes jitter (wow/flutter) in the clocks.

I did implement this in the early days of the step sequencer which was initially locked to MIDI clock bit I changed it to better interface with other modules so it now locks to jack click and uses jack transport.

I aspire to revisit this and add an option to lock to external synch sources such as MIDI clock but Iā€™ve not had the time recently. Also we need to consider how all modules synchronise and how best to present such interfaces. I am eager to look at this but other things are more urgent. (Maybe not to you but there is a bigger picture.)

It may be possible to use an existing module to lock jack to MIDI but the way weā€™ve implemented sync for sequencer and SMF player may interfere with such an approach.

The idea of creating a pulse per bar is something that has been looked at by @MrBroccoli for his CV/gate projects. That could be what you want.

If you want to trigger the loop to start on a MIDI bar boundary then you can probably do it like you said. You may need to enable playback sync in SooperLooper.

Good luck

Thank you riban,

I imagined there was a lot more involved in such a complex audio/MIDI system.

BUT - I start to get something running with sooperLooper, even in Stereo. It all dpends on th Nord G2 giving MIDI-CC and then assigning that to MOD-UI. And there, CV-boxes are used to ā€œmultiplyā€ the MIDI-CC ā€“ because MOD-UI just assings one MIDI-CC to one control at a time ā€“ lame.

Timing is crucial here. You have to tune the pulses juuust right to gat a decent sync. Itā€™s not perfect thoughā€¦ it runs out of synced after some time (minutes). And maybe I have to adjust the pulse timing for different BPM.

But while doing this I had had an epiphany about all the physical constants and why they have the value they have: To keep everything in sync :scientist: :stuck_out_tongue_winking_eye:

I copied the part for starting at the next ā€œoneā€ from Tim Kleinertsā€™ patch. I decided to go for a two bar loop, though.

Thatā€™s what I have got so far:

The G2 Patch for controlling.

The MOD-UI Pedalboard with CV assignments

of course the reset, undo/redo buttons had to be different. They cannot be controlled via CV :person_shrugging:

So I have to sacrifice 2 MIDI-CC for reseting both at the same time ā€“ well, thatā€™s life I guess.

The fun thin here is: When doing it that way, i can, for example use a square LFO to turn the SooperLooper periodically on/off for a cool stutter effect! And a lot more, come to think of it :smiley:

Wow,

that is so over the top. I guess he could fly an F-18 jet with that setup, or some star ship for that matter :wink:

Thanks for the inspiration!

The multiple Midi control of a parameter in zynthian would certainly benefit from something like the g2 morph functionality

1 Like