Skip to main content

Audio Matching and Mastering Python Library

Project description

Buy Me A Coffee

Matchering 2.0

Matching + Mastering = ❤️

Matchering 2.0 is a novel Containerized Web Application (coming soon!) and Python Library for audio matching and mastering.

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.

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) 🤭

Differences from the previous major version:

  • Completely rewritten in Python 3, based on open source tech stack (no more MATLAB)
  • Our own open source 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

Installation and Usage

If you are a music producer or an audio engineer, choose the Docker Image (coming soon!).

If you are a developer, choose the Python Library.

Docker Image - The Easiest Way

Coming soon! Stay tuned.

Python Library - For Developers

Installation

Python 3.6.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.

A Coffee

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

Buy Me A Coffee

Thank you!

Press About Us

Thanks, guys!

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matchering-2.0.0.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matchering-2.0.0-py3-none-any.whl (40.9 kB view details)

Uploaded Python 3

File details

Details for the file matchering-2.0.0.tar.gz.

File metadata

  • Download URL: matchering-2.0.0.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0

File hashes

Hashes for matchering-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d6a7f1354ed55ed7ab1fcb255b00fd8e54da59b4bc8ccb9596f9234289c57d49
MD5 6de793c4ebb81508fe379b5601720f5d
BLAKE2b-256 c5bb848d1aba9a941f0eb26b962640e3a7539ba7ec906fce9d94d2e080f4a1ed

See more details on using hashes here.

File details

Details for the file matchering-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: matchering-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 40.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0

File hashes

Hashes for matchering-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19b9e3010c10d1bbcc58546505ddebb53d1e11e5b7ada1ecb3fd7e154497fe34
MD5 95c968eb2e09dda42bb187a74af5c610
BLAKE2b-256 57d308ccb84b0b3ece0072d7d21d0e003ae0b1137371719547aad8d6f028691c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page