Skip to content

currentsuspect/Aestra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

486 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🧭 AESTRA

License Platform C++ Build Discord

A modern, professional digital audio workstation built from the ground up with intention. Featuring ultra-low latency audio, GPU-accelerated UI, and a pattern-based workflow.

Aestra Interface


🌍 What is Aestra?

Aestra is a next-generation digital audio workstation designed for musicians who demand professional quality without compromise. Built with modern C++17, Aestra delivers a clean, responsive experience with cutting-edge audio technology and a workflow that makes sense.

Aestra combines:

  • Ultra-low latency audio engine powered by a dual-tier ASIO/WASAPI system
  • Custom GPU-accelerated UI framework (AestraUI) for buttery-smooth 60 FPS performance
  • Modern pattern-based timeline with intuitive pattern and playlist sequencing
  • Professional-grade 64-bit audio processing with multi-threaded architecture
  • Source-available transparency β€” see exactly how your DAW works under the hood

Whether you're producing electronic music, scoring films, or recording live instruments, Aestra provides the tools and performance you need to create without limits.


πŸ“Œ Current Verified Snapshot (March 2026)

Aestra is still in active engineering mode, but several important paths are now proven rather than aspirational.

Verified today

  • Internal built-in plugins participate in normal discovery and lookup.
  • Aestra Rumble can be instantiated through the plugin manager and factory paths.
  • Internal plugin state can be saved, restored, and survive project round-trips.
  • Arsenal units can now hold real plugin instances instead of placeholder-only entries.
  • Headless Arsenal playback can route MIDI to Rumble and produce audible output.
  • Project round-trip coverage is passing for both playlist/project persistence and internal plugin unit persistence.

Current self-contained confidence suite

  • RumbleStateTest
  • RumblePluginFactoryTest
  • RumbleUsagePathTest
  • RumbleDiscoveryTest
  • ArsenalInstrumentAttachmentTest
  • InternalPluginProjectRoundTripTest
  • RumbleRenderTest
  • RumbleArsenalAudibleTest
  • ProjectRoundTripTest

This matters because Aestra is no longer just β€œplugin scaffolding exists” β€” the internal instrument path now reaches discovery, project persistence, and audible playback.

βš™οΈ Core Features

🎡 Audio Engine

  • ASIO Driver Support β€” Windows ASIO playback is implemented end-to-end with native COM integration and validated on ASIO4ALL; broader driver compatibility hardening is ongoing
  • WASAPI Integration β€” Seamless fallback for consumer audio hardware
  • Multi-threaded Processing β€” 64-bit audio pipeline for maximum performance
  • Sample-accurate Timing β€” Professional-grade playback precision
  • Low-latency Design β€” Optimized for real-time audio with <10ms latency
  • RtAudio Backend β€” Cross-platform audio abstraction layer

🎨 User Interface

  • AestraUI Framework β€” Custom OpenGL 3.3+ renderer with MSAA anti-aliasing
  • Adaptive FPS System β€” Intelligent rendering optimization (24-60 FPS)
  • Advanced Timeline β€” Familiar workflow with adaptive grid and waveform visualization
  • Theme System β€” Dark/light modes with customizable color schemes
  • SVG Icon System β€” Crisp, scalable vector icons with dynamic color tinting
  • Smooth Animations β€” Hardware-accelerated transitions and effects

πŸ› οΈ Development

  • Modern C++17 β€” Clean, maintainable codebase
  • CMake Build System β€” Cross-platform build configuration
  • Modular Architecture β€” Clear separation: Core, Platform, Audio, UI
  • Git Hooks β€” Pre-commit validation for code quality
  • CI/CD Pipeline β€” Automated testing and validation
  • clang-format β€” Consistent code style across the project

🎧 Supported Platforms & Requirements

Windows 10/11 (Primary Platform)

Minimum Requirements:

  • OS: Windows 10 64-bit (build 1809+) or Windows 11
  • CPU: Intel Core i5 (4th gen) or AMD Ryzen 3
  • RAM: 8 GB
  • GPU: DirectX 11 compatible with 1 GB VRAM
  • Audio: WASAPI-compatible audio interface

Recommended:

  • CPU: Intel Core i7/i9 or AMD Ryzen 7/9
  • RAM: 16 GB or more
  • GPU: Dedicated graphics card with 2+ GB VRAM
  • Audio: Low-latency audio interface (ASIO recommended for best performance)
  • Storage: SSD for project files and sample libraries

Future Platform Support

  • Linux β€” X11/Wayland support planned
  • macOS β€” Cocoa integration planned

🧭 Philosophy & Vision β€” Aestra's "True North"

At Aestra Studios, we believe software should feel like art β€” light, native, and human.

Our Core Values:

  • πŸ†“ Transparency First β€” Source-available code you can trust and learn from
  • 🎯 Intention Over Features β€” Every feature serves a purpose, no bloat
  • ⚑ Performance Matters β€” Professional-grade audio with ultra-low latency
  • 🎨 Beauty in Simplicity β€” Clean UI that gets out of your way
  • 🀝 Community-Driven β€” Built by musicians, for musicians

Why Aestra is Different:

  • Source code is publicly visible for educational transparency
  • Modern architecture designed for the future, not legacy constraints
  • GPU-accelerated UI that rivals native applications
  • Professional audio quality without the learning curve of complex DAWs

We're building the DAW we wish existed β€” powerful yet approachable, professional yet personal.


πŸ› οΈ How to Build

Quick Start (Windows)

  1. Install Prerequisites:

    • CMake 3.15+
    • Git
    • Visual Studio 2022 with C++ workload
    • PowerShell 7
  2. Clone and Build:

    git clone https://github.com/currentsuspect/Aestra.git
    cd Aestra
    
    # Install Git hooks for code quality
    pwsh -File scripts/install-hooks.ps1
    
    # Configure build
    cmake -S . -B build -DAestra_CORE_MODE=ON -DCMAKE_BUILD_TYPE=Release
    
    # Build project
    cmake --build build --config Release --parallel
  3. Run Aestra:

    cd build/bin/Release
    ./Aestra.exe

Detailed Build Instructions

For comprehensive build instructions including troubleshooting, see Building Guide β†’


πŸ“š Documentation

πŸ“˜ Visit the Complete Documentation Site β†’

Explore our beautiful, searchable documentation built with MkDocs Material:

Quick Links

πŸ“š API Documentation Generation

Generate comprehensive API documentation locally using Doxygen:

Quick Start:

# Windows
.\scripts\generate-api-docs.bat

# Or with PowerShell
.\scripts\generate-api-docs.ps1 generate -Open

# macOS/Linux
doxygen Doxyfile

Features:

  • πŸ“– Complete API reference for all modules
  • πŸ”— Cross-referenced code with call graphs
  • πŸ“Š Class diagrams and inheritance trees
  • πŸ” Full-text search functionality
  • πŸ’» Source code browser

See API Documentation Guide β†’ for detailed instructions.


🀝 How to Contribute

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help makes Aestra better.

Quick Contribution Guide

  1. Fork and Clone β€” Fork this repo and clone it locally
  2. Create a Branch β€” Work on a feature or fix in a separate branch
  3. Follow Code Style β€” Use clang-format and follow our Coding Style Guide
  4. Test Your Changes β€” Ensure builds pass and functionality works
  5. Submit a PR β€” Open a pull request with a clear description

Contributor License Agreement

By contributing to Aestra, you agree that:

  • All contributed code becomes property of Dylan Makori / Aestra Studios
  • You grant Aestra Studios full rights to use, modify, and distribute your contributions
  • You waive ownership claims to your contributions
  • Contributions are made under the ASSAL v1.0 license terms

For detailed contribution guidelines, see Contributing Guide β†’

Ways to Contribute

  • πŸ› Report Bugs β€” Help us identify and fix issues
  • πŸ’‘ Suggest Features β€” Share ideas in GitHub Discussions
  • πŸ“ Improve Documentation β€” Help others understand Aestra
  • πŸ”§ Submit Code β€” Fix bugs or implement features
  • πŸ§ͺ Test & Review β€” Test builds and review pull requests

🧾 License β€” ASSAL v1.1

Aestra is licensed under the Aestra Studios Source-Available License (ASSAL) v1.1.

License Summary

You MAY:

  • βœ… View and study the source code for educational purposes
  • βœ… Report bugs and security vulnerabilities
  • βœ… Suggest features and improvements
  • βœ… Submit pull requests (contributors grant all rights to Aestra Studios)

You MAY NOT:

  • ❌ Use the software or code without written consent
  • ❌ Create derivative works or competing products
  • ❌ Redistribute or sublicense the code
  • ❌ Remove or alter proprietary notices

SPDX Identifier


SPDX-License-Identifier: ASSAL-1.1

All source files include the following header:

// Β© 2026 Aestra Studios – All Rights Reserved. Licensed for personal & educational use only.

Full License Text

Important: The source code is publicly visible for transparency, but is NOT open-source. All rights reserved by Dylan Makori / Aestra Studios.


🧠 About Aestra Studios

Aestra Studios was founded by Dylan Makori in Kenya with a simple mission: make professional music tools accessible to everyone, without compromise.

Our Story

Frustrated with bloated DAWs that prioritized features over performance, Dylan set out to build a modern audio workstation from scratch. Aestra is the result of that vision β€” a DAW that respects your time, your creativity, and your hardware.

Every line of code in Aestra is written with intention. No shortcuts, no legacy cruft, just clean, modern C++ designed for the future of music production.

Brand Values

  • 🌍 Global Accessibility β€” Built in Kenya, for the world
  • πŸŽ“ Education First β€” Source-available code for learning
  • ⚑ Performance Obsessed β€” Every millisecond matters
  • 🎨 Design Matters β€” Beautiful software inspires beautiful music
  • 🀝 Community Powered β€” Built with feedback from real musicians

Contact & Support

Dylan Makori β€” Founder & Lead Developer
πŸ“§ Email: [email protected]
πŸ™ GitHub: @currentsuspect
🌐 Website: Coming Soon

Support Channels:

  • πŸ› Report Issues β€” Bug reports and feature requests
  • πŸ’¬ GitHub Discussions β€” Community forum
  • πŸ“§ Direct Email β€” For partnerships and licensing inquiries

πŸ™ Acknowledgments

Aestra wouldn't be possible without these incredible open-source projects:

  • RtAudio β€” Cross-platform audio I/O
  • nanovg β€” Hardware-accelerated vector graphics
  • stb_image β€” Image loading utilities
  • Aestra Profiler β€” Performance profiling
  • CMake β€” Build system

Thank you to all contributors and the open-source community for making Aestra possible.


πŸ—ΊοΈ Roadmap β€” v1 Beta (December 2026)

Target: Ship a credible, stable v1 Beta focused on pattern-based Hip-Hop production.

βœ… Completed (Jan 2026)

  • Core audio engine (WASAPI/ASIO dual-tier)
  • AestraUI framework with OpenGL rendering
  • Pattern-based timeline/playlist
  • Drag-and-drop, clip editing, trimming
  • Mixing (volume, pan, mute, solo)
  • Project save/load
  • VST3/CLAP plugin scanner

🎯 Phase 1 β€” Foundation Lock (COMPLETE) (Jan–Mar 2026)

βœ… App structure refactor (reduce Main.cpp complexity) βœ… Project loop reliability (open β†’ edit β†’ save β†’ reopen) βœ… Data model API freeze

🎯 Phase 2 β€” Project + Undo/Redo (Apr–Jun 2026)

βœ… Project format v1 spec with versioning βœ… Autosave + crash-safe recovery path βœ… Project round-trip smoke coverage βœ… Internal plugin project round-trip coverage ⚠️ Undo/redo exists, but still needs broader main-UX integration hardening

🎯 Phase 3 β€” Recording + Export (Jul–Sep 2026)

  • Recording workflow reliability
  • Offline render/export
  • Device stress testing

🎯 Phase 4 β€” Plugin Decision Gate (Sep 2026)

  • Option A: Ship with internal Arsenal only
  • Option B: Minimal VST3/CLAP MVP (if stable)

Current signal favors Option A as the safer Beta baseline: internal Arsenal work is now materially ahead, with discovery, persistence, and audible playback already validated for Rumble.

🎯 Phase 5–6 β€” Hardening + Release (Oct–Dec 2026)

  • Bug triage, performance budgets
  • Signed Windows installer
  • v1 Beta ship

See docs/technical/roadmap.md for the full execution plan. See docs/technical/testing_ci.md for the current confidence suite and test workflow. See docs/technical/RUMBLE_MVP_PLAN.md for the internal instrument slice that drove much of the recent progress.


πŸ“œ Repository Structure

Aestra/ β”œβ”€β”€ docs/ # Comprehensive documentation portal β”œβ”€β”€ AestraCore/ # Core utilities (math, threading, file I/O, logging) β”œβ”€β”€ AestraPlat/ # Platform abstraction (Win32, X11, Cocoa) β”œβ”€β”€ AestraUI/ # Custom OpenGL UI framework β”œβ”€β”€ AestraAudio/ # Audio engine (WASAPI, RtAudio, mixing) β”œβ”€β”€ Source/ # Main DAW application β”œβ”€β”€ AestraAssets/ # Icons, fonts, themes β”œβ”€β”€ scripts/ # Build and utility scripts β”œβ”€β”€ meta/ # Project metadata, changelogs, summaries β”‚ β”œβ”€β”€ CHANGELOGS/ # Historical changelogs β”‚ └── BUG_REPORTS/ # Bug fix documentation β”œβ”€β”€ cmake/ # CMake modules └── LICENSE # ASSAL v1.1 license

  • Gitleaks Scanning β€” Automated secret detection on all commits
  • Pre-commit Hooks β€” Prevents accidental secret commits
  • Security Audits β€” Regular code reviews for vulnerabilities
  • Responsible Disclosure β€” Report security issues privately via email

For security concerns, contact: [email protected]

See SECURITY.md for our full security policy.


πŸ’¬ Community

Join the conversation:


πŸ“œ License

Aestra is distributed under the Aestra Studios Software Agreement License (ASSAL) v1.1. See LICENSE for full terms.

Key Terms:

  • Non-commercial use only (for now)
  • No redistribution without permission
  • No reverse engineering of proprietary components

For commercial licensing inquiries, contact: [email protected]


🎡 Support Aestra

If you enjoy using Aestra, consider supporting its development:


Built by musicians, for musicians. Crafted with intention. 🎡

⭐ Star this repo if you believe in transparent, professional audio software!

Copyright Β© 2026 Dylan Makori / Aestra Studios. All rights reserved.
Licensed under ASSAL v1.1

About

Create like silence is watching.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors