Saltar al contenido
Kira

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 UI

Decisiones que importaron

  • La interfaz se compila, no se dibuja a mano. Nueve scripts build_*.py generan 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.