Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

ProDAW

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

ProDAW - Professional Digital Audio Workstation

A modern, high-performance Digital Audio Workstation (DAW) developed primarily in Delphi (Object Pascal) with performance-critical audio processing components written in x86/x64 Assembly for ultra-low latency.

Vision

ProDAW combines the workflow of Logic Pro, FL Studio's pattern-based sequencing, and modern AI-assisted music production. It is suitable for beginners and professionals while maintaining maximum performance and stability on Windows.

Architecture

Delphi Modules

  • Audio Engine: Core audio processing with ASIO/WASAPI support
  • MIDI Engine: Complete MIDI system with event handling
  • Mixer: Professional mixing console with channel strips
  • Project Manager: Project file handling and settings
  • UI Framework: Modern VCL-based interface with docking panels

Assembly Modules

  • DSP Routines: Ultra-low latency audio processing
  • Filters: High-performance filter implementations
  • Dynamics: Compressor, limiter, gate processing
  • Analysis: Peak, RMS, LUFS metering

Features

Audio Engine

  • 64-bit floating-point processing
  • Multi-threaded audio engine
  • Low-latency ASIO support
  • WASAPI support
  • DirectSound support (planned)
  • Multi-core rendering
  • Real-time audio streaming
  • Unlimited tracks
  • Unlimited mixer channels

MIDI System

  • MIDI Input Monitoring
  • MIDI Recording
  • MIDI Learn
  • MIDI Mapping
  • MPE Support (planned)
  • MIDI Clock Sync (planned)
  • MIDI Automation
  • Quantization (planned)
  • Humanization (planned)

Mixer

  • Unlimited channels
  • Sends and Returns
  • Sidechaining (planned)
  • Gain staging
  • Peak/RMS Metering
  • Stereo correlation (planned)

Project Management

  • Autosave (planned)
  • Version History (planned)
  • Project Backup (planned)
  • Portable Projects
  • JSON-based project format

Project Structure

pascal
ProDAW/
????????? Source/
???   ????????? Audio/          # Audio engine and drivers
???   ????????? Assembly/       # Assembly-optimized DSP routines
???   ????????? UI/             # User interface components
???   ????????? MIDI/           # MIDI system
???   ????????? Mixer/          # Mixing console
???   ????????? Plugins/        # Plugin hosting (VST, VST3, CLAP)
???   ????????? Instruments/    # Built-in synthesizers
???   ????????? Effects/        # Built-in audio effects
???   ????????? AI/             # AI assistant integration
???   ????????? Project/        # Project management
???   ????????? Utils/          # Utility classes
????????? Resources/          # Icons, images, resources
????????? Docs/               # Documentation
????????? Tests/              # Unit tests

Building

Requirements

  • Delphi 11 or later (or compatible Delphi version)
  • Windows 10/11
  • ASIO4ALL or ASIO driver for low-latency audio

Build Steps

  1. Open ProDAW.dproj in Delphi IDE
  2. Select target platform (Win64 recommended)
  3. Build and run

Current Status

Completed

  • ✅ Project structure and build configuration
  • ✅ Core audio engine framework
  • ✅ Audio buffer management
  • ✅ ASIO driver interface (stub)
  • ✅ WASAPI driver interface (stub)
  • ✅ Assembly DSP routines (with Pascal fallbacks)
  • ✅ MIDI event system
  • ✅ MIDI engine framework
  • ✅ Piano roll editor
  • ✅ Pattern-based sequencing system
  • ✅ Mixer with channel strips
  • ✅ Project manager with JSON save/load
  • ✅ Logger utility
  • ✅ Main UI framework with transport controls
  • ✅ Basic synthesizer framework (oscillators, filters, envelopes, LFOs)
  • ✅ Built-in effects (EQ, Compressor, Reverb, Delay)
  • ✅ VST plugin hosting infrastructure (stub)
  • ✅ AI assistant integration framework
  • ✅ Analog Subtractive Synth (with unison detuning)
  • ✅ FM Synthesizer (with operators and algorithms)
  • ✅ Drum Machine (with synthesized drum sounds)
  • ✅ Additional effects (Chorus, Flanger, Phaser)
  • ✅ Audio Editor UI with waveform display
  • ✅ Sample Editor UI with editing tools
  • ✅ Automation lanes system (with curve types)
  • ✅ MIDI Clock sync (master/slave modes)
  • ✅ MPE (MIDI Polyphonic Expression) support

In Progress

  • 🔄 Assembly optimization of DSP routines
  • 🔄 Actual ASIO driver implementation
  • 🔄 Actual VST plugin loading

Planned

  • ⏳ CLAP plugin support
  • ⏳ AI mastering system
  • ⏳ Audio editor integration with main UI
  • ⏳ Sample editor integration with main UI
  • ⏳ Automation editor UI
  • ⏳ Advanced MIDI features (MPE sync, etc.)
  • ⏳ GPU-accelerated UI
  • ⏳ High-DPI support improvements
  • ⏳ Additional built-in instruments (Wavetable, Sampler, Bass)

Performance Goals

  • Startup under 3 seconds
  • Handle 1000+ tracks
  • Ultra-low latency (< 5ms with ASIO)
  • Efficient CPU usage
  • Real-time playback stability

Contributing

This is a foundational project. Contributions are welcome in the form of:

  • Assembly optimizations for DSP routines
  • Additional audio effects
  • Synthesizer implementations
  • UI improvements
  • Plugin hosting implementations

License

This project is provided as-is for educational and development purposes.

Acknowledgments

Inspired by:

  • Logic Pro (Apple)
  • FL Studio (Image-Line)
  • Ableton Live
  • REAPER

Contact

For questions or contributions, please refer to the project repository.