TouchOSC and Ribbons

Hey, I’ve decided to make the jump back to Ribbons after today’s announcement of a new pink batch. One of the things I’ve been exploring with my looper is TouchOSC. A quick search of the forum brought up this old topic.

So, has anyone else explored making TouchOSC interfaces for Ribbons?

Just a rough sketch at this point - note that these are default colors, except for the blue radial in the top left, and all my alignments are wacky. I just wanted to get a sense for what all I might want to control. Of course, nothing’s labeled, either.

And once I get happier with layout I need to actually assign the MIDI values to each of the visual controls. Once the new pedal arrives and I have a chance to use this for a while, I’ll also get a better idea if any of the radials should be sliders, for example, and which radials should default to being centered at noon, etc.

It turns out I might want to control a LOT. So on the left side I have fourteen radials; essentially tape effects. I will probably have Mix and Compression at the top, followed by Reverb Mix/Placement and Reverb Decay. Then the two filters, followed by the Wow & Flutter and then Degradation. I will play with the size and color so the grouping is a little more visual.

On the top right I have a radio selector for the seven touch modes, plus two radials. I made them a little larger. On the left one (T1) I segmented the radial into twelve sections, to make it easier to dial in Magnetic Dance settings.

The 16 radials in the lower right are for the four loop tracks, plus a radio selector above them to select which loop is the active one. I haven’t decided whether I want the loop controls vertical or horizontal.

I added a few buttons and radios to control Loop Mode or Tape Effect mode, Loop Erase/All Loop Erase.

Any feedback would be welcome.

1 Like

Here’s a more refined draft. At this point I really need the pedal in hand to make sure what I’m intending to happen actually happens. I think I’ve covered pretty much everything that can be controlled by a MIDI command, except for the synth controls and actually pressing a footswitch.

1 Like

Cool project. Do you like TouchOSC? I was planning to do something similar for a couple pedals, but with MIDI Designer.

Could you share the TouchOSC file?

Kudos for this!!
I’ve been looking to do something similar… as I’ve posted before, these deep-function pedals (not only KT, also CBA, for example…) really shine when MIDI is involved.

How difficult is it to build w/ TouchOSC?

Sure - let’s try this link:

1 Like

It’s pretty easy - at least, what I’ve done has been pretty easy. But what I’ve put together is all one-way communication. So this interface doesn’t get feedback from the pedal and reflect changes. So you might think, “hey, this interface shows mix is at 100%, but it sounds like it’s at 50%.” Well, if you changed the knob on the pedal to 50%, this TouchOSC interface doesn’t know it.

So what I do with it is once I fire up the pedal and my iPad, I change the settings on TouchOSC to match what I want, and only use TouchOSC to control (aside from hitting the footswitches).

I do know that it’s possible to have two-way communication, so the display on TouchOSC will show changes made on the pedal, but I’m not that advanced.

So it’s not a super-duper be-all, end-all controller for the pedal. But it solves a lot of problems for me.

1 Like

Last question: how are you sending MIDI from your tablet to the boxes on the floor? :slightly_smiling_face:

Sorry, just saw this. I use a CME WIDI device - H4MIDI WC with the optional WIDI chip. But the iPad will do Bluetooth MIDI just fine, so any WIDI will work. Also, I have not tested it yet, but apparently the MC8 Pro Blutooth function will connect in an iPad with no issues.

1 Like

I’m not actually sure that you can get this feedback. The ribbons only supports midi in. So while you can send mdi input, the ribbons only sends out audio. There wouldn’t be a data path to see any changes made on the pedal. @jaakjensen or @carl_cat could confirm/deny.

hello all! it’s going to be a work-in-progress, but i thought i might as well offer up my TouchOSC template for Ribbons as well.

i’m still familiarizing myself with TouchOSC and admittedly my templates are less for performance and more for learning the deep functionality of these pedals. so in other words, my layout might not be the most efficient, but it does try to surface all the controls while staying true to the hardware design (it was fun trying to approximate the LEDs on this one :sweat_smile:).

feel free to use and modify, and i’m happy to take comments or suggestions.

you can find it here:


3 Likes

This is very cool. I like the layout and separation of concerns onto the different tabs (tabbed pages).

You have also deftly dealt with a common problem I’ve encountered with TouchOSC templates where MIDI channels are hard-coded into MIDI messages or into the accompanying scripts. Either way, to reassign the assigned channel, you have to hand edit every occurrence – which is a huge pain to do, especially in complicated templates such as this one, and very easy to miss one or several. Your solution of assigning the pedal’s MIDI channel using a “tag” CONSTANT in the MIDI messages block makes this assignment global and easy to change – you’ve placed that assignment to a rotary element in the TAPE FX tab of your template. Really quite brilliant and I plan to dig into how it all works.

Have you documented any of the techniques you are using, either in the Ribbons template or one of your others? I’d be interested in learning how you put this all together.

One thing I noticed is that when you click the INIT preset button, it resets the rotary settings to the initial values on the TAPE FX tab. However, the other 7 factory presets (Lo-Fi Tape through Endless Space) don’t reset the rotary values on the TAPE FX tab and corresponding Touch Mode button is not highlighted. Is this on your to-do list? Another feature request might be a way to reset the rotaries in the 4 TRACK tab to the initial values, maybe when you click the CLR ALL TRKS button.

One thing I don’t like about TouchOSC is that it is difficult to version track changes, since the .tosc file is binary, rather than text, and not Git-friendly. You can use it to version-track the binary, but it makes collaborative work trickier. You can’t work with the code outside the TouchOSC program itself. Or so I assume… Have you solved that problem in your own work?

1 Like

thanks for the kind words and feedback! though i confess i do feel like something of a dilettante since my templates really are just an amalgamation of existing knowledge i found online (in many places; reddit, forum threads, youtube, a lot of googling).

i am making an effort to cite my sources so others can benefit as well- if you click into the Patch Storage page for the Ribbons template and scroll down you’ll see i’ve linked 3 really good ones, including the Midi Channel Selector via tag property technique you mentioned above (all credit for that belongs squarely with this author which i just found with a google search: https://medium.com/@tducray/scripting-touchosc-with-lua-scripts-change-midi-channel-beb764124f1b).

i don’t have anything close to a working proficiency in Lua scripting, but as a layperson i haven’t found it too difficult to start manipulating values once you know what you’re looking for. i’m not particularly keen on LLMs (truthfully i haven’t yet found a ton of utility for them in my professional life), but Google Gemini has been surprisingly helpful at putting together quick scripts as a framework i can start to manipulate. in fact if you look at my other templates for Chase Bliss or OBNE pedals- they don’t have the ‘built-in’ INIT preset to to trigger a clean slate- but you can absolutely throw one together in TouchOSC through a combo of midi and local messages. Gemini was very helpful for getting that started, but it will hallucinate functionality that isn’t possible (which is its own problem to manage :sweat_smile:).

regarding the things you mentioned in your second post:

presets- so it’s entirely possible to have these scripted so once selected they adjust the knobs accordingly. unfortunately we don’t know the exact midi values for them to be set to- but in theory we could try to approximate them using the LED colors on the physical pedal.

4 TRACK reset- this is also entirely possible, and shouldn’t take too long to do. in fact when i was adjusting the script that resets the INIT knobs, my script was also inadvertently resetting my looper as well (so for example if i had a reverse loop running and hit INIT in TouchOSC, the loop would revert to a ‘forward’ state). but unless i’m mistaken, the proper INIT on the physical pedal doesn’t affect the looper, so i removed that since it was not part of the original INIT. easy enough to make a looper INIT though, for sure.

and no, i haven’t yet tried to collaborate on a single .tosc file. but i’m more than happy for folks to take and modify as needed. this has mostly been an exercise in learning something new and getting to know this amazingly deep pedal, so share and share alike as far as i’m concerned!

presets- so it’s entirely possible to have these scripted so once selected they adjust the knobs accordingly. unfortunately we don’t know the exact midi values for them to be set to- but in theory we could try to approximate them using the LED colors on the physical pedal.

In another post, I wondered if Jaak could share the settings of all the factory presets – either as knob mappings or better, simply as MIDI parameters, but I never saw a response. I think it would be really helpful here, or just in general.

I’ll go back to your Patchstorage page and read what you have there, as well as the Medium article. I really appreciate your generosity in creating and sharing this knowledge.

1 Like

I responded with those values you requested. Thanks for your patience :folded_hands:

3 Likes

ok! thanks to jaak’s info, i’ve updated my template in Patch Storage. the factory preset buttons in the template should now trigger the radials to reflect the midi values, and i added some new buttons to “INIT” the tracks if you want to (the preset INIT remains as a tape-only preset).

thanks to you both @madtom and @jaakjensen !

1 Like

Very nice. This works exactly as I expected, with the INITs for the TAPE FX and 4 TRACK tabs resetting the corresponding sections. I haven’t tried it live, just on my computer, but taking a casual look, it certainly seems correct. I’m impressed how quickly you were able to implement things. I’ll let you know if I find anything that doesn’t match up with Jaak’s preset dump.

1 Like