Qué es Bome MIDI Translator y cuándo hace falta un middleware
Qué es un middleware MIDI y cuándo hace falta de verdad: el modelo de Bome, el caso de las pantallas del jog en Traktor y lo que cuesta poner una pieza en medio.
Hay un tipo de problema que ningún mapping resuelve, por bien hecho que esté: cuando la función que necesitas no existe en el software.
No es que esté escondida en un menú, ni que falte activarla. Simplemente no está en la lista de lo asignable. Y contra eso, el mapping no puede nada: no puedes asignar a algo que no existe.
Ahí es donde entra un middleware: un programa que se pone en medio, entre la controladora y el software, y fabrica la función que falta.
Qué es un middleware MIDI
La idea es simple de enunciar: recibe los mensajes de tu equipo, los transforma y los reenvía.
La diferencia con un mapping es de qué se transforma:
- Un mapping decide qué función del software dispara un control. El mensaje no cambia.
- Un middleware puede cambiar el mensaje mismo: su tipo, su canal, su valor. Y además puede hacer cosas que un mapping no contempla, como convertir un mensaje MIDI en una pulsación de teclado.
Esa última capacidad es la clave de todo, y la dice la propia documentación del producto: permite controlar cualquier programa del ordenador desde un controlador MIDI mediante emulación de teclado y de ratón.
Piensa en lo que eso significa. Un programa que no tiene MIDI en absoluto —un reproductor cualquiera, una utilidad, cualquier cosa— se vuelve controlable desde tu cabina, porque tu controladora habla con el traductor y el traductor escribe en el teclado.
El caso que lo justifica, con nombre y apellidos
Nada de esto queda abstracto, porque existe un ejemplo muy concreto y muy buscado.
Conseguir las pantallas del jog de una DDJ-1000 funcionando en Traktor.
Es el caso perfecto porque reúne las tres condiciones: es una función que el software no expone, que mucha gente quiere, y para la que existe una solución comunitaria que declara explícitamente que necesita un middleware. El repositorio de mappings de referencia recoge, entre los principales, precisamente el de la DDJ-1000 con pantallas del jog, y en su carpeta conviven una versión con Bome y otra sin él.
Ese «con Bome» no es un detalle de instalación: es la razón de que funcione.
Y encaja con lo que viste en la guía de pantallas: dar vida a una pantalla ajena no es un mapping, es un proyecto de interoperabilidad. En aquel caso eran un script y un proceso auxiliar en Python; aquí es un traductor comercial. El problema es el mismo; la herramienta, distinta.
El modelo de Bome: tres niveles
Bome MIDI Translator Pro organiza todo en tres niveles, y merece la pena entenderlos porque explican por qué es tan flexible.
El Project
Un Project equivale a un fichero que puedes cargar y guardar. Contiene:
- La información de autor del proyecto.
- Los puertos MIDI de entrada por defecto.
- Los puertos MIDI de salida por defecto.
- El enrutador MIDI, donde se definen las conexiones de paso para todo el proyecto.
- Y todos los presets.
Los puertos por defecto funcionan por herencia: si no defines puertos concretos en un nivel inferior, se usan los de arriba.
El Preset
Un Preset es una colección de traductores, y aquí está la pieza que hace posible el comportamiento condicional:
Un preset puede estar activo o inactivo, y cuando está inactivo sus traductores se ignoran por completo durante el procesamiento.
Y lo importante: un preset se puede activar o desactivar desde la acción de salida de otro traductor.
Ahí tienes las capas. Un botón no «hace dos cosas»: un botón cambia qué conjunto de reglas está vivo, y a partir de ahí todo lo demás significa otra cosa. Es la misma idea que una capa SHIFT, pero implementada fuera del software y sin sus límites.
El Translator
El Translator es donde ocurre el trabajo: la documentación lo llama literalmente la pieza que hace el trabajo de tu proyecto, porque ahí se definen la condición y la reacción.
Cada traductor tiene cuatro elementos, y conviene memorizarlos porque son el esqueleto de cualquier receta:
- Opciones: nombre, activo o inactivo, y detener el procesamiento.
- Disparador de entrada: la condición. Admite mensajes MIDI, pulsaciones de teclado escritas y eventos internos como que un preset se active o que venza un temporizador.
- Reglas: sentencias simples de lógica y matemáticas para usos avanzados. Es decir: puedes decidir en función de valores, no solo de qué mensaje llegó.
- Acción de salida: qué se hace. Enviar un mensaje MIDI, emular la escritura de una tecla, o cambiar el comportamiento interno activando presets o arrancando temporizadores.
Fíjate en la simetría: la entrada puede ser una tecla y la salida un mensaje MIDI, o al revés. El traductor es bidireccional en cuanto a qué extremos conecta, y ahí está toda su potencia.
Cómo se procesa un evento, en orden
Este detalle explica muchos comportamientos que parecen magia, y la documentación lo describe con precisión:
Un evento entrante se procesa en orden. Primero el primer traductor del primer preset, luego el segundo, y así hasta recorrer todos los traductores de ese preset. Después se repite con el segundo preset. Y así hasta que el evento ha pasado por todos los traductores de todos los presets.
Y hay un freno: si un traductor tiene marcada la opción de detener el procesamiento y se dispara, el evento se interrumpe y los traductores y presets siguientes no lo ven.
Eso es importantísimo en la práctica:
- Si dos traductores hacen cosas contradictorias, el orden decide quién gana.
- Si quieres que un mensaje no llegue al software, lo consumes con un traductor que detenga el procesamiento.
- Y cuando algo «no funciona» en un proyecto complejo, la causa habitual es un traductor anterior que se comió el evento.
Virtual MIDI y el enrutador
Dos piezas que aparecen en cuanto lo pruebas de verdad:
- Los puertos MIDI virtuales. Son puertos que existen solo dentro del ordenador, y son lo que permite que el software DJ «vea» al traductor como si fuera un equipo más. En la práctica, tu controladora entra al traductor y el traductor sale hacia el software por un puerto virtual.
- El enrutador MIDI, donde se definen las conexiones de paso para todo el proyecto.
Y una herramienta que ahorra horas: el monitor de eventos, que registra lo que entra y lo que sale. Es el equivalente al modo de depuración del software DJ, y es donde se descubre que un traductor no se estaba disparando porque el mensaje nunca llegaba.
Cuándo basta el mapping y cuándo hace falta un traductor
La tabla ordena la decisión. La regla de fondo: si la función existe en la lista del software, es un mapping; si no existe, hay que fabricarla fuera.
| Lo que quieres | ¿Basta el mapping? | Qué hace falta |
|---|---|---|
| Llevar una función existente a otro control | Sí | Nada más. |
| Encender LEDs según el estado | Sí, con asignaciones de salida | Trabajo manual, pero posible. |
| Cambiar el mensaje que envía un control | No | Un traductor que reescriba el mensaje. |
| Que un botón pulse una tecla del teclado | No | Emulación de teclado desde el traductor. |
| Activar reglas distintas según el equipo conectado | No | Presets que se activan y desactivan. |
| Dar vida a una pantalla no soportada | No | Traductor más el protocolo concreto del equipo. |
La regla es sencilla: si la función existe en la lista del software, es un mapping. Si no existe, hay que fabricarla fuera.
Lo que cuesta: añades una pieza en medio
Aquí está la parte que no se suele contar, y es la que decide si esto te conviene.
Un middleware es un programa más en la cadena. Y eso tiene consecuencias reales:
- Tiene que estar arrancado antes de pinchar. Si no lo está, tu equipo no funciona como esperas.
- Si se cae, se cae todo lo que pasa por él. No es un ajuste guardado: es un proceso vivo.
- Añades latencia, pequeña pero real, porque el mensaje ahora recorre un salto más.
- Duplicas la configuración. Tienes el mapping en el software y la traducción fuera; cuando cambies algo, tienes que acordarte de dónde.
- Y es una dependencia externa. Si el día del bolo el programa decide pedir licencia o actualizarse, estás en medio de un set.
Para un estudio, para preparar sesiones o para un montaje fijo, es una herramienta excelente y te da capacidades que no tienes de otra forma. Para una cabina donde no puedes permitirte dudar, es una pieza más que puede fallar.
Por eso los mappings serios que dependen de un middleware lo advierten en su propia documentación: quien los usa tiene que saber que hay un requisito fuera del software. Si te encuentras un mapping que dice «requiere Bome», ya sabes exactamente qué significa y por qué.
Errores frecuentes
- Buscarlo antes de agotar el mapping. Muchas veces la función sí existe y solo había que buscarla bien.
- Instalarlo y no arrancarlo antes de pinchar. El equipo parece roto y no lo está.
- Olvidar el orden de procesamiento. Un traductor anterior consume el evento y los siguientes no lo ven.
- No usar el monitor de eventos. Es la herramienta de diagnóstico, y es donde se ve que el mensaje no llega.
- Confundir middleware con mod. Aquí no se toca el equipo: todo pasa en el ordenador.
- Montarlo la noche antes de un bolo. Añades una dependencia viva; necesita rodaje.
- No documentar la configuración doble. Cuando algo falle, tendrás que mirar en dos sitios.
Siguiente paso
Con esto cierras la Fase 2: ya tienes el mapping por ecosistema, las capas, los LEDs, los jogs, las pantallas, el reverse engineering, la captura y la capa intermedia. Y en todo este recorrido han aparecido una y otra vez las mismas preguntas prácticas: cómo se organiza un mapping para que no se convierta en un caos y cómo se prueba. Eso es exactamente lo que viene: diseñar un mapping desde cero, con método.
Preguntas frecuentes
¿Qué es un middleware MIDI?
Un programa que se pone en medio entre tu controladora y tu software: recibe los mensajes del equipo, los transforma y los reenvía. Se usa cuando el software no puede hacer esa transformación por sí solo.
¿Qué diferencia hay entre esto y un mapping normal?
El mapping cambia qué función dispara un control dentro del software. Un middleware puede además cambiar el propio mensaje, convertirlo en una pulsación de teclado o activar y desactivar conjuntos de reglas según el momento.
¿Para qué se usa Bome en el mundo DJ?
Para lo que el software no expone. El caso más citado es conseguir las pantallas del jog en Traktor con una DDJ-1000: el mapping que las soporta declara explícitamente que necesita Bome como capa intermedia.
¿Un middleware es lo mismo que instalar un mod?
No. No toca el equipo: es un programa en el ordenador. Un mod modifica el firmware; esto solo traduce mensajes entre dos programas.
¿Qué contras tiene?
Añades una pieza que puede fallar y que tiene que estar arrancada antes de pinchar. Si se cae, el equipo deja de responder con normalidad, y eso en cabina se nota.
¿Necesito saber programar para usar un traductor MIDI?
No para lo básico: se trabaja con reglas y con acciones que se configuran en una interfaz. Para lógica elaborada sí conviene entender condiciones y variables.
Continúa aprendiendo
Si esto te suena a chino, empieza por aquí
Relacionadas
Fuentes
- Bome MIDI Translator Pro — página oficial del producto
Definición oficial: se presenta como una herramienta versátil de mapeo, procesamiento y scripting MIDI, con la que se pueden crear enrutados, reglas, lógica y capas propias, y que mediante emulación de teclado y de ratón permite controlar cualquier programa del ordenador desde un controlador MIDI. Esa última capacidad es exactamente lo que un mapping normal no puede hacer.
- Bome MIDI Translator Pro: User Manual
Manual oficial (edición 2025-12-19, 137 páginas). Documenta el modelo en tres niveles: el Project, equivalente a un fichero de proyecto, que agrupa los puertos MIDI de entrada y salida por defecto, el enrutador MIDI donde se definen las conexiones de paso para todo el proyecto y los presets; el Preset, que es una colección de traductores que se puede activar y desactivar y cuyos traductores se ignoran por completo cuando está inactivo, y que además puede activarse o desactivarse desde la acción de salida de otro traductor; y el Translator, descrito como la pieza que hace el trabajo, donde se definen la condición y la reacción. Cada traductor tiene cuatro elementos: opciones (nombre, activo o inactivo, y detener el procesamiento), el disparador de entrada —que admite mensajes MIDI, pulsaciones de teclado escritas o eventos internos como la activación de un preset o el vencimiento de un temporizador—, las reglas, definidas como sentencias simples de lógica y matemáticas para usos avanzados, y la acción de salida, que puede enviar un mensaje MIDI, emular la escritura de una tecla o cambiar el comportamiento interno activando presets o arrancando temporizadores. Explica además el orden de procesamiento: un evento entrante pasa por el primer traductor del primer preset, luego por el segundo, y así sucesivamente hasta recorrer todos los presets, salvo que un traductor con la marca de detener el procesamiento lo interrumpa. El manual incluye capítulos específicos de puertos MIDI virtuales y de monitor de eventos.
- dj_maps — mappings de Traktor (ddj_1000 con pantallas del jog)
Caso real y verificable del uso de un middleware. El repositorio recoge los mappings de Traktor, antes alojados en DJ TechTools, y entre los principales figura expresamente el de la DDJ-1000 con pantallas del jog. La carpeta de ese modelo incluye una versión Bome y una versión sin Bome, lo que documenta que la capa intermedia es lo que permite las pantallas.
- How to Use the Controller Manager in Traktor
Contraste útil para entender hasta dónde llega el mapping nativo: documenta que las asignaciones de salida solo se pueden crear a mano, que los dispositivos que usan protocolos propios o HID muestran nombres de control en lugar de números, y que las salidas sirven para que el controlador visualice el estado del software. Todo eso lo resuelve el software por sí mismo; lo que no puede resolver es un mensaje que no existe en su lista de funciones, y ahí entra un traductor externo.
Última revisión técnica: 29/09/2026. Si detectas un error, indícalo para corregirlo.