Amarok/Manual/Various/ReplayGain
Replay Gain
Replay gain will automatically adjust the volume of the currently played song, relative to other songs, as determined by the person who encoded the audio file. To enable replay gain, see Amarok/Manual/References/MenuAndCommandReference/Settings#Settings_Menu
To handle this, Amarok relies on metadata embedded in the audio file:
- If no replay gain information is embedded, Amarok will not adjust the volume
- If replay gain information is found, it will be written into Amarok's database
During playback, Amarok will only look into it's own database for this information. Updates to the metadata of the file will not always get written into the database during a collection update (e.g. replay gain is deleted from file).
This can lead to unexpected behavior: Songs from the same artist play at different volume levels etc.
Is replay gain beeing used?
To figure out if the volume problem is caused by replay gain or bad encoding:
- Disable replay gain processing (see above=
- Start Amarok in debug mode and search for gain- related output:
amarok -d --nofork | grep gain
If replay gain is active for the played song, the output will be
Using gain of -10.28 with relative peak of -1
View replay gain information
For .flac files, "metaflac" can be used to view embedded replay gain data:
metaflac --list Millencolin\ -\ Balanced\ Boy.flac
Among other things, this will show something like this:
METADATA block #2 type: 4 (VORBIS_COMMENT) is last: false length: 390 vendor string: reference libFLAC 1.2.1 20070917 comments: 14 comment[9]: REPLAYGAIN_REFERENCE_LOUDNESS=89.0 dB comment[10]: REPLAYGAIN_TRACK_GAIN=-1.55 dB comment[11]: REPLAYGAIN_TRACK_PEAK=0.75894165 comment[12]: REPLAYGAIN_ALBUM_GAIN=-4.19 dB comment[13]: REPLAYGAIN_ALBUM_PEAK=0.98712158
To view this tracks information within the Amarok database:
select id, title, albumgain, albumpeakgain, trackgain, trackpeakgain from tracks where title like "Balanced%";
Will show:
+-------+------------------+-----------+---------------+-----------+---------------+ | id | title | albumgain | albumpeakgain | trackgain | trackpeakgain | +-------+------------------+-----------+---------------+-----------+---------------+ | 10459 | Balanced Boy | 0.53 | -5.60297 | 0.44 | -5.60297 |
Note the difference in loudness levels
Delete replay gain information
First, delete the metadata from the file:
metaflac --remove-replay-gain Millencolin\ -\ Balanced\ Boy.flac
After that, update your Amarok collection. If it is still using replay gain, update the database entry:
update tracks set albumgain=-1,albumpeakgain=-1,trackgain=-1,trackpeakgain=-1 where id=10459
Restart Amarok & the log output should now show the updated values being used.
Feel free to try & mess with the values manually to improve volume levels.