![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: OSC out? | |
Phi Curtis Member |
![]() ![]() ![]() Is there a way with the new OSC capabilities (which I haven't used much yet) to send OSC messages from Kyma? It seems like sending MIDI over OSC for bi-directional controls is the only OSC out described on the OSC Tweaky pages. I want to use OSC out instead of MIDI out, for better resolution (I currently send MIDI to Max, which then converts it to OSC to send to Processing or OSCulator, which is kind of a pain). Or it seems that this is something which isn't implemented yet? thanks, IP: Logged | |
SSC Administrator |
![]() ![]() ![]() For now, you could use a SoundToGlobalController with a generated value in the form of an OSC message, for example !osc_1_fader1 would create the OSC message: /1/fader1 Have Max send that message once. And Max has to tell Bonjour which port is receiving messages on. OR, have Max send Kyma a respondTo message. For example, Max could send the following message once: /osc/respond_to 8000 to let Kyma know to send OSC responses and update messages to port 8000. [This message has been edited by SSC (edited 10 July 2010).] IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() quote: Thanks, SSC - it seems like this is something that can be done. But I'm not quite getting it. If I send a message of /osc/respond_to 8000 from Max, Max receives this message back on port 8000: /osc/response_from 57088 but I don't seem to be receiving anything from the global controller that I set up as !osc_1_fader1. I think I'm missing something. [I don't think Max uses Bonjour, unfortunately] IP: Logged | |
SSC Administrator |
![]() ![]() ![]() Max has to send the message: /1/fader1 (the actual OSC that corresponds to Kyma's !osc_1_fader1) to Kyma at least once before Max can start receiving it back from Kyma. IP: Logged | |
SSC Administrator |
![]() ![]() ![]() quote: That means Max is receiving on its port 8000. And the Pacarana is telling you that it received a message from Max on port 57088. So Max is receiving on 8000 and sending on 57088. You don't have to do anything differently based on this; it is just the way that Max and Kyma are establishing how they are going to talk to one another. IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() Hi, I should have said that I was sending the /1/fader1 message, and running the global controller called !osc_1_fader1. Is there any particular sequence of events that has to happen? Right now, for example, I'm running the Kyma global controller sound when I send the x /osc/respond_to 8000 message from Max, followed by the /1/fader1 message. I'm looking at messages received by Max by simply connecting a print object (prints messages to the Max window) to Max's udpreceive object, which is watching port 8000. Max responds /osc/response_from 58308 (or whatever port) after receiving the respond_to message but nothing after the /1/fader1 message (again, !osc_1_fader is sending values the whole time). IP: Logged | |
bar|none Member |
![]() ![]() ![]() I had the exact same problem trying to make this work with MAX and was never able to resolve it. My guess is that MAX sends from a pool of ports or creates a new port each time, so the port that you send the respond_to from is not the same port as the next message you send. KYMA creates a table and hashes the communication channel by the port that sent it the respond_to message. Unfortunately this is not possible to change. I think this should be fixed on the KYMA end though since MAX is an extremely important client environment. Maybe it would be possible to register a global respond to port # as a catch all. respond_to_global 8000 This means that if there is not a respond_to port registered for the sending port then it will default to sending back on 8000. If someone has gotten feedback to MAX, I'd be interested to hear it. IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() Thanks! Then I'm not on the wrong track, just using the wrong program... My end goal is to send messages to Processing anyway, and get rid of Max as middleman (I was using it to convert Kyma midiouts to OSC to send to Processing). I'll move on to testing with Processing. IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() No luck with Processing either... Would appreciate hearing from anyone who's gotten it working with the oscP5 library for Processing... PC IP: Logged | |
SSC Administrator |
![]() ![]() ![]() We tested it here doing the following: * Created and played a SoundToGlobalController with GeneratedEvent of !osc_test and Value of !x. * Ran from Terminal CNMAT's dumposc utility to monitor OSC messages: dumposc 9000 * Ran from another Terminal window CNMAT's sendosc utility to send OSC messages (replace the 2 with the serial number of your Pacarana): sendosc -h beslime-2.local 8000 * In the sendosc window, entered: /osc/respond_to 9000 * In the dumposc window, saw: /osc/response_from 54485 * In the sendosc window, entered: /test 0.1 * In Kyma, saw the !osc_test fader move. * In Kyma, dragged the !x fader and saw messages indicating new value of !osc_test, for example: /test 0.180000
IP: Logged | |
SSC Administrator |
![]() ![]() ![]() For some examples of using OSC to communicate bidirectionally between Max and Kyma, please also take a look at Andy Capon's Max patches. He uses an external called oscbonjour from IRCAM ( http://recherche.ircam.fr/equipes/temps-reel/movement/muller/index.php?entry=entry060616-173626 ): http://www.symbolicsound.com/Learn/AndyCaponMaxExternalOSC [This message has been edited by SSC (edited 11 July 2010).] IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() A lot of the links at the CNMAT site seem to be broken, including the links on that page (http://archive.cnmat.berkeley.edu/OpenSoundControl/dumpOSC.html) that are supposed to go to the source code and compiled binaries of dumpOSC. Does anyone have a working link? IP: Logged | |
SSC Administrator |
![]() ![]() ![]() You can get the sources and binaries from http://archive.cnmat.berkeley.edu/OpenSoundControl/ Look in the OSC Resources section for the links. IP: Logged | |
ChristianSchloesser Member |
![]() ![]() ![]() Today i tested kyma with Quartz Composer and the qcOSC plugin (better then the native OSC support of QC) I had to send the message /osc/response_to "my Portnumber" first ! and then it started working bidirectional ... control the VCS with QC and get feedback via OSC from Kyma to control a QC - function... no luck in processing here too ... all the best [This message has been edited by ChristianSchloesser (edited 12 July 2010).] IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() Okay, I finally figured out how to get the Max patch to work. I didn't understand that when sending the /1/fader1 message from Max to the Paca, I should follow it with a float value. After that it worked fine, and Processing received the values after that as well. I can maybe upload some screen shots later that will make it clear. Thanks for your help. best, [This message has been edited by Phi Curtis (edited 12 July 2010).] IP: Logged | |
SSC Administrator |
![]() ![]() ![]() Thanks, Phil, that would be helpful! I tried to distill a summary of bi-directional OSC on the tweaky. If you click the Max example, there's an additional page with details where your screen shots would be very appreciated by everyone using Max and OSC! Thanks! IP: Logged | |
ChristianSchloesser Member |
![]() ![]() ![]() quote: may you post your processing sketch? all the best [This message has been edited by ChristianSchloesser (edited 13 July 2010).] IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]()
http://www.symbolicsound.com/cgi-bin/bin/view/Learn/OSCKymaMax The Processing patch I'm uploading here, but it's still in progress. Here are the caveats: 1.You have to hard-code your Pacarana's IP address (no bonjour possible with Processing, I think). 2. You have to use the Max patch I created to "jump-start" the connection - it doesn't seem to make the connection on it's own - still trying to figure this out. 3. After you've jump-started the connection with the Max patch, you have to close the Max patch. Then you should see the fader values printing in the area at the bottom of the sketch. I'll post the Processing patch when I figure it out. If anyone else figures it out, let me know! Phil IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() BTW, is there a way to get a new IP address for the Pacarana without shutting it down and restarting it? Once I've used the Max patch to establish an OSC link with the Pacarana, I can't get it to reset so that I can test my Processing patch (actually a good thing, it seems like a pretty reliable OSC connection). But it slows the testing process down. I tried sending my messages from Processing to Max instead of Kyma to see what was going on, but it seems like it is sending the same messages that Max sends to Kyma, so I don't know what the problem is. But Kyma doesn't seem to receive messages sent by Processing at all. IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() Okay, I figured out how to get communication going between Processing and the Pacarana, without using either Max or OSCulator: http://www.symbolicsound.com/cgi-bin/bin/view/Learn/OSCKymaProcessing I've linked it from the same Tweaky page that the Max example is linked from. Let me know if anything isn't clear. PC [This message has been edited by Phi Curtis (edited 17 July 2010).] IP: Logged | |
SSC Administrator |
![]() ![]() ![]() ![]() IP: Logged | |
Phi Curtis Member |
![]() ![]() ![]() I've added a couple of files to the Tweaky that demonstrate OSC communication with Quartz Composer: http://www.symbolicsound.com/cgi-bin/bin/view/Learn/OSC2Way IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.