sergree / matchering

🎚️ Open Source Audio Matching and Mastering
https://pypi.org/project/matchering/
GNU General Public License v3.0
1.77k stars 184 forks source link
audio docker-image dsp equalizer filter limiter mastering matchering matching music numpy python python-library python3 scipy sound spectrum vst

Buy Me A Coffee

Matchering 2.0

License PyPI Version PyPI Python Versions Mentioned in Awesome Python Code style: black

Matching + Mastering = ❤️

Matchering 2.0 is a novel Containerized Web Application, Python Library, and ComfyUI Node for audio matching and mastering.

🔥 Also integrated in the UVR5 Desktop App!

It follows a simple idea - you take TWO audio files and feed them into Matchering:

Our algorithm matches both of these tracks and provides you the mastered TARGET track with the same RMS, FR, peak amplitude and stereo width as the REFERENCE track has.

🔥 Benn Jordan Matchering review:

  • Matchering 2.0 beating all other AI's! (note: by carefully selecting a proper song as reference)
  • Ranking it no.3 (out of 12) right behind 2 professional master engineers
  • Seems a rock-solid study with 472 judged entries

(Thanks to @bascurtiz for the find)

Benn Jordan Review Video

You can try out Matchering yourself without having to install it, thanks to the hosting provided by Songmastr and Moises.

Watch the video:

Matchering 2.0 Promo Video

So Matchering 2.0 will make your song sound the way you want! It opens up a wide range of opportunities:

Matchering WEB GIF Animation

Differences from the previous major version:

  • Completely rewritten in Python 3, based on open source tech stack (no more MATLAB)
  • Our own open source Hyrax was implemented for it
  • Processing speed and accuracy have been increased
  • Now it is the library that can be connected to everything in the Python world

If you are looking for a Matchering paper, you can read this Habr article.

Installation and Usage

If you are a music producer or an audio engineer, choose the Desktop App or ComfyUI Node.

If you are an AI mastering startup, choose the Docker Image.

If you are a developer, choose the Python Library.

Desktop App - The Easiest Way

NEW! Matchering @ UVR5 Desktop App

You can find Matchering under Choose Process Method > Audio Tools & Choose Audio Tool > Matchering.

Or try WITHOUT Installation

ComfyUI Node

ComfyUI-Matchering

Docker Image

Windows

macOS

Linux

Updating

If you need to update the version of the installed Docker Image, follow these instructions.

Python Library - For Developers

Installation

4 GB RAM machine with Python 3.8.0 or higher is required

libsndfile

Matchering 2.0 depends on the SoundFile library, which depends on the system library libsndfile. On Windows and macOS, it installs automatically. On Linux, you need to install libsndfile using your distribution's package manager, for example:

sudo apt update && sudo apt -y install libsndfile1

python3-pip

On some Linux distributions, python3-pip is not installed by default. For example use this command on Ubuntu Linux to fix this:

sudo apt -y install python3-pip

Matchering Python Package

Finally, install our matchering package:

# Linux / macOS
python3 -m pip install -U matchering

# Windows
python -m pip install -U matchering

(Optional) FFmpeg

If you would like to enable MP3 loading support, you need to install the FFmpeg library. For example use this command on Ubuntu Linux:

sudo apt -y install ffmpeg

Or follow these instructions: Windows, macOS.

Quick Example

import matchering as mg

# Sending all log messages to the default print function
# Just delete the following line to work silently
mg.log(print)

mg.process(
    # The track you want to master
    target="my_song.wav",
    # Some "wet" reference track
    reference="some_popular_song.wav",
    # Where and how to save your results
    results=[
        mg.pcm16("my_song_master_16bit.wav"),
        mg.pcm24("my_song_master_24bit.wav"),
    ],
)

You can find more examples in the examples directory.

Or you can use premade Matchering 2.0 Command Line Application: matchering-cli.

Or its enhanced fork: kubinka0505/matchering-cli.

💓 WhatBPM

Looking for the perfect BPM or key for a new EDM track?

Check out WhatBPM!

A completely free open-source web service from the author of Matchering.

A Coffee

If our package saved your time or money, you may:

Buy Me A Coffee

Thank you!

Links