Right being that I have no idea on how to do do this I’m thinking about using AI to code an idm daw…
I will post the source code that AI comes up with in this thread…
I guess c++ is the common code language I guess
Right being that I have no idea on how to do do this I’m thinking about using AI to code an idm daw…
I will post the source code that AI comes up with in this thread…
I guess c++ is the common code language I guess
If you want source code for a DAW (Digital Audio Workstation) written in C++, these are the best open-source starting points:
### Best C++ DAW Engines / Source Projects
1. **Tracktion Engine** — full DAW backend framework in C++
Built for sequencing, audio editing, MIDI, plugin hosting, automation, etc.
GitHub: [Tracktion Engine](GitHub - Tracktion/tracktion_engine: Tracktion Engine module · GitHub)
Official site: [Tracktion](Creative audio software DAW plugins | Tracktion)
2. **JUCE Framework** — industry-standard C++ audio framework
Used by many commercial DAWs and plugins.
GitHub: [JUCE GitHub](GitHub - juce-framework/JUCE: JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins. · GitHub)
Official site: [JUCE Official Website](Home - JUCE)
3. **MAGDA** — open-source modern DAW using JUCE + Tracktion Engine
Includes mixer, session view, AI integration, modulation system, etc. ([Hacker News][1])
GitHub: [MAGDA Source Code](GitHub - Conceptual-Machines/magda-core: A DAW built for automation, transformation, and fast musical iteration · GitHub)
4. **OpenDaw** — GPL DAW written with Qt + Tracktion Engine
Has piano roll, notation view, VST3 support, routing system. ([Reddit][2])
GitHub: [OpenDaw GitHub](GitHub - glenwrhodes/OpenDaw: OpenDaw — a free, open-source Digital Audio Workstation for Windows. Qt 6 UI, Tracktion Engine audio, MIDI piano roll, VST3 instruments, built-in effects, Claude AI assistant. · GitHub)
-–
## Recommended Stack for Building Your Own IDM DAW
For an IDM/electronic-music focused DAW:
| Component | Recommended |
| --------------- | ----------------------- |
| GUI | JUCE |
| Audio engine | Tracktion Engine |
| DSP | Custom C++ DSP / Faust |
| Plugin support | VST3 + AU |
| Sequencer | MIDI clip engine |
| Synths | JUCE DSP module |
| Time stretching | RubberBand / SoundTouch |
| Audio graph | Tracktion graph |
-–
## Minimal Architecture
Typical DAW structure:
```text
App
├── Audio Engine
│ ├── Mixer
│ ├── Tracks
│ ├── Clips
│ ├── DSP Effects
│ └── Plugin Host
│
├── Sequencer
│ ├── MIDI timeline
│ ├── Automation
│ └── Tempo map
│
├── UI
│ ├── Arrangement view
│ ├── Piano roll
│ ├── Mixer
│ └── Device rack
│
└── File System
├── Project save/load
└── Audio cache
```
-–
## Example: Simple JUCE Audio App
```cpp
class MainComponent : public juce::AudioAppComponent
{
public:
MainComponent()
{
setAudioChannels(0, 2);
}
void prepareToPlay(int samplesPerBlockExpected,
double sampleRate) override
{
}
void getNextAudioBlock(
const juce::AudioSourceChannelInfo& bufferToFill) override
{
bufferToFill.clearActiveBufferRegion();
}
void releaseResources() override {}
private:
};
```
-–
## Features Needed for an IDM-Focused DAW
IDM-style workflows usually need:
* Clip launching
* Probability sequencing
* Polymeters
* Euclidean rhythms
* Granular synthesis
* Modular routing
* Automation curves
* Glitch/stutter engine
* Step sequencers
* MIDI effects
* Live resampling
Tracktion Engine already gives you a large portion of this.
-–
## Learning Resources
* [JUCE Tutorials](Tutorials - JUCE)
* [Tracktion Engine Docs](tracktion_engine/docs at develop · Tracktion/tracktion_engine · GitHub)
* [The Audio Programmer YouTube Channel](https://www.youtube.com/@TheAudioProgrammer?utm_source=chatgpt.com)
-–
## Easiest Path
If your goal is:
* **Fastest development:** JUCE + Tracktion Engine
* **Maximum control:** pure C++ audio engine
* **Modern DAW reference:** MAGDA or OpenDaw
* **Plugin/synth focus:** HISE
Would you like:
* a **minimal DAW starter template in C++**
* a **step-by-step roadmap to build an IDM DAW**
* or a **full source example with mixer + piano roll + VST hosting**?
[1]: https://news.ycombinator.com/item?id=47417821&utm_source=chatgpt.com “Magda – Open-Source DAW with Integrated AI (C++/JUCE/Tracktion Engine) | Hacker News”
[2]: https://www.reddit.com/r/sounddesign/comments/1s3x5mu/i_built_a_free_opensource_daw_gpl
_qt_6_vst3_sheet/?utm_source=chatgpt.com “I built a free, open-source DAW - GPL, Qt 6, VST3, sheet music view, destructive audio editor (OpenDaw)”
Damn, I had no idea about traktion engine. I would add you should try and keep the DAW as portable as possible (code-wise) meaning to support the maximum number of OS/devices with increased abstraction. I think forget about 3rd party plugin hosting and develop a few basic tools to start. 'twould be a dream come true if I could actually record something on my phone, put a quick beat/processing on it, save it to the cloud and then open that up on my studio PC to finish at home. Plus that basically makes every phone a DAW in addition to a field recorder all in one app.
JUCE is quite nice as you get lots of stuff in a single library.
I would however split the application into two parts: The UI and the engine. Because C++ needs quite a lot code for writing nice UIs while its excellent for the audio engine itself.
I used .NET for the UI and C++ for the engine. But if I had done it again I would probably have used RUST for the UI. Fun to learn new languages.