Audio · Web
Puente OSC ↔ VoiceMeeter: la consola de mezcla en el celular
Un puente en Python convierte cualquier celular o tablet en consola de mezcla para VoiceMeeter Potato y en panel de control del PC: audio por aplicación, monitores, ventanas y más.
- Año
- 2026
- Estado
- En uso diario
- Rol
- Diseño y desarrollo · proyecto personal
- Repositorio
- Repositorio en preparación
01 · Problema
Mezclar en VoiceMeeter Potato (5 entradas físicas, 3 virtuales y 8 buses) con el mouse es lento, y Windows no deja mandar cada aplicación a una entrada virtual distinta sin abrir menús. Quería controlarlo todo desde el teléfono, en tiempo real.
02 · Enfoque
Escribí un puente bidireccional OSC/UDP en Python entre Open Stage Control y VoiceMeeter. La interfaz (9 pestañas) no se edita a mano: la generan scripts de construcción, y algunas partes se arman a partir del hardware detectado. Hilos observadores devuelven el estado real a la pantalla.
03 · Resultado
Mezcla completa con vúmetros estéreo en vivo, volumen y ruteo por aplicación (migra incluso sesiones de audio ya abiertas en unos 2 s), dashboard con CPU, RAM y temperatura, control de los monitores por DDC/CI, ratón, teclado, ventanas y PotPlayer. Arranca solo desde la bandeja del sistema.
04 · Stack
- Python
- python-osc
- voicemeeterlib
- pycaw / COM
- Open Stage Control
- DDC/CI
- C# .NET 9 (diagnóstico)
Cómo está armado
Celular / tablet (Open Stage Control, navegador) │ OSC sobre UDP ▼osc_bridge.py ──► VoiceMeeter Potato (mezcla, buses, vúmetros) │ ──► Sesiones de audio de Windows (volumen y ruteo por app) │ ──► Monitores (DDC/CI), ratón y teclado (SendInput), ventanas ▲ hilos observadores que empujan el estado real de vuelta a la UIDecisiones que importaron
- La interfaz se compila, no se dibuja a mano. Nueve scripts
build_*.pygeneran la sesión de Open Stage Control en orden. Así un cambio de diseño es reproducible y no se pierde entre ediciones. - La UI de monitores sale del hardware. Al construir, el puente sondea qué soporta cada monitor (brillo, contraste, temperatura, entradas). Si un monitor soporta modos pero no los declara, los descubre escribiendo y releyendo, y guarda el resultado en caché.
- El audio manda. Enumerar las sesiones de audio más rápido de 1 Hz competía con el motor de audio y entrecortaba el sonido; el escaneo quedó en 1 Hz.
- Ruteo por aplicación real. Los botones MUS / PEL / VOZ de cada app la envían a la entrada virtual correspondiente de VoiceMeeter y reflejan el ruteo real al abrir la pestaña.
Pestañas
VoiceMeeter · Volumen por app · Dashboard · Monitores · Ratón · Teclado (QWERTY latinoamericano con etiquetas que reaccionan a Shift, Caps y AltGr) · Ventanas (tarjetas, lista o por programa, con miniaturas) · PotPlayer · Smartbox.