DawDreamer is an audio-processing Python framework supporting core DAW features and beyond:
- Composing graphs of multi-channel audio processors
- Audio playback
- VST instruments and effects (with UI editing and state loading/saving)
- FAUST effects and polyphonic instruments
- Time-stretching and looping, optionally according to Ableton Live warp markers
- Pitch-warping
- Parameter automation at audio-rate and at pulses-per-quarter-note
- Parameter automation saving in absolute audio-rate time
- MIDI playback in absolute time and PPQN time
- MIDI file export in absolute time
- Rendering and saving multiple processors simultaneously
- Support for the Faust Box and Signal APIs
- Transpiling Faust code to JAX/Flax and other target languages (C++, Rust, Wasm, etc.)
- Machine learning experiments with QDax
- Multiprocessing support
- Full support on macOS, Windows, Linux, Google Colab, and Ubuntu Dockerfile
DawDreamer’s foundation is JUCE, with a user-friendly Python interface thanks to pybind11. DawDreamer evolved from an earlier VSTi audio “renderer”, RenderMan.
github.com/DBraun/DawDreamer
