Control de X32/M32 desde Qlab por OSC
Cuando pensamos en una mesa de audio siempre nos imaginamos retorciendo los botones y subiendo y bajando los faders de la propia consola. Sin embargo, hay infinidad de situaciones en las que poder accionar todos esos controles de forma remota desde un ordenador, nos puede ser de gran ayuda.
Hablamos por ejemplo a musicales en los que automatizar los cambios es más que necesario, o de eventos en los que puedo hacer que los canales de audio del VTR se desmuteen cuando mi compañero lanza un video.
Puedes incluso estar pensando en situaciones mucho más complejas: por ejemplo que con un solo golpe de GO en mi Qlab pueda hacer que los avisos de comienzo de espectáculo se reproduzcan y se envíen a camerinos, para que posteriormente la ruta de audio se modifique y lo que se envíe a camerinos sean los micros de público una vez empieza la función… El limite es la imaginación
En este caso vamos a usar Qlab aunque podríamos usar cualquier otro software capaz de enviar órdenes OSC como Companion, Open Stage Control, o Touch OSC, y en concreto hablaremos de la consola X32 o M32 aunque el procedimiento es prácticamente idéntico para cualquier otra mesa o dispositivo que admita OSC.
Muy bien pero… ¿Qué es OSC?
OSC (Open Sound Control) es el protocolo de control sobre red más extendido dentro de los sistemas audiovisuales. Nos permite por medio de mensajes muy sencillos y «legibles» controlar parámetros de mesas de audio o iluminación, proyectores, procesadores de audio, etc.
Estos mensajes están compuestos por una ruta y un argumento.
La ruta define el parámetro del equipo que queremos controlar (nivel de fader o submaster, fuente de video, shutter…) y siempre empieza por el carácter «/».
El argumento es el valor en que queremos posicionar ese parámetro. Existen 4 tipos:
- Boolean – Es un parámetro que puede tomar dos valores, si o no, encendido o apagado, 1 o 0… Solemos usarlo para activar/desactivar parámetros.
- String – Es una cadena de texto. La usaremos para poner nombres en canales.
- Integer – Es un número entero. 1, 2, 3,…
- Float – Es un número decimal. 1.0, 2.5…
Veámoslo con un ejemplo: el comando /ch/04/mix/fader -6.0 enviado a una M32, hará que esta coloque su fader del canal 4 en la posición de -6dB. Observa que entre la ruta y el argumento hemos de dejar un espacio en blanco.
¿Quieres saber cómo hacerlo?. Vamos a verlo paso a paso.

1. Conectar ambos sistemas
Comenzaremos por la parte física. Necesitaremos conectar en red nuestra X32/M32 y el mac en el que estamos ejecutando QLab.
La forma más sencilla de hacerlo sería por medio de un cable de red entre nuestro Mac y la X32/M32, aunque también podemos intercalar en medio un switch, si es que eso nos facilita las cosas.

Fíjate en que el puerto que vas a usar en la X32/M32 es el llamado “Remote control”. Es algo bastante obvio pero a veces con las prisas acabamos conectados en el puerto de “ULTRANET” y claro, no funciona… ?
Y… sí, al igual que hacemos con la aplicación del iPad de la propia consola, podríamos llevar a cabo esta conexión por medio de una red WI-FI, aunque es algo que solo te recomiendo hacer si no queda más remedio.
2. Comunicación entre los equipos
El siguiente paso es asegurarnos de que los mesa y ordenador puedan hablar entre sí.
Al igual que hacemos al utilizar el iPad necesitaremos que las IP de ambos equipos estén en el mismo rango de red.
Para asignarle una dirección a los equipos podemos hacerlo manual o automáticamente si añadimos algún Servidor DHCP en la red. Si tienes dudas sobre esto echa un ojo a este articulo sobre asignación de IPs.
En mi caso voy a configurar manualmente la IP mi MacBook IP 192.168.0.11 con la máscara de subred 255.255.255.0 El resto de campos los puedo dejar en blanco:

Y mi X32 rack en la IP 192.168.0.50 con la máscara de subred también en 255.255.255.0:

Llegados a este punto podemos comprobar si hay comunicación entre ambos equipos «haciendo un ping» a nuestra X32/M32 desde la terminal del Mac.
Para ello abriremos la terminal en Mac y teclearemos «ping 192.168.0.50» (sin las comillas). Si la consola nos contesta es que hasta aquí todo está bien:

⚠️ En el caso de que tengamos una respuesta distinta a esta -del tipo Request timeout for icmp_seq 0 es que algo no ha ido bien y tendremos que repasar los pasos anteriores para revisar si nos hemos saltado algo y el qué.
Para detener el envío de pings pulsaremos simultáneamente las teclas control + c
3. Configuración de Qlab
Una vez tenemos nuestros dos equipos en red hemos de decirle a Qlab, qué dirección IP tiene la X32/M32 y en qué puerto espera recibir los comandos OSC.
Para ello nos iremos a Settings (la rueda dentada de la esquina inferior derecha) y dentro de ese menú navegaremos hasta la pestaña Network.
Es aquí donde configuraremos un nuevo «destino de red«. Le asignaremos el nombre que queramos para poder identificarlo fácilmente. En «Destination» introduciremos la IP de nuestra X32/M32 y en «Port» introduciremos el 10023.
¡Listo! Habremos acabado con la configuración así que podemos hacer click en Done para cerrar esta ventana.

4. Creando un CUE OSC
Ya casi lo tenemos. El último paso será crear un CUE en Qlab que envíe una orden OSC al activarlo.
Para ello en nuestro espacio de trabajo haremos click en Network (1), que creará un CUE de red.
Después navegamos a la pestaña Settings (2) donde introduciremos el comando OSC que deseemos (3). En mi caso voy a usar el mismo que en el ejemplo anterior: /ch/04/fader -6.0
Comprueba que en el desplegable Destination está seleccionado el destino de red que creaste anteriormente, y que en Type aparece «OSC message»
Una vez lo tengas puedes probar el comando haciendo click en Send o seleccionando el CUE y dando a GO.

Si todo ha ido bien, el fader del canal 4 de tu X32/M32 se debería de colocar en la posición de -6dB.
4. ¿Qué parámetros puedo controlar?
Llegados a este punto te estarás preguntando qué parámetros de la X32/M32 puedes controlar. La respuesta es casi todos, por no decir todos.
He preparado una tabla con los controles más comunes, y si quieres ir más allá te dejo la web (en inglés) donde puedes encontrarlos el resto.
Recuerda sustituir [01…32] por el número de canal que quieres controlar y dejar un espacio en blanco entre la ruta y el argumento, tal y como se ve en los ejemplos:
Parámetro | Ruta | Tipo argumento | Ejemplo |
Fader de canal | /ch/[01…32]/fader | Float | /ch/04/fader -6.0 |
Mute de canal | /ch/[01…32]/mix/on | Bool | /ch/01/mix/on 0 |
Panoramización | /ch/[01…32]/mix/pan | Float | /ch/01/mix/pan -100.0 |
EQ on | /ch/[01…32]/eq/on 1 | Bool | /ch/01/eq/on 1 |
Gain Banda EQ | /ch/[01…32]/eq/[1…4]/g | Float | /ch/01/eq/3/g 6.0 |
Nombre canal | /ch/[01…32]/config/name | String | /ch/01/config/name «Hola» |
También he preparado un archivo de Qlab con varios CUEs ya creados para que puedas probarlo y modificarlos:
¡Seguro que ya estás pensando en el momento de poder probar todo esto!
Si te surgen dudas o algo no va como debería, no dudes en dejarme un comentario. ?
Hola, me sirvió muchísimo de verdad. Quería comentarte dos cosas, la primera es si alguna vez asignaste de la x32 a QLAB vía OSC , es decir botón asignable de la consola asignárselo al GO de QLAB?. La segunda, que en los comandos que pones de ejemplo, el de fader de canal es /ch/04/mix/fader -6.0 A mi, de la otra manera no me fue. Muchas gracias! 🙂
Hola Dani, ¡Gracias por tu comentario!
La verdad es que nunca he usado OSC con la X32 en el “sentido opuesto”, pero no creo que sea muy complicado y seguro que en muchos casos puede ser útil.
Respecto de la ruta que indicas, puede que me equivocase o que hayan cambiado algo con las diferentes versiones de software, está bien saberlo, Gracias!!
Jorge que tal? Pues al hacerlo al «revés» que valor darle a los botos de asió en la consola. Bueno… seguiré investigando.
Saludos !
Hola. Buen artículo!!!
Estoy intentando hacer lo mismo pero con una XAIR18.
Según he leído también se puede, pero no sé por qué no lo consigo.
¿Sabes si el puerto también es el 10023?
Hola! Gracias por tu comentario. La verdad es que nunca lo he usado pero he encontrado esto. Quizá te sirva. 🙂
No veo a qué te refieres.?
Disculpa las molestias..
Muchas gracias.
Hay un link en la palabra «esto». Me he dado cuenta de que no se ven muy bien los links, trataré de corregirlo. Saludos!
Ok. Muchas gracias.
Ya he encontrado el puerto para XAir. 10024.
Saludos
Hola, muchas gracias por compartir este magnifico articulo. Esta muy bien explicado.
Gracias a ti por tu comentario! ?
es genial muchisimas gracias por compartir ,seguire a la espera de nuevos avances
mil gracias
Hola: yo estaría interesado en gobernar el Qlab desde la M32. Supongo que será posible, ¿no?
Hola! Sí que se puede pero en ese caso tendrías que usar MIDI y no OSC. Te dejo un pdf oficial de Behringer para que le eches un vistazo.
https://behringerwiki.musictribe.com/images/6/63/X32_MIDI_Implementation.pdf
Saludos!
¡Hola! ¿Tienes un m32 y un macbook?
¿Es posible controlar MIDI conectándolo con un cable LAN y usando osc mientras se conecta un cable USB al mismo tiempo?
Hola, para usar las funcionalidades MIDI tienes que hacerlo a través del cable USB o del propio puerto MIDI de la mesa; creo que no es posible hacerlo a través del puerto LAN. Usar OSC sobre LAN y tener el cable USB conectado la vez (por ejemplo como tarjeta de sonido) sí que es posible.
Saludos!
¡Hola! Muchas gracias por tu gran ayuda. Pero hice lo que me diste, y todo está funcionando bien, pero cuando ajusto el fader, el valor numérico no se puede ajustar y el fader baja incondicionalmente. ¿Cuál es la razón? ¡Gracias por dejarnos saber! ¡gracias!
ex -> ch / 17 / mix / fader 0.0
-> fader -infinito
ch / 17 / mix / fader -6.0
-> fader -infinito
ch / 17 / mix / fader -4.0
-> fader -infinito
Hola!
¿Has probado si te funciona con la plantilla adjunta en el post?
De esa forma puedes confirmar si hay alguna diferencia entre la ruta que tú estás escribiendo y la de la plantilla para detectar el problema.
Saludos!
¡Sí! Afortunadamente, todo funciona bien, pero el fader es el problema. Esto es lo que funciona ahora:
/ ch / 17 / mix / fader 100
-> 10db más alto que el actual
/ ch / 17 / mix / fader 300
-> 30db más alto que el actual
Muy buenas.
Una duda.
Sabrías decirme si funciona de manera similar si conectamos una soundcraft ui24r. ¿Qlab es compatible con soundcraft? ¿Las órdenes OSC son parecidas?
Hola Jordi. Pues por lo que he podido ver echando un vistazo rápido en google desde luego no acepta comandos OSC directamente como con la X32 aunque hay algún software a modo de «puente» para hacerlo: LINK Échale un ojo a ver si te funciona. Saludos!
Muchas gracias. Investigaré.
Hola Jorge, saber como se puede hacer para cambiar el tiempo en el que se hace la acción, por ejemplo que suba o baje el fader en un tiempo concreto. Gracias
Hola Manuela! Pues realmente nunca lo he hecho, así que te voy a contestar con la «teoría» de cómo se haría, aunque lo probaré e incluiré en el próximo curso de redes por que me parece muy interesante. En la foto adjunta puedes ver que en las opciones del CUE de red hay una opción de «Fade» donde Qlab te deja elegir 1D o 2D fader. En el caso de una variación de nivel por ejemplo elegiríamos 1D Fade, y en lo que es la ruta OSC tendríamos que sustituir el valor que queremos fundir por #v#. Luego en el… Read more »