bug-gnupod
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnupod] SoundCheck/ReplayGain


From: H. Langos
Subject: Re: [Bug-gnupod] SoundCheck/ReplayGain
Date: Sat, 6 Jun 2009 17:08:45 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

Hi chris,

On Sat, Jun 06, 2009 at 10:10:16AM +0200, chris.com wrote:
> This time I added the RG values (-9, -6, ...) to the mp3 files and told  
> foobar to apply non-losslessly the RG to the files and I removes all the  
> ReplayGain tags
> I loaded the files in iTunes for it to add the SoundCheck data.
> I noted the Volume correction iTunes applied for each song add came up  
> with the following table:

Wooohoow ... this is getting messy... If you let iTunes do its Volume 
correction you don't realy know what you'll get.

Just to make sure we are on the same page here... 
iTunes knows two different ways of messing with the volume of
a song and passing this information to a "normal" iPod.
One is the so called "soundcheck" value, the other is the "volume".

"soundcheck" usually contains information about how much adjustment 
the track would need to get to a reference volume (usualy 89dB but used to
be +83dB).


"volume" is the little volume slider that you have there per track, 
ranging from -100% to +100%. This is where the user usually gets to
mess around with the volume because iTunes' algorithm that computes the
soundcheck volume is pretty bad.

Does your iTunes have a slider that is in dB instead of percent ?

iTunes stores both of them in the iTunesDB and thus passes them to a
"normal" iPod. 

Up until now it was common knowledge that only the "volume" value 
gets passed to an ipod shuffle.

When you first sent me a copy of the iTunesSD that iTunes had generated I
assumed that iTunes had simply read what was on the device (basically in the
iTunesDB) and written that information again to the iTunesDB and iTunesSD.

This would have ment that iTunes had started to somehow take the soundcheck 
value and pass it along to an iPod shuffle in fields that used to be
"volume".

I that true or did you have iTunes do its voluem analysis back then too?

The data below seems like iTunes would have thought the raw material should
have been adjusted by about -5 to -6 dB.

> file  rg      Volume  iTunesSD        (decimal)
> ------------------------------------------------------
> m9    -9      +3.1    00 00 03        +3
> m6    -6      +0.2    00 00 00        +0
> m3    -3      -2.4    ff ff fe        -2
> p0    +0      -5.0    ff ff fb        -5
> p3    +3      -7.8    ff ff f8        -8
> p45   +4.5    -9.3    ff ff f7        -9
> p6    +6      -10.1   ff ff f6        -10
> p75   +7.5    -10.8   ff ff f5        -11
> p9    +9      -11.8   ff ff f5        -11
>
> where
> file: m9 for -9, m6 for -6
> rg:   the ReplayGain applied with foobar
> Volume:       Volume correction by iPod (Get Info function)

iPod? isn't that iTunes?

> iTunesSD:
>       The hexadecimal value found in the iTunes created iTunesSD file
>
> All files sound (more or less) the same
> The p75 and p9 files don't sound exactly the same because they get the  
> same volume correction applied even though they don't have the same 
> volume.

The p9 does sound louder that the p75, I guess ?

> I only recovered the hexdumps of the iTunesSD that I join
> If you want more information I'll redo the experiment
>
> So, it seems than *ipod 2nd gen shuffle* uses the integer ReplayGain  
> value with some crude rounding up algorithm. Rather crappy
> By the way, http://www.ipodlinux.org/wiki/ITunesDB#iTunesSD_file doesn't  
> speak of a SoundCheck field but of a Volume field!
> The range specified (0x00 - 0xC8) doesn't seem to correspond.
>
> What do you think?

You seem to be right about that. What makes me wonder is the fact that
so far nobody else seems to have found out that fact. 

Either nobody realy uses replaygain/volume. 

Or this is some new behaviour. 

If it is new, then in order to be compatible with 2gen shuffle (released late 
2006) 
They would have to update the iPod's firmware. I don't know if that is
possible at all.

Which iTunes version are you using? And did iTunes update the iPods firmware? 

> P.S. Do you happen to have an algorithm lying around that can convert  
> the SoundCheck value to ReplayGain? I'm not that good at maths :(

>From http://ipodlinux.org/wiki/ITunesDB (seems to be online again)
> 
> X = 1000 * 10 ^ (-.1 * Y) 
> where Y is the adjustment value in dB and X is the
> value that goes into the SoundCheck field.

If you have X and want Y you only need to transpose it.

Y = ln(X/1000) / ln(10) / -0.1

Here are some values to check if your computation is correct:

   soundcheck vs. dB
  ===================
      100   +10.000 dB
      500    +3.010 dB
      900    +0.969 dB
     1000     0.000 dB
     1200    -0.791 dB
     5000    -6.989 dB
    10000   -10.000 dB


cheers
-henrik





reply via email to

[Prev in Thread] Current Thread [Next in Thread]