Tech-Stack

Toolchain

Monorepo

The repository is a multi-package workspace managed with npm workspaces, Turbo, and Lerna:

Apps

Audio Engine

The audio engine is written in Rust and compiled to WebAssembly. It runs inside an AudioWorklet for real-time playback and inside a Web Worker for offline rendering (exports, freeze). Samples are written straight into the engine's memory, so audio data is never copied between JavaScript and the engine.

The earlier TypeScript engine (studio-core-processors) is still shipped as a fallback.

Libraries

openDAW uses minimal external dependencies, avoiding hidden behaviors from bulky UI frameworks.

Each in-house library has a clear, focused purpose.

In-House Runtime

Dependency Table

Library Dependencies
lib-std none
lib-dsp std
lib-runtime std
lib-dom std, runtime
lib-jsx std, dom
lib-box std, runtime
lib-box-forge std, dom, runtime, box
lib-fusion std, dom, runtime, box
lib-midi std, dsp
lib-xml std
lib-dawproject dsp, runtime, xml
lib-inference std, runtime, fusion
studio-enums std
studio-boxes std, box, enums
studio-forge-boxes std, runtime, box, dsp, enums
studio-adapters std, runtime, box, dsp, fusion, boxes, enums
studio-core std, runtime, box, dom, dsp, fusion, dawproject, adapters, boxes, enums
studio-core-processors std, runtime, box, dsp, adapters, boxes, enums
studio-core-workers std, runtime, box, dsp, adapters, boxes, enums
studio-scripting std, runtime, box, dsp, adapters, boxes, enums
studio-core-wasm std, runtime, box, dsp, fusion, adapters, boxes, core
studio-p2p std, runtime, dsp, adapters
studio-icons std, dom, jsx, enums
studio-markdown std, dom, jsx, runtime, enums, icons
studio-scrollbars std, dom, jsx, runtime

External