{"id":13594313,"url":"https://github.com/sergree/matchering-cli","last_synced_at":"2025-06-12T16:40:19.976Z","repository":{"id":43425140,"uuid":"233295070","full_name":"sergree/matchering-cli","owner":"sergree","description":"🎚️ Simple Matchering 2.0 Command Line Application","archived":false,"fork":false,"pushed_at":"2024-11-06T19:30:46.000Z","size":19,"stargazers_count":83,"open_issues_count":3,"forks_count":18,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-19T20:11:42.308Z","etag":null,"topics":["audio","cli","dsp","equalizer","filter","limiter","mastering","matchering","matching","music","python","python3","sound","spectrum","vst"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sergree.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://t.me/tribute/app?startapp=de85"}},"created_at":"2020-01-11T20:47:30.000Z","updated_at":"2025-05-18T12:39:04.000Z","dependencies_parsed_at":"2024-10-30T18:12:19.809Z","dependency_job_id":"87306266-5ca6-4389-a0ef-f5adc6610ac2","html_url":"https://github.com/sergree/matchering-cli","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sergree/matchering-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergree%2Fmatchering-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergree%2Fmatchering-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergree%2Fmatchering-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergree%2Fmatchering-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergree","download_url":"https://codeload.github.com/sergree/matchering-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergree%2Fmatchering-cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259503397,"owners_count":22867990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","cli","dsp","equalizer","filter","limiter","mastering","matchering","matching","music","python","python3","sound","spectrum","vst"],"created_at":"2024-08-01T16:01:31.630Z","updated_at":"2025-06-12T16:40:19.942Z","avatar_url":"https://github.com/sergree.png","language":"Python","funding_links":["https://t.me/tribute/app?startapp=de85"],"categories":["Python","Audio Processing \u0026 I/O"],"sub_categories":[],"readme":"[![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://t.me/tribute/app?startapp=de85)\n\n# Matchering CLI\n\n### Simple Matchering 2.0 Command Line Application\n\nCompact and easy-to-use CLI app for working with the **[Matchering python library][matchering]**. Use it for audio batch processing.\n\n## Features\n\n- File logging\n- 16-bit, 24-bit, and 32-bit float results\n- Setting to disable the built-in *Matchering limiter* and *normalization*\n\n## Installation\n\n### Ubuntu 20.04 LTS\n\n1. Install the necessary dependencies\n\n```sudo apt update \u0026\u0026 sudo apt -y install libsndfile1 ffmpeg python3-pip```\n\n2. Clone the repo and move to the directory\n\n```git clone https://github.com/sergree/matchering-cli \u0026\u0026 cd matchering-cli```\n\n3. Install dependencies from `requirements.txt`\n\n```python3 -m pip install -r requirements.txt```\n\n### Windows 10\n\n1. Install **[Anaconda Python/R Distribution][anaconda]**\n\n2. Install **[FFmpeg]** to `C:\\ffmpeg` and add `C:\\ffmpeg\\bin` to the PATH variable\n\n**[HOWTO][path]**\n\n3. Run **Anaconda Prompt (Anaconda3)** and move to the cloned `matchering-cli` directory\n\n```cd C:\\Users\\\u003cyour_username\u003e\\Downloads\\matchering-cli```\n\n4. Install dependencies from `requirements.txt`\n\n```python -m pip install -r requirements.txt```\n\n## Usage\n\n- Get the WAV 16-bit result\n\n```python3 mg_cli.py my_song.wav some_popular_song.wav my_song_master_16bit.wav```\n\n- Get the WAV 16-bit result and save the log file `process.log`\n\n```python3 mg_cli.py my_song.wav some_popular_song.wav my_song_master_16bit.wav --log process.log```\n\n- Get the normalized WAV 24-bit result without applying a limiter\n\n```python3 mg_cli.py target.wav reference.wav result_24bit.wav -b24 --no_limiter```\n\n- Get the non-normalized WAV 32-bit result without applying a limiter\n\n```python3 mg_cli.py target.wav reference.wav result_32bit.wav -b32 --no_limiter --dont_normalize```\n\n\n##### *Use `python` in Windows instead of `python3`*\n\nAlso you can run it without `python3` in front, if `mg_cli.py` has `+x` permission:\n\n```sudo chmod +x mg_cli.py```\n\nAnd then:\n\n```./mg_cli.py my_song.wav some_popular_song.wav my_song_master_16bit.wav```\n\n```\nusage: mg_cli.py [-h] [-b {16,24,32}] [--log LOG] [--no_limiter]\n                 [--dont_normalize]\n                 target reference result\n\nSimple Matchering 2.0 Command Line Application\n\npositional arguments:\n  target                The track you want to master\n  reference             Some \"wet\" reference track\n  result                Where to save your result\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -b {16,24,32}, --bit {16,24,32}\n                        The bit depth of your mastered result. 32 means 32-bit\n                        float\n  --log LOG             The file to which the logs will be written\n  --no_limiter          Disables the limiter at the final stage of processing\n  --dont_normalize      Disables normalization, if --no_limiter is set. Can\n                        cause clipping if the bit depth is not 32\n```\n\n### Visit **[Matchering main repo][matchering]** to learn more about it!\n\n## A Coffee\n\nIf our script saved your time or money, you may:\n\n[![Buy Me A Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://t.me/tribute/app?startapp=de85)\n\n**Thank you!**\n\n[matchering]: https://github.com/sergree/matchering\n[anaconda]: https://www.anaconda.com/products/individual#Downloads\n[FFmpeg]: https://www.ffmpeg.org/download.html\n[path]: https://video.stackexchange.com/questions/20495/how-do-i-set-up-and-use-ffmpeg-in-windows\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergree%2Fmatchering-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergree%2Fmatchering-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergree%2Fmatchering-cli/lists"}