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:
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?
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!
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.
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.
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.
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?
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.
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.
Question - do you find that Norns compliments Kyma well? In what way? I’m a Kyma user thinking about adding Norns to the setup but I’m worried that I’m adding duplicate capabilities.
It’s a really good question. It depends a lot on coding preferences I guess.
Sonically/ DSP-wise Kyma of course has a lot more horsepower, and can do a lot more “complicated” stuff, but supercollider on norns shouldn’t be underestimated. It’s super flexible.
But running dsp algorithms on both at the same time might be overlapping quite a bit.
But when it comes to sequencing and interfacing with grid and arc, I find norns much easier to code for than doing it in capytalk in Kyma.
Kyma has some specific ways of handling OSC that isn’t always easy to use with grid and arc.
I’ve written a lot of sequencers in LUA on norns and then communicated via OSC to my pacarana.
I for example wrote an mlr-style sampler with all sequencing and control handled on norns and all sound and dsp in Kyma. Kyma sends some parameters back to norns to display them on the grid. This has worked very well without any noticeable latency (for me - but it’s not tight beat driven music, so i have a bit of latency tolerance)
I also setup a multigrid in Kyma with a sequencer and effects routing matrix being controlled on norns. Again all dsp in Kyma (almost) all controls on norns.
But of course a norns might be a bit expensive if it’s only to have a lua script machine, but it’s super powerful for that especially for use with grid and arc of code
That sounds really fantastic, the work you’re describing. I’m definitely curious enough about Norns to pull the trigger when they’re back in stock. Thanks!
@AndersSkibsted said it well. @Tango_Tango I also (somewhat unsurprisingly) find Kyma is superior in its audio DSP capability and if you’re buying a Norns to add then that probably is superfluous. To get the real benefit of a Norns to a Kyma setup I think you need to be thinking about the sequencing capabilities that the Norns offers (as Anders says) however these benefits are only really gained with something to interact with it, e.g. a Grid or an Arc or both. I don’t think you’d gain very much with just a Norns and a Kyma system.
So far I’m using Norns just as an osc pass through box with all my sequencing and synthesis still in Kyma but I wanted the Norns really to be able to take the Grid/Arc elsewhere (away from Kyma) with just the Norns. There are some lovely Norns scripts but to get them to interact with a Kyma you either need to get midi out of them or convert the scripts to send data to Kyma via osc. All do-able but not necessarily plug and play.
Anders is right that Grid/Arc in Kyma can be a bit funny but with a bit of planning there are some cool ways of getting them to interact.