TouchOSC and RNBO on rPi 4

tommyecho's icon

Hi everyone!

I'm really close to having touchOSC control the parameters of my RNBO patch on an rPi. I have a fader in touchOSC on my iPhone and touch osc is connected to the Pi (the pi is the host). I am monitoring the same parameter (the volume of a Delay effect) in the Graph editor on my computer. When I move the fader on my phone, the graph editor shows the parameter change. However, I'm not hearing the change in the rPi.

If I mouse click the fader (in my computer) at the point that it moved to, suddenly I can hear the result. So there seems to be some problem in that the RNBO patch is registering the parameter change on some level, but not applying it to the actual signal processing. Any ideas on why this might be the case? I sure would like to get this last step in a mobile project done. I'm running the pi on a battery, and making this into an instrument and effects box that I can control with my phone. I have the pi automatically logging into my phone's wifi hotspot, so it's going to be cool once it's fully functional. This is the last step.

For reference, I've been using this video to setup my OSC connections with the pi:

Alex Norman's icon

HMM, that is odd. Can you tell us which version of the runner you're using and what messages you're sending from touch osc?

tommyecho's icon

Thank you for the quick reply, Alex. I didn't get a notification, or I would've replied sooner:)

The fader is sending the following message:

/rnbo/inst/2/params/volume/normalized

This message is received by the volume (the dry/wet mix) for a delay effect (taken from the guitar pedals examples). The minimum and maximums of the fader in TouchOSC are matching the fader in the Graph Editor so that everything looks right with the behavior. It's as if there were some triggering functionality that isn't happening, so that the mix level doesn't actually change (even though the fader does).

I'm attaching a screenshot of my settings on the rPi. It has 1.3.1 as the runner. It says that there are 31 outdated packages, but I've been unable to figure out how to address that. Perhaps this is causing a problem? I've also experienced some instability in the setup, though it works well enough that I'd be happy if I can get the TouchOSC connection to work:)



Alex Norman's icon

I just exported a simple patcher to my pi running 1.3.1 and was able to control a normalized parameter without issue. I wonder what could be different about your setup? I controlled this parameter both in the instance "0" slot as well as instance "2" like you have.

Do you mind sharing your patcher?

tommyecho's icon

Hi Alex,

That link took me to the "Raspberry Pi Target FAQ Troubleshooting" page, but I'm unable to see the "#after-exporting-to-my-pi-I-see etc" part of it. I'm not seeing anything about updating packages on that page. Maybe I'm missing something? I'd love to find the documentation for that:)

The patch is just the RNBO-FilterDelay patch from the RNBO Guitar Pedals cycling 74 package. I didn't make any modifications. I put one instance of that patcher, two of the looper patchers, and the freezer patcher (all from that same package with no modifications) in the rPi and just made some simple routings in the Graph Editor. I'm sharing the Delay patcher (which is what I had the TouchOSC fader speaking to). Let me know if you need anything else from me. I really appreciate the help!

It's really interesting that you aren't having any issues. Would it be relevant that I'm using a hotspot from my phone to connect things? I have the rPi setup to automatically join my iPhone's hotspot on boot. I join the same hotspot from my computer and am able to ssh into the pi, load patches, and (usually) see the graph editor (sometimes it doesn't load, for some reason -resolved by rebooting). The graph editor faders change parameters in the pi just fine, and the touchOSC moves the fader in the graph Editor (just no change to the audio in the pi). Sorry if I'm being redundant --just making sure I'm being as clear as I can be:)

I'm traveling abroad at present, and I want to be able to use the Pi outside for the Fete de Musique, so this is why I'm using the hotspot:)

Rnbo-FilterDelay.maxpat
Max Patch

Alex Norman's icon

That link should have brought you to the topic: After exporting to my Pi I see message that there are outdated packages on my system. But it doesn't look like the linking works..

HMM, the hotspot thing, seems like it shouldn't be a problem but I haven't tried that yet.

tommyecho's icon

Is that topic still somewhere in the documentation? I've read through everything on that page several times, and I don't see that topic. Strangely, when I google "after exporting to my Pi I see message that there are outdated packages on my system" it gives me the attached result at the top of the page. When I click the link, it takes me to the FAQ page, and there isn't this topic there, as far as I can see. I'm hoping the outdated packages thing is causing the trouble

Alex Norman's icon

that is really odd..

anyway, you simply need to SSH to your pi and type:

sudo apt-get update && sudo apt-get upgrade

for good measure run this after

sudo reboot
tommyecho's icon

Well, gosh, I guess I didn't read closely enough. The font is different for that topic heading (the others are in bold) so I scanned it as being part of the previous topic "the Pi's external sound card. . ."

I really appreciate that help. I've run the commands and rebooted, but now, instead of 31 packages that need updated, it shows 16 that need updated. I ran the commands again and rebooted, but it still says 16.

I'm still having the same issue. I added a fader to control another parameter and am getting the same behavior (the slider moves in the graph editor, but doesn't affect the sound unless I actively mouse click and drag the slider in the browser).

I really appreciate your help, Alex. Do you have any ideas of what I should do from here?

I do get these messages after the upgrade command. Maybe they have something to do with it?

The following packages have been kept back:

  linux-headers-rpi-v6 linux-headers-rpi-v7 linux-headers-rpi-v7l

  linux-image-rpi-v6 linux-image-rpi-v7 linux-image-rpi-v7l

  linux-image-rpi-v8:arm64

0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

tommyecho's icon

I believe I've found the solution! I accidentally deleted the message for the fader in touchOSC in my phone, and manually re-entered it, which miraculously caused it to work. The only difference is that, in the message I was using before, there were two forward slashes at the beginning ( "//rnbo. . ."), and now there is only one.

Before fixing this, I was able to take a screenshot of something interesting. In this image, you can see that the slider doesn't match the floating point number above it. That number stays at 26.31 (when the message is "//rnbo. . .") even though the slider moves to follow TouchOSC. Removing that second forward slash fixed it. Seems like a funny quirk in the messaging, perhaps a feature with some potential use?

Anywho, I seem to be getting it together now! I would love to know if you have any advice on those 16 remaining packages that are still outdated.

Again, I really appreciate your time in helping with this. Just knowing that it was working on your end (and that the hotspot shouldn't be causing the problem) was really helpful (in addition to getting some of those packages updated. Very excited about this:)

Alex Norman's icon

That is very interesting RE the double slash! I'm not sure if that is a bug or a feature of the library that the runner uses but I see that I can reproduce it.

Also, weird with the 26.31, I'm also seeing that sort of behavior when i use // prefixes.. seems like an odd quirk but, i guess my advice for now is "don't do that" :)

Happy to see you've gotten your setup working!

BTW, those extra outdated packages, I wouldn't worry about them, there is some dependency that is holding the back but I don't think it is a big deal, you can try some days from now and maybe that will be resolved.

Carey Campbell's icon

Sorry for resurrecting an old thread, but I’m having a similar problem I think and haven’t found a solution. RPi4 has several RNBO patches on it, and I can hot-swap them by sending the appropriate message via udpsend in MaxMSP. However, sending that same message via Touch OSC, nothing happens. Touch OSC is connected to the Pi, and is sending on port 1234 just like in Max. Why would this work in Max but not Touch OSC?

Alex Norman's icon

can you indicate what messages you're sending from touch osc?

Carey Campbell's icon

Thanks for responding. I’m sending /rnbo/inst/control/load 0 Sculpture2. (Sculpture2 is the patch name, others are Sculpture1, Sculpture3, etc. )

I’m sending it as a message constant from a button in TouchOSC (one button per patch)

Alex Norman's icon

Hmm, that seems like it should work..

Is your touch OSC running device on the same network as your pi?

can you run the web interface on that device? (same base IP but with :3000) as the port number.

Carey Campbell's icon

Hi, the answer is yes to both. Strange, huh?

Alex Norman's icon

HMM.. are you sending OSC on port 1234 ?

Carey Campbell's icon

Yep. I’ll post a screenshot of my TouchOSC message details etc later today; I’m sure I’m just missing something somewhere but it doesn’t make sense why sending the message wirelessly from Max works but TouchOSC on the same machine doesn’t.

Carey Campbell's icon

Here are screenshots from TouchOSC.

Alex Norman's icon

okay, i see the issue. you've put the arguments into the address line. You need to add 0 (integer) and "Sculpture2" (string) as arguments.

Carey Campbell's icon

I knew it was something dumb. So, to confirm, "/rnbo/inst/control/load" goes in the address field and "0" and "Sculpture2" go in the arguments field (with their respective definitions as integer and string)?

Alex Norman's icon

yeah, and remove the default argument

Carey Campbell's icon

Got it. Thank you! Can't test at the moment but I'm sure this is the fix. Thank you again!