Conversation
added 9 commits
February 13, 2026 14:16
…ies, batch queue acceleration, external renderer integrations, and significant test expansion to AutoMixMaster. ### Core Audio Processing Enhancements **New DSP Modules**: - Lookahead Limiter: True-peak detection with configurable sample-accurate attack/release and soft clipping integration for transparent loudness control - De-Esser: Frequency-selective sibilance reduction (2-8 kHz) with soft knee dynamics - Dynamic De-Harsh EQ: Adaptive mid-range harshness reduction (2-8 kHz) triggered by perceived loudness - Mid-Side Processor: Stereo field manipulation with width and frequency-dependent processing - Soft Clipper: Pre-limiter saturation with variable drive control - True Peak Detector: ITU-R BS.1770-4 true peak metering with configurable oversampling **Analysis & Feature Extraction**: - New FeatureSchemaV1: Standardized feature extraction from AnalysisResult for ML model ingestion - ArtifactProfile: Risk assessment framework for automatic detection of mix/master artifacts - Enhanced stem analysis with multi-band spectral decomposition ### Renderer & Limiter Infrastructure - ExternalLimiterRenderer: JSON-RPC contract support for third-party limiter binary integrations - RendererRegistry: Auto-discovery and validation of external renderer plugins via descriptor files - Extended limiter pack discovery with configurable asset paths and platform-specific binary loading - PhaseLimiterRenderer enhancements with improved error handling and fallback behavior ### Batch Processing & Performance - BatchQueueRunner: Multi-threaded batch job execution with progress callbacks and cancellation support - BatchTypes: New domain model for batch items, results, and error tracking - Parallel stem analysis with configurable worker thread pool - Parallel rendering with hardware_concurrency auto-tuning - Residual blend support in batch pipeline ### AI Model Infrastructure - ModelManager enhancements: Support for both ONNX Runtime and RTNeural backends - feature_schema_version gating: Inbound compatibility checks for model packs - Model warm-up optimization during pack load to eliminate first-inference latency - MasteringCompliance: Post-processing mastering output validation and correction ### Audio Preview & Loudness Metering - AudioPreviewEngine: Real-time A/B preview of original vs. processed audio with transport controls - LoudnessMeter: EBU R128 / ITU-R BS.1770 standards-compliant loudness measurement - Per-stem solo/mute capability during preview - Integration with residual blend for realistic preview rendering ### Build System & Distribution - DISTRIBUTION_MODE CMake option: `OSS` (GPL v3) and `PROPRIETARY` (commercial JUCE) modes - ENABLE_LIBEBUR128: Standards-compliant loudness metering (on by default) - ENABLE_EXTERNAL_TOOL_SUPPORT: User-supplied renderer integrations (on by default) - ENABLE_GPL_BUNDLED_LIMITERS: Optional bundled GPL limiter packs (OSS mode) - ENABLE_SANITIZERS & ENABLE_CLANG_TIDY: Developer tool support - Extended CMake platform detection and automatic framework linking ### Documentation - Moved comprehensive development roadmap to docs/roadmap.md for better organization - README now includes references to parallel processing, batch hardware acceleration, and external limiter integrations - Added limiter pack discovery and asset management documentation ### Test Coverage New comprehensive test suites: - AudioIoTests: Audio file I/O and format handling - AnalysisTests: Stem analysis, artifact detection, and feature extraction - AudioPreviewEngineTests: Preview engine functionality and transport control - LoudnessMeterTests: EBU R128 metering accuracy - LookaheadLimiterTests: Limiter behavior, attack/release curves, true peak detection - BatchProcessingTests: Batch queue execution, parallel rendering, error handling - OfflineRenderPipelineTests: End-to-end render pipeline validation - OnnxModelInferenceTests: ONNX model loading and inference - MasteringModulesTests: Mastering chain integration - ExternalLimiterRendererTests: External limiter JSON contract validation - RendererRegistryTests: Auto-discovery and plugin validation - Enhanced existing tests in AiExtensionTests, AutoMasterTests, SessionSerializationTests ### Backward Compatibility - Existing MixPlan and MasterPlan structures extended with new DSP options - BuiltInRenderer remains default with graceful fallbacks when external renderers fail - AI model inference retains deterministic output for baseline regression testing ### Platform Support - Cross-platform limiter binary discovery (Windows .exe, macOS/Linux native) - Platform-aware execution provider selection for ONNX Runtime (DirectML/CoreML/CUDA) - Third-party component registry for licenses and attributions
…, and mastering upgrades - Build/config: - Expanded CMake options (RTNeural toggles, bundled LAME fallback, external tool support, sanitizers/clang-tidy gates). - Added new core/app sources: stem separation, transport controller, waveform preview, multiband processor, LAME downloader. - Enforced Visual Studio 2026 generator on Windows Visual Studio builds. - UI/app workflow: - Major MainComponent upgrade: transport controls (play/pause/stop/seek), waveform preview, stem solo/mute selectors, GPU provider selector, platform/master preset controls, codec-aware export controls, and LAME prefetch action. - Improved responsiveness by moving heavy operations to async/background flow and keeping cancel/progress behavior available. - AI/runtime: - ONNX inference backend expanded with provider preference handling, quantized model preference, warmup, optimization/threading/profiling configuration, and backend diagnostics. - Model pack metadata loading extended to support runtime specialization fields. - Stem separation: - Added StemSeparator module with model-available path and deterministic fallback behavior. - Integrated separated-stem metadata (`separationConfidence`, `separationArtifactRisk`) into domain model and session serialization. - Analysis/features: - Stem analysis expanded with additional spectral/temporal descriptors. - Updated runtime feature schema and training schema export (`FeatureSchema.cpp`, `feature_schema_v1.json`). - Mastering/rendering: - Added MultibandProcessor and multiband settings/plumbing in MasterPlan + heuristic mastering strategy. - Added platform loudness presets via new `assets/mastering/platform_presets.json`. - External limiter integration hardened with validation/capability diagnostics in renderer path and registry behavior. - Export/codec portability: - WavWriter enhanced with runtime format availability probing and richer export path handling. - Added LAME downloader utility for fallback MP3 encoding workflows. - Dev tooling: - Added `validate-external-limiter` and `install-lame-fallback` commands. - Expanded exported feature payload fields in `automix_dev_tools`. - Tests: - Added new unit tests for stem separation and transport controller. - Updated existing tests for ONNX diagnostics and renderer validation behavior. - Existing test files also include formatting/line-ending normalization edits. - Docs: - Rewrote README to reflect implemented roadmap features, build matrix updates, and new runtime capabilities. - Repo-wide normalization/vendor data churn: - Large non-functional rewrites in `.clang-*`, `.editorconfig`, and many `assets/phaselimiter/*` license/resource files (predominantly normalization/line-ending style changes, with very large JSON churn).
…orkflows, and export/runtime hardening - Add native ONNX Runtime session path when ENABLE_ONNX finds runtime headers/libs, including provider-aware tuning, profiling artifact capture, and deterministic fallback retention. - Extend stem separation with 2/4/6-stem variant selection, separator_pack manifest discovery, runtime controls (target stems/GPU budget/max streams), and QA bundle output (energyLeakage/residualDistortion/transientRetention). - Introduce project profile catalog + loader and trust-policy assets: - assets/profiles/project_profiles.json - assets/renderers/trust_policy.json - Expand session/render serialization with timeline and profile/safety/export-mode fields (loop markers, zoom/fine-scrub, exportSpeedMode, mp3UseVbr, mp3VbrQuality, projectProfileId, safetyPolicyId, preferredStemCount). - Upgrade GUI/transport UX with loop in/out controls, waveform zoom/loop overlay, fine scrub, task center history, and resizable 1280x720 window defaults. - Harden responsiveness by moving session load/import/export preflight-heavy work off UI thread, adding stale-result guards and progress throttling. - Improve offline render throughput with cached stem/raw mix reuse, adaptive mix block sizing, and cache invalidation controls. - Upgrade export/audio IO path with metadata extraction + retention, MP3 CBR/VBR handling, and external LAME ID3 mapping. - Align renderer behavior across BuiltIn/PhaseLimiter/ExternalLimiter for original-mix soft-target guidance, plan-source/decision-log provenance reporting, and trust-policy signature handling with capability snapshot artifacts. - Expand automix_dev_tools with comparator/catalog/collaboration/evaluation/plan-diff/catalog-installer/lame-installer workflows. - Add tests for profile loading, renderer trust-policy enforcement, transport loop behavior, separator variant QA outputs, and session schema round-trip fields. - Include repository-wide newline/format normalization churn across config and bundled asset/license files.
…utomation - Add Hugging Face model hub integration: - new hub service for discovery/install/update checks - new GUI Models menu actions - new CLI commands: model-browse/model-install/model-health - Add metadata policy engine and wire it through: - project profiles, render settings, JSON serialization - built-in/external/phaselimiter renderer export metadata paths - unit tests for metadata policy behavior - Expand dev tooling: - profile-export/profile-import - adaptive-assistant and session-review - eval-trend and batch-studio-api launcher - add tools/batch_studio_api.py - Add nightly CI workflow for golden eval trend artifacts - Apply repository-wide EOL/style normalization across source/config/tests/assets
…I, and modular CLI refactor This update integrates the HuggingFace model hub and metadata trust workflows, introduces the Batch Studio REST API, and completes a major refactor of the developer tools into a modular command-based registry system. Includes core hardening for model fetching and export engines.
…odules - add `MainComponentBackend` and `MainComponentControllers` to move orchestration and callback wiring out of the UI shell - add focused controllers for session/original-mix/preview/profile workflows - add shared utilities: `BackgroundJob`, `CallbackDispatch`, and `HashUtils` - add tests: `tests/unit/ControllerTests.cpp` and `tests/python/test_batch_studio_api.py` - update model/renderer integration points (`ModelPackLoader`, `RendererRegistry`) - update README visuals and include `assets/AutoMixMaster.jpg` - refresh `.gitignore` patterns for local build and temp artifacts
- restore multiline ignore formatting - keep `docs/` ignored in repository status
Contributor
There was a problem hiding this comment.
Pull request overview
This PR merges extensive development work from ai_dev into master, focusing on build system improvements, controller layer refactoring, enhanced AI/ML model infrastructure, expanded test coverage, and documentation updates.
Changes:
- Build system modernization: improved CMake configuration with better dependency handling, Windows/Visual Studio support, and expanded
.gitignore - Core architecture refactor: new controller layer (
SessionController,ProcessingController,ImportController,ExportController,ModelController,ProfileController,PreviewController,OriginalMixController) for better separation of concerns - AI/ML infrastructure expansion: enhanced feature extraction schema (65+ features), model pack metadata requirements, multi-root model scanning, improved ONNX inference backend, and demo model catalog
- New domain types and utilities: project profiles, batch processing types, transport controller, loudness metering, metadata policy handling, stem health analysis, and artifact profiling
- Comprehensive test suite additions: 15+ new unit test files covering controllers, DSP modules, renderers, analysis, and AI components
- Repository cleanup: removal of legacy files, addition of CI workflows, and documentation improvements
Reviewed changes
Copilot reviewed 152 out of 172 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
tools/catalog/modelpacks/*/model.json |
Demo model pack metadata for role classifier, mix parameters, and master parameters |
tools/catalog/modelpacks/*/model.onnx |
Placeholder ONNX model binaries for demo catalog |
tests/unit/*Tests.cpp |
New comprehensive unit tests for transport, separation, rendering, profiles, batch processing, DSP modules, and analysis |
tests/regression/* |
Updated regression test infrastructure with mono correlation metric and adjusted tolerances |
tests/python/test_batch_studio_api.py |
Python integration tests for path containment validation |
src/util/* |
New utility modules for metadata policy, string operations, file operations, hash functions, callbacks, and background jobs |
src/renderers/* |
Refactored renderer infrastructure with registry, trust policy, external renderer support |
src/platform/ThirdPartyComponentRegistry.* |
Legal compliance tracking for third-party components |
src/engine/* |
New transport controller, loudness meter, audio preview engine, batch queue runner, and metadata I/O |
src/dsp/* |
New DSP modules including true peak detection, soft clipper, mid/side processing, multiband processing, de-esser, and dynamic de-harsh EQ |
src/domain/* |
Expanded domain types for project profiles, batch processing, enhanced render settings, timeline state, and master plan presets |
src/app/controllers/* |
Complete controller layer implementation for session, processing, import, export, models, profiles, preview, and original mix |
src/app/WaveformPreviewComponent.* |
New waveform visualization component with zoom and loop range support |
src/app/Main.cpp |
Window resizing enabled with larger default size |
src/analysis/* |
Enhanced analysis infrastructure with stem health assistant, artifact profiling, and expanded metrics |
src/ai/* |
Major AI infrastructure improvements: feature schema v1, enhanced model manager with multi-root scanning, improved ONNX backend, stem separator, mastering compliance, HuggingFace hub integration |
src/automix/HeuristicAutoMixStrategy.cpp |
Enhanced mixing heuristics using expanded feature set |
src/automaster/IAutoMasterStrategy.h |
Extended mastering report with additional metrics |
assets/* |
New asset files for renderer trust policy, project profiles, platform presets, demo models, and renderer descriptors |
.github/workflows/nightly_golden_eval.yml |
CI workflow for nightly regression evaluation |
Comments suppressed due to low confidence (1)
src/domain/ProjectProfile.cpp:1
- The
lossyBitrateKbpsvalue is clamped to a maximum of 320, which prevents users from specifying valid higher bitrates (e.g., 384 or 512 kbps supported by MP3 VBR). Consider increasing the upper bound to at least 512 to support premium quality settings.
#include "domain/ProjectProfile.h"
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
8 tasks
13 tasks
Contributor
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: soficis <107279009+soficis@users.noreply.github.com>
5 tasks
Contributor
Contributor
5 tasks
Co-authored-by: soficis <107279009+soficis@users.noreply.github.com>
[WIP] Update build system and refactor controller based on feedback
Co-authored-by: soficis <107279009+soficis@users.noreply.github.com>
…ial versions Co-authored-by: soficis <107279009+soficis@users.noreply.github.com>
[WIP] Address feedback on build system fixes and controller refactor
[WIP] Address feedback from review of ai_dev to master pull request
[WIP] Address feedback from review on merge ai_dev to master
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Merge the development work on
ai_devintomaster.Scope: build-system and dependency improvements, controller refactors, renderer/DSP fixes, README + assets updates, repository cleanup, and new tests.
Key changes
CMakeLists.txt— improved dependency handling (FetchContent options, explicit SOURCE/BINARY dir flags), better Windows/Visual Studio generator support..gitignoreexpanded to exclude build artifacts, IDE files, logs and temporary files (includesdocs/per request).SessionController,ProcessingController,ImportController,ExportController,ModelController.OfflineRenderPipeline,BuiltInRenderer,StemAnalyzer.BatchQueueRunnerand batch/CLI tooling for stable batch processing.tests/.dev_tools.cpp,BatchCommandsand CLI helpers: better progress/cancellation and diagnostics.README.mdupdated — screenshot added (assets/AutoMixMaster.jpg), ASCII logo preserved and styling adjusted; tone changed to neutral and targeted at amateur producers.Files / areas touched (representative)
CMakeLists.txt,.gitignore,README.mdsrc/app/controllers/*,src/renderers/*,src/util/*tests/unit/*,tests/python/*tools/commands/*,assets/AutoMixMaster.jpgMigration / verification (recommended)
build_*directories or rungit clean -fdx(use with caution).tests/(seeCMakeLists.txt).Risks & breaking changes
Rebase / merge notes
ai_devwas rebased ontomaster; conflicts were resolved during the rebase (localai_devchanges retained where selected).git reflog/git checkout <commit> -- <path>).