Skip to content

lotodee/audio-lab

Repository files navigation

audio-lab 🎚️

A browser-based Digital Audio Workstation (DAW) with a Python DSP backend and natural-language AI control of audio effects.

audio-lab brings multi-track music production into the browser: arrange clips on a timeline, edit and process audio in real time, shape sound with a rack of effects, and describe the sound you want in plain English to have the AI configure the effect chain for you.

What it does

  • Multi-track timeline — arrange, drag, trim, split, and duplicate audio clips across tracks, with waveform rendering and a transport (play / record / loop).
  • Real-time audio engine — built on the Web Audio API, with client-side time-stretching and a scheduler that keeps edits sample-accurate.
  • Effects rack — EQ, filter, reverb, delay, distortion, compressor, limiter, chorus and more, with live preview and a mixer with VU metering.
  • AI effect control — describe a sound ("warm, vintage chorus") and a language model returns a validated, structured effect configuration that's applied to the chain.
  • DSP backend — a Python service handles heavier processing (pitch, time-stretch, EQ, filtering, reverb, delay, distortion).
  • Mobile client — a companion touch-first build for on-the-go control.

Architecture

web/      Next.js + React front end — timeline, mixer, effects UI, Web Audio engine
api/      Python (FastAPI) DSP service — audio processing + AI effect-suggestion endpoints
mobile/   React Native (Expo) companion app

The AI layer turns a natural-language prompt into a typed, schema-validated effect chain using structured LLM output, so the model can only ever return parameters the audio engine understands.

Tech stack

Front end: TypeScript, Next.js, React, Tailwind CSS, Web Audio API, wavesurfer.js, Zustand Backend: Python, FastAPI, NumPy (DSP) AI: Google Gemini with structured output Mobile: React Native, Expo

Getting started

# Front end
cd web && npm install && npm run dev

# DSP backend
cd api && pip install fastapi uvicorn numpy && uvicorn main:app --reload

Set the API keys referenced in each package's .env.example before running the AI features.

Status

An actively developed prototype — the core DAW, effects rack, DSP backend, and AI effect control are functional. Contributions and feedback welcome.

About

A Digital Audio Workstation (DAW)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors