Flaw in ReplayGain spec |
Flaw in ReplayGain spec |
May 12 2002, 11:04
Post
#1
|
|
![]() Server Admin Group: Admin Posts: 4808 Joined: 24-September 01 Member No.: 13 |
It occured to me today that there is a problem with the current ReplayGain spec, or rather, my proposal for doing it in Vorbis.
The issue is combining replaygain and clipping prevention. If applying the replaygain would cause the track to clip, clipping prevention kicks in, and reduces the level. This will make the output loudness different from the ideal, 'equal' level. When running in radio/track mode, there is no way around this, since you don't know in advance what you are going to encounter. The best you can do is set the default level low enough so you can hope it'll never happen. I believe this was the idea (among possibly other things) behind setting the default level to K-20 in the new MPC decoders? (Frank? ) If the implementation in the current Vorbis players is correct, a similar effect can be reached by setting the preamp in the plugin to -6dB or so. In album gain, you could avoid this from happening for the entire album you're listening to, since you already ReplayGain-processed them in group and thus know what is coming up, however, my current proposal poses problems for doing this: You would need to read in all files that belong to the album, read in the peak values, and remember the largest, and use that as the peak value for the individual tracks. This is what I originally envisioned, however, looking back, this is both ugly, cumbersome and it may not even be possible in some player/plugin architectures. I think the correct solution would probably be to store an album-peak value. It would be trivial to implement in the ReplayGain tools, and require only minimal changes in the players without all the uglyness the current method would require (which isn't done correctly by anyone anyway). The disadvantage is that it requires another tag. However, since the Vorbis people seem to have gotten a bit more enthousiastic about ReplayGain lately, perhaps that isn't so much of a problem. I believe it's valuable to do this, as it may post a real problem in practise. Moreover, the proposal as it is now is broken by design in this regard, and I'd prefer to fix it while it's still fixable. Also, the ReplayGain proposal on David's site doesn't mention anything about this? Is there another way to address this problem? There's two other issues with the current spec that I'd like to discuss about while it's still possible. 1) Change RG_* into REPLAYGAIN_* This was proposed by Segher, with the idea that someone looking at the tags and that doesn't know what they are can at least google to find out, whereas you'd be left clueless with the current 'RG'. I think this idea is valuable and good. 2) Source/version tag I didn't include one originally because I saw no way to keep it consistent if you allow the user to edit the tags (you can't require them to know the spec...), and because I didn't see the RG calculations being improved for quite a while. Unfortunately, Frank Klemm has already proven me wrong on the latter. I don't see a way to make such a tag actually _work_ though. I'd like feedback from everyone about all of this. Is it worthwhile to change the current proposal and fix some of the above issues? -- GCP |
|
|
|
![]() |
May 21 2002, 19:48
Post
#2
|
|
|
Group: Members Posts: 33 Joined: 8-May 02 From: Philadelphia, PA Member No.: 1994 |
Quoth Garf:
"Beats me. I'm no longer willing to discuss this issue on IRC. If there are arguments against the proposal, they are free to discuss them here. Paradox said he would keep following this thread earlier on, so if he keeps his promise, maybe now is a good time for him to comment as CEO of Xiph." I've kind of been hanging back, looking at what's been going on here, seeing the best way to go about getting replaygain implemented. Here's my current problem: I have a very small staff, and they're very busy working on 1.0 of Vorbis and the Vorbis spec. I think it's clear to even the most casual observer that although replaygain support is important and useful, there are other, more pressing needs at the moment. That's number one, and that's outside the realm of even discussing replaygain. Number two, I still am not convinced that adding replaygain tags is the best solution to implement replaygain. I am convinced that it would be the easiest solution, but I am not convinced that it would be the right one. Let me go back to my original point a little bit. 1.0 (and the spec) is due to be published very soon. Implementing a quick-and-dirty solution for replaygain is likely not a good idea, for a couple reasons. One, it's not a good idea to define temporary solutions in a 1.0 release. Two, if we do something we're going to change later, that means that you'll be bugging your player authors twice. Unfortunately, there are pressing issues for Vorbis that are more important than replaygain support. I'm aware that it's important to a lot of people (including myself), but we don't have the time to implement it in the best possible way. When we have the time to implement replaygain data (which will likely be in a metadata stream), it will be done, I promise. I'm very sorry if people are let down by this, but it's what we have to do. For every ten people that are screaming for replaygain support, there are a hundred people screaming for a specification. People shouldn't be screaming at all, but they do, at us, all the time. Please remember that we are basically volunteers. We work on this stuff full-time when we could easily go out and find well-paying jobs elsewhere. We do this because we love it, and because we think it's important. People tend to lose sight of the fact that we do good work, and we give it away. I understand that a lot of the people in the current discussion want replaygain implemented because they want what's best for the format, and I appreciate that immensely. I agree with them, and when they take the time to openly discuss their needs without resorting to insults, it behooves me to listen. Thanks to all the helpful posters in this thread. That's about all for now. I'll keep reading. Emmett Plant CEO, Xiph.org Foundation |
|
|
|
Garf Flaw in ReplayGain spec May 12 2002, 11:04
SometimesWarrior I think an album (peak) gain value would be good t... May 12 2002, 13:42
Garf QUOTE Originally posted by SometimesWarrior
I thi... May 12 2002, 13:47
Case Seems like Garf has valid points. I don't believe ... May 12 2002, 15:58
DSPguru QUOTE Originally posted by Garf
It already is in ... May 12 2002, 17:12
Garf QUOTE Originally posted by DSPguru
shouldn't thi... May 12 2002, 18:12
DSPguru unfortunate name ? come-on..
hehe..
btw, the fix... May 12 2002, 18:31
Garf QUOTE Originally posted by DSPguru
as for "human... May 12 2002, 23:22
Garf Another thing would be renaming AUDIOPHILE to DISK... May 13 2002, 11:41
2Bdecided You know my thoughts on most of this, but my opini... May 13 2002, 14:31
john33 Interesting how things run full circle!!
I propo... May 13 2002, 14:31
Garf QUOTE Originally posted by 2Bdecided
2) Source/v... May 13 2002, 15:24
Garf QUOTE Originally posted by john33
Interesting how... May 13 2002, 15:27
Garf On the pratical side, I'm considering
REPLAYGAIN... May 13 2002, 16:04
Frank Klemm QUOTE Originally posted by Garf
On the pratical s... May 13 2002, 17:36
Garf QUOTE Originally posted by Frank Klemm
4 == ssc... May 13 2002, 17:59
john33 KISS rules, I think!
john33 May 13 2002, 22:12
Garf There has been a huge discussion about this on #vo... May 15 2002, 15:33
john33 This is really rather sad!
I thought that part o... May 15 2002, 16:33
sam I think your idea's Garf are great - clear, simple... May 15 2002, 16:34
Lear Only incuding radio gain does indeed seem to be a ... May 15 2002, 18:32
Case I have even better idea. Let's store all the tags ... May 15 2002, 19:34
HotshotGG QUOTE it seems that this tag is wanted for purpose... May 15 2002, 20:56
Garf QUOTE Originally posted by HotshotGG
What exact... May 15 2002, 21:57
Garf QUOTE Originally posted by Lear
You might then j... May 15 2002, 22:04
john33 The ReplayGain values are the 'property' of a part... May 15 2002, 22:13
JohnV Also, even if there's going to be replaygain calcu... May 15 2002, 22:17
gnoshi Couple of thoughts..
I use replaygain; I use ogg;... May 16 2002, 01:14
Garf QUOTE Originally posted by gnoshi
On tags in gene... May 16 2002, 08:06
Lear QUOTE Originally posted by Garf
So, if anyone has... May 20 2002, 09:52
2Bdecided Is almost the same discussion happening in two thr... May 20 2002, 11:19
Lear QUOTE Originally posted by 2Bdecided
Is almost th... May 20 2002, 13:39
2Bdecided All other things being equal, assuming a complete ... May 20 2002, 17:50
Lear I'll try to keep this short, since we seem to agre... May 20 2002, 18:16
Garf QUOTE Originally posted by Lear
OK, I've mostly ... May 20 2002, 18:45
sam QUOTE Originally posted by Lear
But there's anoth... May 20 2002, 19:27
Lear QUOTE Originally posted by Garf
A little note: V... May 20 2002, 19:36
sam QUOTE Originally posted by Lear
Considering the a... May 20 2002, 19:42
2Bdecided sam,
that's just the point. the track isn't 89dB ... May 21 2002, 10:32
matthijsln QUOTE Originally posted by 2Bdecided
It's the cal... May 21 2002, 10:54
Case QUOTE Originally posted by matthijsln
I'm going t... May 21 2002, 11:06
2Bdecided Case,
I think you missunderstood his question. or... May 21 2002, 12:33
Case QUOTE Originally posted by 2Bdecided
I think you ... May 21 2002, 13:02
sam QUOTE Originally posted by 2Bdecided
that's just ... May 21 2002, 13:20
2Bdecided OT: That's really bizarre - we both live in Essex,... May 21 2002, 14:02
sam QUOTE Originally posted by 2Bdecided
OT: That's r... May 21 2002, 14:22
Lear QUOTE Originally posted by 2Bdecided
sam,
that's... May 21 2002, 14:30
Case QUOTE Originally posted by Lear
Really, my sugges... May 21 2002, 14:41
2Bdecided I appologise if I've sounded harsh to anyone in th... May 21 2002, 16:17
Lear And Case saw a quite good reason to keep it the wa... May 21 2002, 16:25
2Bdecided Great!
back to the issue in hand... what are the ... May 21 2002, 16:53
Garf QUOTE Originally posted by sam
Also, storing a +... May 21 2002, 18:25
Garf QUOTE Originally posted by 2Bdecided
Great!
back... May 21 2002, 18:47
Garf First, thanks for the speedy reply!
QUOTE Origina... May 21 2002, 21:03
Emmett_v2 Quoth Garf:
"I don't feel it justified to call th... May 21 2002, 22:19
john33 I have no wish to get heavily involved in this dis... May 21 2002, 23:11
HotshotGG QUOTE You don't have to tell us that - most of the... May 22 2002, 00:25
Lear QUOTE Originally posted by Garf
Lear, if updating... May 22 2002, 15:09
Garf QUOTE Originally posted by Emmettfish
Quoth Garf:... May 22 2002, 18:19
Garf QUOTE Originally posted by john33
I have no wish ... May 22 2002, 18:24
john33 To Lear - Thanks.
And, to Garf - You're welcome! May 22 2002, 18:45
lijil Although my technical audio knowlege and programmi... Jun 22 2002, 22:17
Garf QUOTE Originally posted by lijil
It is still hum... Jun 23 2002, 08:36
mijj This discussion on VorbisGain suggests there may b... Jul 22 2002, 02:16
Lear QUOTE Originally posted by mijj
This discussion o... Jul 22 2002, 11:22
Jon Ingram QUOTE Sort of. There has been discussions about ad... Jul 22 2002, 12:42
mijj < ... mijj contributes with a confidence and co... Jul 22 2002, 17:57
rjamorim QUOTE Originally posted by mijj
< ... mijj con... Jul 22 2002, 20:01
smok3 a question:
when turning on RG in mpc winamp dec... Jul 23 2002, 03:08
mijj ... and speaking of tags ...
... how come whoever... Jul 26 2002, 16:25
Case QUOTE Originally posted by smok3
when turning on ... Jul 26 2002, 19:21
greenirft I don't quite understand what the deal with th... Aug 27 2002, 16:27
SometimesWarrior I love how this thread keeps getting resurrected f... Aug 27 2002, 20:57![]() ![]() |
|
Lo-Fi Version | Time is now: 24th May 2013 - 04:28 |