Professional audio matching and mastering tool with multi-reference support and intelligent comparison system.
- Multi-Reference Mastering: Upload up to 10 reference tracks and generate multiple mastering variations
- Hot or Not Comparison: Interactive hover-to-preview system to compare masterings side-by-side
- Real-time Rankings: Visual chart showing the most popular mastering based on your preferences
- Multiple Loudness Profiles: Automatically render Low (slow attack), Medium (default), and High (fast & aggressive) limiter settings for every reference
- Multiple Export Formats: Download WAV 16-bit, WAV 24-bit, Low/Medium/High loudness 24-bit, or WAV 24-bit variants without the limiter
- Limiter Expert Controls: Override limiter attack/hold/release per mastering session
- Aligned Previews Per Variant: Limited, no-limiter, no-limiter (normalized), and original snippets share the identical slice for A/B tests
- Python 3.10 or higher (3.14+ supported with fallback)
- 4 GB RAM minimum
- Install dependencies:
pip install -r requirements.txtFor Python 3.14+:
pip install -r requirements-py314.txt- Run the application:
python app.py- Open your browser and navigate to
http://localhost:8360
- Upload Tracks: Drag and drop your target track and up to 10 reference tracks
- Processing: Wait while the system generates masterings for each reference
- Compare: Hover over mastering areas to preview, click to choose your favorite
- Rank: View the ranking chart that updates in real-time below the comparison
- Download: Grab WAV 16-bit, WAV 24-bit (medium), 24-bit Low/High loudness, 24-bit without the limiter, or 24-bit without the limiter but normalized
- The upload form now exposes: attack, hold, release, attack filter coefficient, hold filter order/coeff, and release filter order/coeff.
- Leave fields blank to use presets; fill them to override the Medium profile. All values are returned via
/api/status/<job_id>so automations know the exact limiter envelope.
- Every mastering now includes Low (20 ms attack / 2 ms hold / 4000 ms release), Medium (defaults or your custom values), and High (0.1 ms attack / 60 ms hold / 250 ms release) limiter profiles.
- Downloads:
/api/download/<job>/<ref>/wav24_low/api/download/<job>/<ref>/wav24(medium β respects expert override)/api/download/<job>/<ref>/wav24_high
- Previews:
/api/preview-low/<job>/<ref>/api/preview/<job>/<ref>(medium)/api/preview-high/<job>/<ref>
/api/preview/<job_id>/<reference_index>β limiter-on preview (default)/api/preview-low/<job_id>/<reference_index>β low loudness preview/api/preview-high/<job_id>/<reference_index>β high loudness preview/api/preview-nolimiter/<job_id>/<reference_index>β limiter bypassed preview/api/preview-nolimiter-normalized/<job_id>/<reference_index>β limiter bypassed + normalized preview/api/preview-original/<job_id>/<reference_index>β matching original slice for direct A/B comparison
Build and run with Docker:
docker-start.batOr manually:
docker build -t matchering-2025:latest .
docker run -dp 8360:8360 \
-v matchering-uploads:/app/uploads \
-v matchering-results:/app/results \
-v matchering-previews:/app/previews \
--name matchering-2025 \
--restart always \
matchering-2025:latestThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Based on Matchering by Sergree.
This version includes significant modifications:
- Multi-reference support (up to 10 references)
- Hot or Not comparison system with hover previews
- Real-time ranking charts
- WAV 16-bit and 24-bit export formats
- Python 3.14+ compatibility
- Enhanced user interface
See MODIFICATIONS.md for detailed change log.
- Built on the Matchering audio processing library
- Flask backend with RESTful API
- Real-time processing with progress tracking
- Intelligent comparison algorithm for optimal mastering selection