Best way to connect this all up - Monome and Kyma

Hi there - long time admirer of monome and recently took the plunge and purchased an Arc (to use with my Kyma system) and shortly after fell even deeper and now have grid, norns, crow and ansible. Fantastic devices, all very inspirational.

I’d really appreciate some tips on the best way (does such a thing exist?) of connecting this gear up to avoid re-connection etc.

At present I kind of have two ways of working. The first is arc or grid plugged into computer, a bit of routing in Osculator and on to Kyma where my sounds are both controlled by and control the monome devices. This works well.

The second is as standalone monone ecosystem (grid, arc, norns, crow, ansible) -this of course works well.

Where i’m struggling is to approach the best way of linking norns to Kyma. I guess ideally I’d:

  1. Keep my grid and arc plugged into norns and have kyma approach them directly via osc. I’m sure this is possible but I assume I’d have to write/load a script to pass-through the osc data unaffected?

  2. sending midi (or osc) from norns to kyma, e.g. to play kyma sounds using meadowphysics or kria midi running on norns. Am I right in thinking my only options here are either going via midi to computer (usb-midi-midi-usb) or can the midi data get sent via osc somehow?

Lastly, if i unplug Arc or Grid from computer (MacOS 10.13.6) and re-plug in I find i have to re-start computer before they can be found again? Is this is a common problem?

Sorry, i’m sorry these are very newbie questions and I appreciate the answers will of course involve me reading/trying/understanding more but if you could push me off the right direction I’d appreciate!

Thank you
Geoff

5 Likes

I’m not actually finding anything explicitly documenting this, but on norns you can set parameter values via OSC, which includes script-defined params as well as system params like mixer controls and stuff. I figured this out from here. You can use either:

/param/<param id>
/param/<pset id>/<param id>

Norns will unpack OSC arguments to the expected Lua data types and use the first argument to set the param value. This OSC interface listens on port 10111.

You can also emulate Norns encoder or key presses via the /remote/key and /remote/enc paths.

In addition to these built in OSC methods you can react to OSC sent to port 10111 in any way you want from a script by using the osc.event callback and you can send OSC anywhere using osc.send, as described here.

On the Norns side none of the above is directly related to grid / arc since Norns does not use serialosc, it just uses libmonome to speak serial to these devices directly.

This isn’t how it’s supposed to work but I can’t really advise more than that since I don’t know much at all about macos. You could try watching the output from serialosc and dmesg maybe to see if either the system or serialosc are detecting the device.

3 Likes

these are really good notes to add to https://monome.org/docs/norns/play/#osc, which documents addressing the system params over OSC as well as a touchosc template from @felart (not totally applicable to kyma, but perhaps helpful to have). thank you for collecting more detail here!

questions about kyma have been coming up a lot more recently — this is really helpful info to have.

4 Likes

Aha! This section was hiding from me in search for “OSC” somehow, probably just needs some cross-linking to the studies and script reference pages.

1 Like

Thanks @csboling very helpful. You mention that Norns speaks directly to arc/grid. This is kind of what I assumed. So in order to just get grid/arc to speak with Kyma/Osculator/my computer by osc I’d need to have a script that takes the direct messages and converts into osc? And vice versa, to light the leds…there is no simple pass-through?

I’ll read properly the tutorials again…
Thanks

Yes, you have to setup a script that will unpack the OSC messages and instruct the grid what to do with them. It can be as simple as almost passing them on.
That’s at the way I’ve been mainly using Kyma and grid/arc together, and it has worked quite well, but I’ve been doing most of the sequencing/scripting on norns sending osc to kyma, and all the dsp/sound generation in kyma. But kyma then sends a lot of info back to norns, that uses it to give visual feedback on my grid. Sample playback positions, state of effects and processing and so on…
I found it a lot easier to program for the grid and arc in Lua than in capytalk/smalltalk. The way Kyma handles OSC messages with multiple arguments as separate values (as a grid button press with 3 arguments for example) I found difficult to work with. And the whole Lua environment on the Norns is tailormade for grid/arc scripting. But of course, that’s just my preference, and not the original topic…

One way I’ve been “speaking directly” with OSC between norns and Kyma was with a small wifi-router plugged plugged directly into the ethernet port on my pacarana, and even powered of one of the usb-ports on the back of the pacarana. Then there is no need for a computer running osculator or max to route the osc messages on.

2 Likes

Thanks Anders, nice to see you here too! I was successfully getting round the three argument osc message type problem using Osculator and this was/is working well but I’ll see whether lua/Norns environment is easier. In fact I was/am primarily using the 64 float/array argument type messages in Kyma to interact with the leds as this synergies so well with spectral/FFT/wireframe type working in Kyma. Interestingly I see the 64 array messages that arc responds to via osc do not exist in the direct Norns approach. I’ll have to explore why.

I’ll likely use it similar to you with Norns/monome as sequencing environment for Kyma.

I do want to make a script though that will just straight pass through and back osc though so that I can keep arc/grid plugged in to Norns but do everything else in Kyma.

2 Likes