First time here? Check out the FAQ!
x

Using a Monome Arc with Kyma

+1 vote
1,017 views

I’m interested in giving a Monome Arc a go as in interesting bi-directional controller to use with Kyma.

The screenshot attached are the osc messages that the arc sends. Based on my (novice) Osc skills I believe that I can send data straight to the Arc using NEL Osc-tools (or perhaps even without). The blue circled message on screenshot is a three argument message for led number, encoder number and brightness as far as I can tell. The arc sends a message (red circled) is a signed position change value (delta). The number increases (positive or negative) the faster you turn the encoder.

I’m not sure whether Kyma would interpret this osc message for me to use it to control Kyma (without resorting to Max MSP or something in between). Any ideas?

 Thanks

 

asked Jul 3, 2020 in Controllers, OSC & MIDI by ghood (Master) (3,060 points)

4 Answers

0 votes
In the DSP Status window Configure menu, select OSC.

Then click View Log.

Move the Monome Arc. If you see the OSC messages in the Log, then you should be all set to "Learn" the mapping from the Arc OSC to any fader in the VCS.
answered Jul 3, 2020 by ssc (Savant) (128,200 points)
Hi
Thanks SSC. My problem is I don’t have an Arc and it’s an expensive way of finding out it doesn’t work. So I’m trying to establish whether it’s a common message type and should work. If you were to map a signed bit message to a fader how would in practice it work. Accumulate by a 1 each time you turn slowly, 2 if a bit faster etc. Decumulate if the other way. But where would it start from?
It’s making me think I’d need it in my signal flow not just mapped to a VCS fader. I think this is where NEL OSC tools can help but I’m still not exactly clear I’ll be able to perform the maths etc. on the message directly in Kyma. If no-one knows that’s fine, I’m just curious whether these signed bit messages (delta) are common. I suppose similar to relative midi messages.
Thanks
Thanks
In the Capytalk Reference, you could search for "accumulate" and look at the documentation and example Sounds using those messages (e.g. accumulateWhile:). Some of the accelerometer examples  (Wiimote and iPad) use this idea. You wouldn't accumulate by 1 or 2 but by much smaller amounts like 0.001 or -0.0001 (but you can see that in the example Sounds).
You can also look around in the Data-driven Instruments folder of the Kyma Sound Library for other examples of accumulate and other messages that might be useful (like sameForLast: to detect when a controller has stopped moving).
You could simulate a "directional" control using buttons in the VCS and accumulateIf: to make sure you can get the behavior you want even before you have the Arc. You could also experiment with a Wiimote or Kyma Control on an iPad.
Thank you, I’d come across those this morning actually! *
A think I’ll take a punt and give the arc a go. I could look at the pretty lights for hours!
Thanks
* I wish there was an offline version of the CapyTalk reference. Is that something that’s possible? Often I’m away from Kyma when trying to figure stuff out.
+1 vote
I use the monome grid and arc with Kyma a lot, and so far I haven't found way to get it directly into my pacarana. I always use max or osculator. There is ways in Kyma to accumulate the delta values, but it's also easy ways to do it in max. What I normally do is use the serialosc monome object in max, and then use udpsend and udpreceive in to send back and forth between the arc and pacarana. Kyma is handling osc in a very different way than the monome devices are "made for" is my experience. Monome devices use multiple argument osc messages, and Kyma always splits multiple argument osc into separate hotvalues. But with a bit of middle layer programming in max for example, or with the monome norns (which i use a lot) you can do done really cool things. I'd be happy to answer any specific things you'd like to test out. I have both grid and arc.
answered Jul 5, 2020 by anders-skibsted (Adept) (1,320 points)
That’s great, thanks. And confirmed my suspicions a little. I’ll message you directly in the slack if that’s ok re. specific usage.
Yes, of course. Send me a message, and I'll see if can shed a bit of light
+1 vote

the ideal solution  posted above by SSC is not going to work with Monome. They have their own server program called serialosc . You can read about it here, https://monome.org/docs/serialosc/osc/ and https://monome.org/docs/serialosc/setup/
...

I have been getting some success with Grid and NeverEngineLabs OSCTools.

The main problem  why you can't use the hardware to hardware route i think, is that Kyma cannot send or read Strings over OSC.

The Monome devs  moved on from zero-conf/bonjour because of reliability issues but made a similar handshaking scenario as the Kyma protocol.

Unfortunately one of the config messages that we need to directly connect serial-osc to Kyma is

/sys/host s <host>

a string to change the host of the destination ... the string would contain the Pacarana hardware IP and we would also need

/sys/port i <port>

which would change the destination port.

As Kyma can't a) send or interpret an OSC string

that makes it really difficult to do directly..

Nevertheless, with some scripting using the awesome swiss army knife for OSC and Kyma ( Camille Trouillard's OSCulator 3  ) to do the routing and config betwee devices and my NeverEngineLabs OSCTools  to do the Kyma stuff, lots of cool ways to integrate with Monome controllers and Kyma can be set up 

 

answered Jul 7, 2020 by cristian-vogel (Master) (8,460 points)
edited Jul 7, 2020 by cristian-vogel
Thanks Cristian, I look forward to getting stuck in!
The Pacarana's port information is not private; the port address is always 8000.
Ooops. I'll correct that in my reply above.
Perhaps that rather useful information could be put more clearly somewhere in Kyma, like in the OSC Monitor Tool or something.
0 votes

The serialosc daemon is open source, so if you like, you could modify it to communicate directly with the Paca(rana) without need for additional software: https://github.com/monome/serialosc

You could also modify serialosc to send custom OSC messages to avoid having to decode their messages in your Kyma Sounds.

This would allow you to interact with any monome device that uses their serialosc daemon.

answered Jul 7, 2020 by ssc (Savant) (128,200 points)
sounds like a project...
...