IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Apply RelayGain when encoding (Nero AAC)
smiler
post Jul 21 2008, 09:00
Post #1





Group: Members
Posts: 43
Joined: 12-July 06
From: Southampton, UK
Member No.: 32831



A question for the Nero Digital AAC developers, and a survey of interest from users.

Could an option be added to neroAacEnc to pass it a ReplayGain value, so that when the track is encoded, ReplayGain is 'applied' in a similar way to aacGain (i.e. 'losslessly')?

In this way, a ripped track could be scanned for its ReplayGain value, and that value passed to the encoder so that it's applied in one step. Also, Nero obviously know a lot about the AAC spec, and I've been concerned about problems I've read about aacGain. Also, the original amplitude ought to be recorded in a tag, in case the user wanted to reverse the operation (possibly by aacGain?).

Would anyone else appreciate an option like this? Obviously only one type of ReplayGain can be applied, and which one would determined by the user at invocation (though presumably a script or front-end would be used).
Go to the top of the page
+Quote Post
menno
post Jul 22 2008, 16:02
Post #2


Nero MPEG4 developer


Group: Developer (Donating)
Posts: 1218
Joined: 11-October 01
From: LA
Member No.: 267



I understand why you want this, changing the global gain value in the aac data is more "portable" than having some tag with replaygain data, it will work on any decoder. However it would mean huge changes in the encoder for a relatively infrequently used feature (I guess). Simply changing the global gain could render scalefactors out of bounds, psychoacoustic data will not match the encoded data anymore, this will all be decremental to the quality of the file we output. These are the same issues with AacGain that will not disappear when doing what you suggest.

The gain value would have to be known before starting encoding (you need it in every frame) so you will have to do some preprocessing step anyway. What I suggest is to apply the replaygain value to the uncompressed audio data (I think something like WaveGain can do this) and remember/record the scalefactor that was used somehow. You're already using lossy compression so rescaling after decoding if you want the original loudness back or changing the global gain value again, doesn't make much difference.
Go to the top of the page
+Quote Post
slks
post Jul 23 2008, 02:01
Post #3





Group: Members
Posts: 389
Joined: 31-March 06
From: Houston, Texas
Member No.: 29046



Or if you are really concerned, you could save the scaled PCM as 24-bit, which will reduce quantization error. Nero AAC can take up 32-bit files as input, I think.


--------------------
http://www.last.fm/user/sls/
Go to the top of the page
+Quote Post
smiler
post Jul 23 2008, 07:53
Post #4





Group: Members
Posts: 43
Joined: 12-July 06
From: Southampton, UK
Member No.: 32831



QUOTE (menno @ Jul 22 2008, 16:02) *
Simply changing the global gain could render scalefactors out of bounds, psychoacoustic data will not match the encoded data anymore, this will all be decremental to the quality of the file we output. These are the same issues with AacGain that will not disappear when doing what you suggest.

I wasn't aware of this before. I thought AacGain's issues were more trivial (problems with changing the parameters in the file) rather than the effect on the psychoacoustics. In retrospect though, it seems pretty obvious.

QUOTE (slks @ Jul 23 2008, 02:01) *
Or if you are really concerned, you could save the scaled PCM as 24-bit, which will reduce quantization error. Nero AAC can take up 32-bit files as input, I think.

Thanks for the suggestion. I think I'll try an ABX between 16-bit and 24-bit processing and consider if I really want to do this before reencoding my whole library (eek!).

Thanks for the information guys. It's great to be able to hear from the Nero devs too!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 31st July 2014 - 16:15