A professional Digital Audio Workstation built with C++20 and JUCE, featuring AI-powered creative assistance, GPU-accelerated rendering, and comprehensive safety systems.
Version: 0.1.0-alpha Platforms: Linux, macOS, Windows
- Project Status - Current capabilities and what's working
- Build Instructions - How to build from source
- Documentation Index - All documentation
- Known Issues - Bugs and limitations
| Feature | Status |
|---|---|
| Audio Engine | ✅ Complete |
| MIDI Engine | ✅ Complete |
| VST3 Hosting | ✅ Complete |
| Built-in Instruments | ✅ Complete |
| Skia GPU UI | ✅ Complete |
| AI Assistant | ✅ Complete |
| Collaboration | ✅ Complete |
| Stem Separation | ✅ Complete |
| Audio Export | ✅ Complete |
| Safety Systems | ✅ Complete |
For detailed status, see docs/STATUS.md
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install build-essential cmake ninja-build \
libasound2-dev libjack-jackd2-dev libcurl4-openssl-dev \
libfreetype6-dev libx11-dev libxinerama-dev libxext-dev \
libxrandr-dev libxcursor-dev libwebkit2gtk-4.0-dev \
libglu1-mesa-dev mesa-common-devmacOS:
xcode-select --install
brew install cmake ninjaWindows:
- Visual Studio 2022 with "Desktop development with C++" workload
- CMake 3.25+
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)./build/Zenith\ DAW├── apps/desktop/Source/ # Main application source
│ ├── engine/ # Audio engine, tracks, clips
│ ├── ui/ # User interface components
│ ├── ai/ # AI/ML features
│ ├── dsp/ # Signal processing
│ ├── instruments/ # Built-in synths and samplers
│ ├── network/ # Collaboration and API clients
│ └── tests/ # Unit and integration tests
├── cmake/ # CMake modules
├── docs/ # Documentation
├── backend/ # Python collaboration server
└── Content/ # Presets, samples, fonts
- Real-time audio processing with low latency
- Track-based project structure (audio, MIDI, instrument)
- VST3 plugin hosting for effects and instruments
- Real-time parameter automation
- Sample rate conversion and format handling
Zenith DAW includes 12 safety components to prevent crashes and data loss:
- Atomic File Writes - No corrupted project files
- File Locking - Prevent concurrent access conflicts
- Audio Validation - Reject malformed files before loading
- MIDI Safety - Message validation and timing protection
- Thread Safety - Lock-free queues and proper synchronization
See docs/SAFETY.md for details.
- Grok API client for natural language commands
- Genre detection using AI models
- Intelligent preset generation
- Real-time creative assistance
- Full ICE/STUN/TURN implementation
- Real-time project collaboration across Internet
- 100% connectivity regardless of NAT type
- Cursor tracking and edit broadcasting
- DTLS-encrypted P2P connections
- CRDT-based synchronization
- Full ICE/STUN/TURN implementation
- Real-time project collaboration across Internet
- 100% connectivity regardless of NAT type
- Cursor tracking and edit broadcasting
- DTLS-encrypted P2P connections
- CRDT-based synchronization
Note: Requires TURN server deployment (coturn or managed service).
- Status - What works and what doesn't
- Build Instructions - Platform-specific build guides
- Developer Guide - Development workflow
- Architecture Overview - System design
- Threading Model - Concurrency patterns
- Rendering Architecture - Skia rendering
- Safety Systems - Comprehensive safety documentation
- Collaboration - Real-time collaboration (LAN)
- Known Issues - Bug tracking
Full index: docs/DOCUMENTATION_INDEX.md
cmake -S . -B build -DBUILD_TESTS=ON
cmake --build build --target ZenithDAWTests
./build/ZenithDAWTests_artefacts/Release/ZenithDAWTests- 25 safety component tests (all passing)
- Audio engine tests
- Project state tests
- MIDI safety tests
- Memory leak detection (LeakSanitizer enabled by default)
The repository includes automated agents for:
- Testing Agent - Runs tests on every push/PR
- Fuzzing Agent - Robustness testing for DSP and MIDI
- Security Agent - Vulnerability scanning
- Linting Agent - Code quality checks
- TriageBot - Automatic issue/PR classification
See agents/ directory for details.
- C++20 standard
- 4-space indentation
camelCasefor functions/variablesPascalCasefor classes- Doxygen comments for public APIs
- Audio Thread: No allocations, no locks, no blocking
- Message Thread: All UI, ProjectState mutations
- Background Threads: File I/O, plugin scanning, API calls
- Collaboration: Full ICE/STUN/TURN (needs TURN server deployment)
- Stem Separation: ONNX Runtime not integrated
- Audio Export: Real-time only, no offline bounce
- VST3 Scanner: Crashes on some plugins
See docs/KNOWN_ISSUES.md for complete list.
See LICENSE for details.
Contributions welcome! Please:
- Check docs/STATUS.md for current priorities
- Read docs/DEVELOPER.md for workflow
- Follow code style guidelines
- Add tests for new features
- Update documentation
For the latest status, see docs/STATUS.md