DAW

Back to Work
DAW Project

Project Overview

This is a MIDI production focused DAW I built from scratch using HTML, CSS, and JavaScript. I eventually evolved it with a bunch of node functionality to get around some CORS bullshit, as always. I have thousands of hours working with DAWs for audio production, so making something like this is comes pretty natural to me.

The DAW is designed for my production style mimicing FL Studio for sample based production, but also touching on how I mainly produce music and that's with a Akai MPC2000 and Akai S950. So things are intentionally simple, and rely on your skill as a sampler to chop dope shit and swing it proper. Aside from waveform editing (which i'm not supporting in this project right now), this tool is everything I need to make dope beats.

DAW Project Screenshot

I didn't want to support VST, instead I wanted an VST-like ecosystem where I could translate VST functionality into a custom format for the DAW, which is just JS. I worked with LLMs to reverse engineer popular rack mount units like the 1176 classic limiters and the LA2A compressor for example. The hardware is not the same but the math practically is (most of it is known already), and the sound is similar but different resulting in a unique characteristic for the default plugins which is something I always look for in audio production chains.

I ran into some visual issues since i'm not using react or anything, so I built my own reactive state management system to handle the UI updates and data relationships which cleaned that up. I also added web workers to handle the batch processing of mixer effects so the main thread isn't shitting the bed during playback. The biggest bugs were in the seralization of loading and saving projects which took a long time to test and ensure everything was working properly.

I created the daw, sampled the music, chopped my stabs and loops, put it into the daw, made a few songs, and I kind of just put the project on hold. It felt like a pretty poetic conclusion to this project. My plans for the future are too rebuild a simpler browser based production focused DAW that has my native sp1200 resampling functionality cooked in when you load samples into the project. I have a backlog of MPC beats on floppydisks I need to get throughbefore I get to any of this software stuff anyway.

Key Features

  • Individual MPC drum-swing per track or group like an MPC (FL studio swing is applied globally).
  • FL studio sample based workflow with drum groups and timeline editing.
  • customizable VST-like ecosystem and multithreaded batch processing of mixer effects.
  • Lightweight and fast, no bloat or unnecessary features for MIDI production.
  • fully responsive for whatever cursed device you're using.

Technologies Used

Node.js, JavaScript, HTML, CSS

Project Links

This is a private project, thanks for reading.