r128gain
Fast audio loudness scanner & tagger
r128gain is a multi platform command line tool to scan your audio files and tag them with loudness metadata (ReplayGain v2 or Opus R128 gain format), to allow playback of several tracks or albums at a similar loudness level. r128gain can also be used as a Python module from other Python projects to scan and/or tag audio files.
This is beta software, please test and report bugs.
Features
- Supports all common audio file formats (MP3, AAC, Vorbis, Opus, FLAC, WavPack...) and tag formats (ID3, Vorbis comments, MP4, APEv2...)
- Writes tags compatible with music players reading track/album gain metadata
- Supports new R128_XXX_GAIN tag format for Opus files (very few scanners write this tag, although it is defined in the Opus standard)
- Supports writing gain to the Opus output gain header (experimental)
- Uses threading to optimally use processor cores resulting in very fast processing
Installation
r128gain requires Python >= 3.6 and FFmpeg >= 2.8.
Standalone Windows executable
Windows users can download a standalone binary which does not require Python, and bundles FFmpeg.
Arch Linux
Arch Linux users can install the r128gain AUR package.
From PyPI (with PIP)
Install r128gain using pip: pip3 install r128gain
From source
- If you don't already have it, install setuptools for Python 3
- Clone this repository:
git clone https://github.com/desbma/r128gain
- Install r128gain:
python3 setup.py install
Command line usage
Run r128gain -h
to get full command line reference.
Examples
- Scan a single file and display its loudness information:
r128gain -d an_audio_file.mp3
- Scan & tag a single file:
r128gain an_audio_file.mp3
- Scan & tag all audio files in
music_directory
and all its subdirectories:r128gain -r music_directory
- Scan & tag all audio files in
music_directory
and all its subdirectories, and add album gain tags (files contained in each directory are considered as part of the same album):r128gain -r -a music_directory