I rewrote mp3gain in Rust — 'compatible' turned out to be three different things

rust dev.to

mp3rgain

Lossless MP3/AAC volume adjustment - a modern mp3gain / aacgain replacement written in Rust

mp3rgain adjusts MP3 and AAC volume without re-encoding by modifying the global_gain field in each frame. This preserves audio quality while achieving permanent volume changes.

The only actively maintained tool that performs lossless AAC/M4A bitstream gain adjustment. aacgain has been unmaintained since ~2009 and rarely builds on modern 64-bit systems. mp3rgain is the only practical option today for re-encode-free AAC volume normalization.

Features

  • Only tool with lossless AAC bitstream gain: re-encode-free global_gain rewrite for AAC/M4A — a capability previously only available in the long-abandoned aacgain
  • Lossless & Reversible: No re-encoding, all changes can be undone (MP3 and AAC)
  • ReplayGain: Track and album gain analysis for MP3 and AAC/M4A
  • Zero dependencies: Single static binary (no ffmpeg, no mp3gain, no aacgain)
  • Cross-platform: macOS, Linux, Windows (x86_64 and ARM64)
  • mp3gain / aacgain compatible

Source: dev.to

arrow_back Back to Tutorials