absolutely going mad! > osc udp

    Jun 05 2014 | 11:23 pm
    hi folks,
    i'm completely helpless and need an(y) advice by whoever has a clue. i've been struggling with getting a two-way connection to the new behringer x32 digital mixing console which states (and has proven) to be able to understand osc. the one way works very fine: i can control parameters via udp (on port 10023). the other way is: numb! no chance — i get nothing back from the mixer. the osc documentation states that sending the console an "/xcontrol" command (other sources say "/xremote" is necessary) will dump out its current values. furthermore it is said that sending an empty path (without a value) will return the value for this given path (see patch). nothing (!) works. anybody? am i doing something very basic wrong here? i'd be so gracious!
    this is not very helpful, for me at least: http://www.behringer.com/assets/X32_OSC_Remote_Protocol.pdf

    • Jun 06 2014 | 7:13 am
      You can't send and receive on the same port as far as I know, try changing your receive port to something else like 9000
    • Jun 06 2014 | 9:23 am
      several sources say, that it sends back on the same port as you request the dumpout (this sounds like a tongue-breaker! :))
      if i use wireshark (mac application to "sniff" my connections), i get the impression that my computer *more or less randomly* receives on some strange ports such as 60302 etc. i barely have an idea about networking.
      got another hint? is there a chance that i need to convert my request-messages to binary or something? no idea :S
    • Jun 06 2014 | 9:48 am
      i think i'm not getting the whole port thing which i suppose is the actual problem. my mixer runs (?) on port 10023. if i use it's native mac-application/editor to connect to it and change settings, my changes are sent out on this port, but received on another. how do i know (and furthermore set up) max to receive on the port the console sends information back from (as this port seems to be different every time :S)
    • Jun 06 2014 | 10:35 am
      If I am using an OSC app on an iPad for example I will set it up like this, but I don't know enough to say how that relates to your mixer:
      iPad outgoing port: 8000 iPad incoming port: 9000
      Max outgoing port: 9000 Max incoming port: 8000
      I would have thought you have options to choose what input and output ports you use on your mixer, but I really don't know. Does it have its own forum? Maybe look there?
    • Jun 06 2014 | 10:42 am
      thanks again, luke! the mixer has some forums (as it's pretty much boosted in popularity), but nothing's of help, cause (strangely.. or understandably) nobody seems to have attempted a connection with max.
      unfortunately i can't set up it's outgoing port. it's incoming port is 10023 as mentioned.
      i think i don't understand the udp-thing. what i suppose i'd need to find out is the port that max receives information back when it sends them out. does that make sense? do you know anything about this?
    • Jun 06 2014 | 12:40 pm
      You define the udp ports in the simplest way. Send from Max (anything) udpsend 9001 (send out of port 9001) recieve into max udpreceive 9002 (receive on port 9002)
      Make a simple test. Create a simulation in max with the right port numbers and just send a basic message through. Once you have that working then try it with the mixer. The tutorial for the object states it all very clearly.
    • Jun 06 2014 | 12:50 pm
      i think i've gotten that far. sending and then receiving on one and the same port within max works fine. (udpsend 9000 -> udpreceive 9000). the mixer's osc manual says it receives on port 10023. works! furthermore it says, that it sends requests back on the senders port. requests to the mixer are apparently stated by non-value path-messages (e.g. "/channel/01" instead of "/channel/01 1000") or the message "/xremote". but the port these messages "come back" at seems to be random. anyhow other (non-max) software is obviously able to receive changes within the mixers parameters.
    • Jun 06 2014 | 1:16 pm
      I had a look at the x32 forum and there seem to be others having this problem, it seems to be a strange OSC implementation on Behringer's part:
      On the DAWOSC forum someone explains it well: http://dawosc.forumotion.com/t72p15-connecting-to-hardware-mixer
      I know Siska Adam has some UDP objects in the sadam library, maybe see if they can help.
    • Jun 06 2014 | 1:34 pm
      thanks for all your effort, luke.
      i think i might just need to give up :( i've looked into adam's udp objects but they appear to be of no help - it still seems necessary to (obviously) listen on one explicit port. to sum up what i've learned / suppose: 1) i send a request to the behringer x32's port 10023 2) behringer gets my port (i am sending from) and sends the requested data back to this port 3) i cant find out which port i am sending (receiving) through as it appears to be random.
      is this correct? any last words :) ?
    • Jun 06 2014 | 1:42 pm
      i've done some more wiretapping.. it appears, that max receives information back on *some* (own, randomly assigned) port.this is most probably the port that the x32 sends the data back to - the port i would have to udpreceive to. is there any way to read out max's "source port" - in other words its own port? does that even make sense in terms of networking?
    • Jun 06 2014 | 6:57 pm
      A computer sending to itself with UDP is always Eg udpsend I use this to send from ableton max for live to another max patch. Hope that makes sense. You have to define the port, max can't do that randomly. Maybe post a stripped down version of your patch with just the basic data flow and udp objects. maybe you made a simple error with defining the arguments. Eg. udpreceive doesn't need an ip address !
    • Jun 06 2014 | 8:05 pm
      @Andro, I read through some stuff on a couple of forums and this isn't a normal OSC setup by the look of it. The x32 seems to do some weird stuff in the way it handles OSC as it won't let you decide on an output port, I quote:
      "x32 listens on port 10023 and responds to the port that requested /xremote command. That is what causes problem to all osc programs (both ios and android).
      Let me try to explain the "random port" thing.
      When you send a UDP message, it goes from IP1:PORT1 to IP2:PORT2. You specify IP2 and PORT2 (that is your outgoing setting). IP1 is your client's IP. Now PORT1 is the problem. Normally you don't care what it is and usually it is randomly assigned by OS or socket library."
      So it seems this is the problem, it is sending back to an originating random port rather than letting you specify one so you don't know what to set your UDPreceive to. Max won't let you specify an outgoing port (you specify the host port on UDPsend) and it shouldn't have to really as it works like every other OSC app.
    • Jun 06 2014 | 8:09 pm
      udpreceive doesn’t need an ip address
      but it still needs a port number ! @op : what are the applications that are designed to communicate wiht the Behringer and which work naturally with it ? you could find by there which port number is the correct one. anyway don't give up :) are you on osx ? there is "network utility.app" (or something called close to that) that might help you see what's going on
    • Jun 09 2014 | 2:42 pm
      luke got it pretty straight. port and ip of the behringer are clear — the ip you define and the port is always (!) 10023. to repeat: the problem is the senders (max's) port.
      sender --> states request from port x to port 10023 x32 --> send back to the senders port x.
      software that works well: > x32 sniffer (x32 scribbler -- might even be opensource, so if anybody'd like to dig into that; i have no clue of "real" programming :)) > official behringer x32-edit software (mac and win)
      i'm on a mac. i use wireshark to "sniff" my outgoing connections (port). this clearly displays, that my port (from which is send requests to the x32) is always random :/
    • Jun 09 2014 | 7:27 pm
      off-topic: "mad! > osc udp" i never saw this usage of '>' before. it immediately clicked as 'mad OVER osc udp'. so instinctual. yet i'd think for 'over' it might be: "mad! / osc udp" but then that might look like an 'or'! anyways, i learned something new today just from the title :)
    • Jan 15 2015 | 4:05 pm
      Hi Ben,
      I'm on the same problem except I'm using processing and the OSCP5 library to communicate. I can send osc messages ot the desk and control it but not receive anything back. I also used wireshark to show it was replying with any changes but to random ports.
      The unofficial X32 OSC protocol says "The server replies on the UDP port specified by the client when establishing communication". Therefore, wouldn't you need to establish a communication first so the server/desk knows which port to reply on. I.e. send a "/server/connect" message? The X32 edit app requires you to do this before you can do anything to the desk which is leading me to think this may be the issue.
    • Apr 16 2015 | 6:58 pm
      hey I don't speak english very well, but i try...
      I made a Max object called UdpSend_LocalPort with java, i modified the properties of UdpSend to know which Local port was used. Try it to communicate with X32, say I if that works for you. I am under Windows 7, max 6.1 32bit
      see you
    • Apr 23 2015 | 3:13 pm
      hei jeannick – incredible!!! i totally want to try it, but unfortunately the "mxj UdpSend_LocalPort" is missing the code / external (i guess you'll have to upload that mxj class / code separately in order for me to place it into my root directory?).
      thanks so much! can't wait for your reply!
    • Apr 23 2015 | 4:04 pm
      hey i can't post here the .class and .java or .rar with all code you need, it doesn't work I can email you all, if you post me your adress or tell how I can do... jeannick
    • Apr 23 2015 | 4:06 pm
      thanks so much!! it's mail (-at-) bcbas.com
    • Apr 23 2015 | 4:23 pm
      ok it's done
    • Jul 19 2016 | 9:01 am
      after having received an e-mail yesterday with someone asking me if i had found a solution to this problem from a year ago – yes, i have. it works like a charme and here it is:
      the *only* way i got a 2-way communication going with the X32 console was to use the SADAM externals (sadam.udpReceiver, sadam.udpClient and sadam.udpSender). if you find this helping you, do consider a donation for siska ádám – these are some great tools.
    • Sep 09 2016 | 9:11 pm
      Hey Benny,
      Can you please post an example with some x32 OSC lines included, of maybe a setup that is working for you right now. I tried using your previous patch but can't get it to work!! I am using 64 bit, are you using AL 32 bit?
      Your help will be greatly appreciated, thanks.
    • Sep 10 2016 | 2:16 pm
      hello piano4me,
      i am running max 7.2.4 64 bit (MAC OS) and everything is working fine for me (and has been, throughout former versions and also on 32 bit).
      are you sure you have set up the IP and port of your X32 correctly? mind the messagebox that says "dst_port 10023" – you'll have to initialise / click this, when loading the patch.
      i've updated the patch with a few more notes... see if this helps you
    • Dec 15 2016 | 2:44 pm
      Hi! I'm trying to get this to work with the xair-18. Unfortunately i cant find the SADAM externals. The page http://www.sadam.hu/ it douse't work any more. Can someone sent it to me?.... my email is fivefresh(ad)gmail.com
      Thank you!!!