Skip to content

Latest commit

 

History

1,205 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MAGDA

Linux Build macOS Build Windows Build License C++23 Crowdin

Multi-Agent Digital Audio


MAGDA is a free, open-source DAW with AI integrated from the ground up. Built on C++23, JUCE, and MAGDA’s native audio engine.

Features

  • Hybrid tracks: every track hosts both audio and MIDI clips
  • Three views: Arrangement, Session, and Mix
  • AI chat: natural language commands that generate and execute a custom DSL directly in the app (BYOAK, Bring Your Own API Keys)
  • Modulation system: 16 LFOs (with bezier curve editor) and 16 macro knobs per device and rack
  • Racks: parallel processing chains with volume, pan, mute, solo per chain, fully nestable
  • Piano roll with pitchbend and MIDI CC lanes
  • Drum grid device
  • Session view with clip launching
  • Mixer with faders, pan, mute, solo, sends, and I/O routing
  • Collapsible, resizable panels: Inspector + AI Chat (left), Plugin Browser + Sample Browser (right), context-sensitive editor (bottom)

Links

Status

See Issues for known bugs and planned features.

Building

Prerequisites

  • C++23 compiler and standard library: GCC 13+, Clang 16+ with libc++, AppleClang 16+, or MSVC 19.36+ (VS 2022 17.6). The floor is the library, not the language: std::views::zip, std::views::chunk_by, std::ranges::fold_left and std::ranges::contains are in use, and libstdc++ only gained them in GCC 13.1, so a GCC 12 build fails even though CMake will select C++23 for it. std::ranges::to is not used: libstdc++ only has it from GCC 14, so collecting goes through toStd<C>() / toJuce<C>() in magda/daw/core/RangesHelpers.hpp. (CI builds with GCC 13.3, AppleClang 16.0 and MSVC 19.50.)

  • CMake 3.24+

  • Git LFS — required to fetch bundled binary assets (CJK font, etc.). Install with brew install git-lfs (macOS), apt install git-lfs (Debian/Ubuntu), or choco install git-lfs (Windows), then run git lfs install once per machine.

  • Windows only: vcpkg supplies libxml2 (there is no system copy on Windows). Clone and bootstrap it once, then set a VCPKG_ROOT environment variable pointing at the checkout — the build auto-detects it and installs libxml2 from the vcpkg.json manifest on first configure. On macOS/Linux libxml2 comes from the system, so no vcpkg is needed.

    git clone https://github.com/microsoft/vcpkg C:\vcpkg
    C:\vcpkg\bootstrap-vcpkg.bat
    setx VCPKG_ROOT C:\vcpkg   # reopen the shell so it takes effect

Quick Start

# Clone, then make setup initialises the submodules
git clone https://github.com/Conceptual-Machines/magda-core.git
cd magda-core
git lfs pull  # safety net if git-lfs wasn't installed at clone time

# Setup and build
make setup
make debug

# Run
make run

Make Targets

make setup      # Initialize submodules and dependencies
make debug      # Debug build
make release    # Release build
make test       # Run tests
make clean      # Clean build artifacts
make format     # Format code
make lint       # Run clang-tidy analysis

To build without embedded local inference, and so without the third_party/llama.cpp submodule, pass CMAKE_EXTRA_ARGS="-DMAGDA_LOCAL_LLM=OFF" on the first configure. The Local (Embedded) provider then reports that the build has no local inference.

Automated Workflows

The project includes automated GitHub Actions workflows:

  • CI Workflow: Runs on every push to validate builds and code quality
  • Security Scanning: CodeQL analysis, secret detection, and vulnerability scanning
  • Periodic Code Analysis: Weekly scans for TODOs, FIXMEs, and code smells
  • Refactoring Scanner: Bi-weekly analysis of code complexity and technical debt

See docs/ci/automated-workflows.md for details on automated analysis and periodic workflows.

Security

MAGDA takes security seriously. The repository implements comprehensive security measures:

  • 🔒 Branch Protection: Main branch protected with required reviews and status checks
  • 🔍 Automated Scanning: CodeQL security analysis for C++ vulnerabilities
  • 🔐 Secret Detection: Automated scanning to prevent credential leaks
  • 🛡️ Dependency Monitoring: Dependabot for security updates
  • ⚡ CI/CD Security: All security checks must pass before merge

Found a security issue? Please review our Security Policy for responsible disclosure.

For detailed information about branch protection and security architecture, see docs/ci/branch-protection.md.

Architecture

magda/
├── daw/        # DAW application (C++/JUCE)
│   ├── audio/      # Audio processing
│   ├── core/       # Track, clip, selection management
│   ├── engine/     # Native engine host
│   ├── interfaces/ # Abstract interfaces
│   ├── profiling/  # Performance profiling
│   ├── project/    # Project management and serialization
│   ├── ui/         # User interface components
│   └── utils/      # Utility helpers
└── agents/     # Agent system (C++)
tests/          # Test suite
scripts/        # Development and build scripts
docs/           # Documentation

Dependencies

  • JUCE - C++ application framework (GUI, audio I/O, plugin hosting, MIDI, DSP)
  • juce-llm - LLM API client module
  • llama.cpp - Embedded local LLM inference
  • Catch2 - Testing (fetched via CMake)

Issues

Heads up: MAGDA is under very active development, which started in January 2026 with internal iteration before a public release. Expect bugs and missing pieces. The best way to help the project is to file an issue.

Found a bug or have a feature request? Please open an issue on GitHub.

License

GPL v3 - see LICENSE for details.

Releases

Sponsor this project

Packages

Used by

Contributors

Languages