Volver al Blog
music||5 min de lectura

Construí un DAW y una Herramienta DJ en el Navegador Porque Mi Profesor de Inglés Me Lo Pidió

AR
Aral Roca

Creador de Kitmul

Un instrumento musical en una habitación con poca luz, listo para ser tocado
Un instrumento musical en una habitación con poca luz, listo para ser tocado

Mi profesor de inglés es músico. El otro día me estaba enseñando algunas de sus composiciones y me dijo algo como "ojalá pudiera hacer un beat rápido sin abrir un programa enorme". No quería Ableton. No quería instalar nada. Quería abrir una pestaña y empezar a hacer música.

Eso se me quedó grabado.

Mi madre estudió en la Escola de Música de Barcelona en su día. Mi vecino produce música electrónica en su habitación. La música me rodea por todas partes, y no paraba de escuchar la misma frustración: las herramientas de producción son caras, complejas, o te obligan a subir audio a algún servicio en la nube que puede o no respetar tu privacidad.

Así que construí dos herramientas. Ambas funcionan completamente en tu navegador. Sin cuentas, sin subidas, sin suscripciones.

El Creador de Música con Loops: un DAW en el navegador

La primera herramienta es un DAW basado en loops que funciona sobre la Web Audio API. Incluye:

  • 7 tipos de pista: batería, sintetizador, bajo, melodía, acordes, percusión y muestreador
  • 14 presets de sintetizador: desde piano FM hasta cuerdas pulsadas Karplus-Strong y chiptune 8-bit
  • Secuenciador de pasos para patrones de batería y piano roll para pistas melódicas
  • Efectos por pista: EQ de 3 bandas, compresor, envíos de reverb/delay
  • Cadena de efectos master: reverb, delay, compresor, EQ master
  • Arreglo multi-escena: organiza versos, estribillos, puentes
  • Tap tempo y swing por pista para groove
  • Exportación WAV y guardar/cargar proyecto (formato .loop.json)

Todo se sintetiza en tiempo real. No se cargan samples de ningún servidor. Los sonidos de batería se generan usando síntesis de ruido y modulación de osciladores, los sintetizadores usan métodos FM, aditivos y sustractivos según el preset.

La arquitectura

El motor de audio está desacoplado del estado de React. Un useRef mantiene la instancia del motor mientras un useReducer gestiona el estado del DAW. Esto evita el problema clásico de que los re-renders de React causen glitches de audio. El motor programa notas con anticipación usando AudioContext.currentTime con un buffer de lookahead; una técnica bien documentada en "A Tale of Two Clocks" de Chris Wilson.

Cada pista tiene su propio nodo de ganancia, panorama y cadena de efectos conectados a un bus master. El bus master tiene reverb (algorítmica sin convolución), delay con feedback, compresor de dinámica y EQ de 3 bandas.

El serializador de proyectos maneja la codificación/decodificación de AudioBuffer a base64 para la pista de muestreador; así puedes guardar y compartir proyectos completos incluyendo audio importado.

Un estudio de producción musical con iluminación cálida y equipo de mezcla
Un estudio de producción musical con iluminación cálida y equipo de mezcla

YouTube Loop Mix: una mesa de DJ en tu navegador

La segunda herramienta es YouTube Loop Mix & DJ Tool; doble deck con crossfader, como una mesa de DJ real.

Mi vecino me preguntaba constantemente "¿puedo simplemente hacer loop de una sección de un vídeo de YouTube y mezclarlo con otra pista?" Encontraba un break de batería increíble en YouTube, quería hacer loop de 4 compases y mezclarlo con un pad de sintetizador de un archivo local. Todas las herramientas existentes o requerían descargar el vídeo primero o no soportaban mezclar dos fuentes.

YouTube Loop Mix te da:

  • Doble deck para cargar vídeos de YouTube o archivos de audio locales
  • Marcadores de loop A-B para hacer loop de cualquier sección con precisión
  • Crossfader para transiciones suaves entre decks
  • EQ de 3 bandas (graves/medios/agudos) por deck para mezcla en vivo
  • Puntos cue para marcar y saltar a momentos específicos
  • Detección de BPM para ayudarte a sincronizar pistas
  • Exportación WAV de tu mezcla final

Es el tipo de herramienta que convierte una sesión de YouTube en una sesión creativa. Encuentra un breakbeat, haz loop, quita los agudos con el EQ, haz crossfade a una melodía de tu librería local; todo sin salir del navegador.

Partituras y notación de teoría musical sobre una superficie de madera
Partituras y notación de teoría musical sobre una superficie de madera

¿Por qué en el navegador?

Tres razones.

1. Cero fricción. Mi profesor abrió el enlace en el portátil de su escuela y estaba haciendo beats en 30 segundos. Sin el muro de "descarga nuestro instalador de 2GB". Sin el intersticial de "regístrate con Google".

2. Privacidad. El audio nunca sale de tu máquina. Compáralo con DAWs online como BandLab o Soundtrap que suben tus grabaciones a sus servidores. Para alguien que está bocetando ideas que quizás no quiere hacer públicas, esto importa.

3. Portabilidad. El formato de proyecto .loop.json es JSON legible por humanos. Puedes versionarlo con git, hacer diff, compartirlo por Discord, o incluso generarlo programáticamente. Ya he escrito un script que crea proyectos a partir de datos MIDI.

La Web Audio API está infravalorada

La mayoría de desarrolladores no se dan cuenta de lo potente que se ha vuelto la Web Audio API. Tienes:

  • Precisión de programación sub-milisegundo
  • DSP acelerado por hardware (compresores, filtros, convolución)
  • Osciladores con todas las formas de onda estándar
  • AnalyserNode para visualización FFT en tiempo real
  • Renderizado offline para exportación (sin restricción de tiempo real)

La principal limitación es la latencia en la primera interacción (los navegadores requieren un gesto del usuario para iniciar AudioContext), pero una vez en marcha, es sorprendentemente sólido para trabajo de producción. El audio worklet de Chrome incluso te permite escribir DSP personalizado en JavaScript corriendo en un hilo dedicado.

Pruébalas

Ambas herramientas son gratuitas, abiertas a cualquiera, y procesan todo localmente. Si haces algo interesante con el Creador de Loops, puedes exportar el .loop.json y compartirlo; el formato está diseñado para ser portable.

Comparte este artículo

Boletín

Recibe Consejos de Productividad y Nuevas Herramientas Primero

Únete a creadores y desarrolladores que valoran la privacidad. En cada edición: nuevas herramientas, trucos de productividad y novedades — sin spam.

Acceso prioritario a nuevas herramientas
Cancela en cualquier momento, sin preguntas