DawDreamer: Bridging the Gap Between Digital Audio Workstations and Python Interfaces
This tool bridges the gap for sound engineers and coders by providing a Python interface for audio processing, though it is incremental as it builds on existing methods in this domain.
The paper introduces DawDreamer, a Python module that makes audio production techniques from digital audio workstations accessible for offline batch-processing, enabling applications in music information retrieval like source separation and transcription.
Audio production techniques which previously only existed in GUI-constrained digital audio workstations, livecoding environments, or C++ APIs are now accessible with our new Python module called DawDreamer. DawDreamer therefore bridges the gap between real sound engineers and coders imitating them with offline batch-processing. Like contemporary modules in this domain, DawDreamer can create directed acyclic graphs of audio processors such as VSTs which generate or manipulate audio streams. DawDreamer can also dynamically compile and execute code from Faust, a powerful signal processing language which can be deployed to many platforms and microcontrollers. We discuss DawDreamer's unique features in detail and potential applications across music information retrieval including source separation, transcription, and audio effect parameter inference. We provide fully cross-platform PyPI installers, a Linux Dockerfile, and an example Jupyter notebook.