← Volver

KaelDaw

DAW modular para navegador con motor de audio en Rust→WASM, Web Components Canvas 2D y React.

KaelDaw cover

Stack

ReactReact
TypeScriptTypeScript
Tailwind CSSTailwind CSS
RustRust
WebAssemblyWebAssembly
Web Audio APIWeb Audio API
ZustandZustand
TurborepoTurborepo

Qué hace

KaelDAW es una estación de trabajo de audio digital (DAW) que corre completamente en el navegador. Sin instalación, sin plugins externos, sin depender de un SO específico. Abres una pestaña y tienes un timeline, un piano roll, un mixer y un sintetizador polifónico listos para producir.

El motor de audio usa Web Audio API + AudioWorklet para el procesamiento en tiempo real, y el DSP (osciladores, filtros, efectos) está escrito en Rust y compilado a WebAssembly. Esto da latencia baja y calidad de sonido profesional sin salir del navegador. La UI usa Web Components vanilla con Canvas 2D para controles críticos como el piano roll, el timeline y los faders del mixer, envueltos en una shell React con Zustand para el estado.

El proyecto se guarda en un formato .kaeldaw versionado (ZIP con JSON schema), con soporte de undo/redo por snapshot y exportación WAV 16/24/32-bit. Está pensado para productores que quieren una herramienta rápida, portable y extensible, sin el peso de un DAW tradicional de escritorio.

Funcionalidades

  • Piano roll MIDI — grid de notas arrastrables con snap, pitch, velocity y teclado lateral en Canvas 2D
  • Timeline multicanal — clips arrastrables y redimensionables con snap a beat y zoom
  • Mixer completo — faders, pan, mute, solo y medición RMS por canal, con envíos a delay y reverb
  • Sintetizador polifónico — 8 voces con osciladores WASM (sine/saw/square), ADSR, filtro biquad y voice stealing
  • Efectos DSP en WASM — delay, reverb Schroeder y filtro ladder Moog, ejecutándose dentro del AudioWorklet
  • Transport con scheduler MIDI — play/stop/pause, BPM, time signature, metrónomo y reproducción de clips
  • Ventanas flotantes — drag, resize, maximize y panel lateral reorganizable
  • Formato .kaeldaw — guardado/carga completo con schema versionado (ZIP + JSON), undo/redo por snapshot
  • Exportación WAV — render offline 16/24/32-bit del proyecto completo

Galería