Volver al Portafolio
Audio y MúsicaEmpresa Producto

AudioMovers ListenTo

3 months

Desafío

Crear un plugin de streaming de audio de calidad profesional que permita a productores musicales e ingenieros de audio transmitir audio de alta calidad desde su DAW a clientes en cualquier parte del mundo. Soporte requerido para hasta 128 canales de audio lossless con latencia mínima.

Solución

Desarrollamos un plugin multiplataforma (VST, AU, AAX) con streaming de bitrate adaptativo, soportando desde AAC comprimido hasta PCM lossless de 32 bits a 192kHz. Apps receptoras construidas para web, iOS y Android.

Resultado

Herramienta estándar de la industria usada por profesionales de audio y estudios globalmente.

C++JUCEWebRTCReactiOSAndroid

Contexto

AudioMovers necesitaba resolver un problema concreto en la producción de audio profesional: cómo permitir a productores musicales, ingenieros de mezcla y profesionales de mastering compartir audio de alta fidelidad con clientes y colaboradores en cualquier parte del mundo, directamente desde su estación de trabajo de audio digital (DAW). Las soluciones existentes o comprimían el audio hasta hacerlo inútil para la escucha crítica, o requerían configuraciones de red complejas que interrumpían el flujo creativo.

ListenTo debía funcionar como plugin nativo en cada DAW importante: Pro Tools, Logic Pro, Ableton Live, Cubase y otros. Necesitaba soportar hasta 128 canales de audio a tasas de muestreo de hasta 192kHz. El receptor debía ser accesible en cualquier dispositivo sin instalar software, por lo que los navegadores web eran el punto de escucha principal. Las apps nativas de iOS y Android proporcionarían flexibilidad adicional para el monitoreo móvil.

Enfoque técnico

El plugin fue desarrollado en C++ usando el framework JUCE, que proporcionaba compatibilidad multiplataforma en macOS y Windows con soporte para todos los formatos principales de plugin: VST3, Audio Unit (AU) y AAX. JUCE se encargaba del pipeline de procesamiento de audio de bajo nivel con un overhead de CPU mínimo.

WebRTC fue la capa de transporte en tiempo real, adaptada para manejar requisitos de audio profesional que van mucho más allá de la comunicación típica de voz o video. Implementamos negociación de codec personalizada que podía alternar entre AAC comprimido para monitoreo de bajo ancho de banda y PCM lossless de 32 bits para sesiones de escucha crítica. El sistema de bitrate adaptativo monitoreaba continuamente las condiciones de red y ajustaba la calidad sin artefactos audibles.

React impulsaba la aplicación receptora web. El receptor se conectaba al stream del plugin vía WebRTC, con fallback a transporte basado en WebSocket cuando las conexiones peer-to-peer no eran posibles.

Detalles de implementación

El desafío central fue lograr latencia ultra-baja manteniendo la integridad del audio. Diseñamos un jitter buffer personalizado que equilibraba latencia contra cortes, con ajustes configurables que permitían a los usuarios elegir entre retraso mínimo para colaboración en tiempo real y buffers más grandes para monitoreo estable en conexiones poco fiables. El sistema lograba consistentemente menos de 200ms de latencia extremo a extremo en conexiones de banda ancha estándar.

El soporte multicanal requirió gestión cuidadosa de memoria en el plugin C++. El streaming de 128 canales de audio de 32 bits a 192kHz genera un throughput de datos sustancial. Implementamos buffer pooling eficiente y enrutamiento de audio zero-copy dentro del plugin para mantener el uso de CPU por debajo del 5% incluso con el máximo de canales. Esto importa porque el plugin funciona junto a cadenas exigentes de procesamiento de audio.

El receptor web usaba la Web Audio API para timing preciso de reproducción y medición de niveles. Construimos un decodificador de audio personalizado que gestionaba el cambio transparente de codec cuando el emisor modificaba los ajustes de calidad durante la sesión. Un sistema de gestión de sesiones permitía a los emisores compartir enlaces de escucha únicos, con protección opcional por contraseña y límites de oyentes para material confidencial.

Para las apps de iOS y Android, utilizamos APIs de audio nativas de la plataforma (Core Audio y AAudio respectivamente) para evitar la mayor latencia de los frameworks multiplataforma. Las apps soportaban escucha en segundo plano, enrutamiento AirPlay y Bluetooth, y mostraban visualizaciones de forma de onda sincronizadas con el stream de audio entrante.

Resultados

ListenTo se convirtió en una herramienta de referencia en la industria, adoptada por productores ganadores de Grammy, grandes estudios de grabación e instalaciones de broadcast en todo el mundo. El plugin procesa millones de minutos de streaming cada mes. La capacidad de streaming lossless cubrió en particular un vacío que ningún producto competidor abordaba.