Problema
Practicar un instrumento sobre una canción completa limita el control sobre el acompañamiento. Poder silenciar una pista, ajustar la mezcla y repetir un fragmento ayuda a trabajar cada sección a un ritmo propio.
Solución
Desarrollé un reproductor multipista con un motor propio basado en Web Audio API. Las pistas se reproducen sincronizadas y tienen controles independientes de volumen y silencio. WaveSurfer.js muestra las formas de onda y permite navegar por el audio.
Las herramientas de práctica incluyen loops, marcadores, detección de BPM por pulsaciones, metrónomo y una cuenta de entrada. Las anotaciones y preferencias de cada canción se conservan en el navegador.
Procesamiento de audio
El estudio recibe un archivo MP3 y lo separa con Demucs en voz e instrumental, o en cuatro pistas: batería, bajo, otros instrumentos y voz. El procesamiento se ejecuta con Python en desarrollo y con un worker GPU en Modal en producción.
Los archivos se suben a Cloudflare R2 mediante URLs firmadas. Convex guarda los metadatos de las canciones y el estado de los trabajos, que la interfaz consulta en tiempo real. En producción, el procesamiento puede continuar aunque se cierre la pestaña.
Resultado
La aplicación conecta la preparación del audio con la práctica musical: una biblioteca por artista, un reproductor con mezcla y repetición de fragmentos, y un estudio para incorporar nuevas canciones. También incluye soporte PWA para instalarla en el celular.


