Skip to content

sergree/matchering

Repository files navigation

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:

  • TARGET (the track you want to master, you want it to sound like the reference)
  • REFERENCE (another track, like some kind of "wet" popular song, you want your target to sound like it)

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:

  • You can make your music instantly sound like your favorite artist's music
  • You can make all the tracks on your new album sound the same very quickly
  • You can find new aspects of your sound in experiments
  • You can do everything as you want! Because of Your References, Your Rules.β„’ (just a little nostalgic note) 🀭

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 brickwall limiter 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

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

ComfyUI Node

Docker Image

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