absolutely going mad! > osc udp
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:
----------begin_max5_patcher---------- 1108.3oc0YtriaaCEFds8SAiV0Et1h2zkftoIcRP1jEo.EEHnX.sEsGkHIZP Q63jfruOC8wqOIkjRxVyDKYoL1xS2HOhTh7vO8etPNec7Hm4hc7bGvyAuGLZ zWGOZjsISCiJuejSJa2hDVt8wbR444rUbmIE8o36T11WKjJ.z0Egq5RrQkvU pOulWL9NNf+prqkhLUd7Wrc.QScKaNaSZbl9cryDprw0L0h6hyVcqjuPULRg Tr9c.XHw7iWf4JTec+3GGYsIw7O7yHhSsIMikZmTmeUFyRbNLuEFqchglF+1 3wlKS5HUx3eROYeGTTfXv7F4QblxYBvYNKaU+PCrYzfo9FZPvdSoZBgLWQtM fFXeQC5G.MKDoobyJ8Ar44+D3c27xadye7l29Zmir3MVcUyxUyMM41abTpTP dVp.IE2Edbd.C6KObOi73e+6+A76271eSiCPu4wZIOWOnLUrHqtZ.AsKXrcc 6VdY+ZumhJD0NBPs1pMJFbMo3u.xDJi4+riBwZdTcFhPnucASC7eTTD5FZGG BIv3UBKnYSNmP+g.iMD2RpGVNX1xcRU1LW+Yow6lsjEwkMGaex4O9dEnv9sB J50LJ1kPu4RQV8laviTugrC.A1I8F4Jp2VKiOv1GYFvv.bsUMlz5hFcEWzah zBfE73s7yZcSmNaHlTjMz0qU1.GhBmZ1u5SB4Gye14xohFPspB+GmOEMnvkJ vlW8TtTt+eMSXOwgGzqC3XPpKnosmzqbYmxeqQMleAMnmVi0R1OhmUb4QK8R 8aa6MzgvIsQntSxSEJ94mjP3YgjEUp5grHj1JHIWWPtPOqRQxkeuyDMS04E8 bsDl50FSvWwsN+kT1ZfqdE5at5dXa7cEMMDMidxs4fCIFBE1pbIrkrifWHRh t3.RW9f10IB.CQSgdAS00PLEc+JINOmkfOzdJBPebaQ2wW05GYK9nVljlu5x 6.URkxpy8QsBE30zCJAH4aGlcrUAEbPgGTqkEgGhMr0.Txsa0XI3LTO.bJMj BC76oWEwFYZeIjEDC1vgofCGBAThdOHSipMjaYx8y0204QURKSDL0AP0Pdcj tXFH0CoCmD3ZBpPHEUk+ienTXLtgAptMTerpeBn6Ojk0LodAq3xa4Yr4I75u vCDiksly1xitkoTx34aT7C+UdIoKQsglIa3hkUMW0d8IMQjspQheumL+Ng7f P3U+IveVvwdtpuOviz2lrXUt5yEqR2h9sRlpeJ0OVTpMmrG9uHv94vz98EU4 hMxEUphpCeGb3KRDOWEms+Cx6OrQyZOzcwQQba+UAghhyMeRhZNoQmsGXGrG 7.aOvSYOgCl8D1E9fFN9.6h8XN.vmT1CZvrGZWjyjAybHOsLG7SLyIrqAefC i8zIwLd3BF52A6Ib.C9bQ0OE4VYqWukKyKGSqonKM6CBo4VuI1aiyJt0lI2Q WReb0yaK8zgI0kFoz0EsQVTTvt.Omwl44ai+Ows8TXC -----------end_max5_patcher-----------
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
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
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)
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?
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?
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.
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.
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:
I know Siska Adam has some UDP objects in the sadam library, maybe see if they can help.
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 :) ?
- This reply was modified 8 months by benniy.
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?
A computer sending to itself with UDP is always 127.0.0.1.
Eg udpsend 127.0.0.1. 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 !
@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.
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
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 :/
"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 :)
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.