Bug 9993 - Replaygain and custom-convert.conf
: Replaygain and custom-convert.conf
Status: NEW
Product: Logitech Media Server
Classification: Unclassified
Component: Transcoding
: unspecified
: PC Other
: -- enhancement (vote)
: ---
Assigned To: Unassigned bug - please assign me!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-11-13 11:43 UTC by toby
Modified: 2011-01-14 00:51 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description toby 2008-11-13 11:43:00 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,
Comment 1 Blackketter Dean 2008-11-23 14:48:56 UTC
Steven: this was assigned to you.  What's your thinking?
Comment 2 Chris Owens 2008-11-24 10:29:04 UTC
Dean and Andy say to cc Alan and see if his new work could be used for something like this.
Comment 3 Alan Young 2008-11-25 01:53:00 UTC
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?