Bugzilla – Bug 9993
Replaygain and custom-convert.conf
Last modified: 2011-01-14 00:51:28 UTC
It would be handy if a transcoding command line in convert.conf could have access to the effective gain setting applied during playback. Rationale: To achieve gapless play the brutefirdrc room correction plugin needs to mix the reverberation tail from the end of one track into the start of the next. Currently we handle this by storing the reverberation tail pcm data on disk, to be read on the subsequent invocation of the convolution filter program. It stores half a second of pcm data, although most of the sound energy is usually within the first few tens of milliseconds. This works well, but replay gain introduces a minor wart. The reverberation tail gets played using the gain setting of the track which it has been mixed into, when ideally it should be played using the gain of the preceding track where it originated. Most of the time this is not noticeable, but there is one scenario where it is particularly offensive. Consider the case of a track which is loud up to the very end being followed by a quieter track. Replaygain increases the gain for the second track to match the effective volume levels, but it sounds as if the gain is turned up a few tens of milliseconds too soon. There is a brief burst of extra loudness. Would it be possible to support some $GAIN$ field in custom-convert.conf to allow the transcoding pipeline to know the effective gain which squeezecenter will be applying during playback? The room correction filter could then use the difference in gain to level-match its reverberation tails. Thanks,
Steven: this was assigned to you. What's your thinking?
Dean and Andy say to cc Alan and see if his new work could be used for something like this.
Yes, it could be done I guess it would not be too hard with the new capabilities stuff, but the framework would need some enhancement. I have to ask how much effort would be justified?