[ID3 Dev] RVAD -> RVA2

Mitchell S. Honnert mitch at honnert.com
Thu Jan 18 13:07:24 PST 2007


For what it's worth...
When I implemented the RVAD frame for my ID3 library, I found the iTunes 
implemented it, so I used its implementation as a guide.  (In spite of 
iTunes' mangling of ID3v4.)  The iTunes UI has a "Volume Adjustment" slider 
which goes from -100% to +100% with tic marks at every 20%.  A -20% in 
iTunes results in the Right Volume and the Left Volume fields being 
"Decrement 12850".  -40% was "Decrement 26471".  At the time, I scratched my 
head a bit, wondering why the frame would need these large values, but I 
didn't really delve into it too far.

 - Mitchell S. Honnert

----- Original Message ----- 
From: "Jud White" <jwhite at cdtag.com>
To: <id3v2 at id3.org>
Sent: Thursday, January 18, 2007 2:29 PM
Subject: Re: [ID3 Dev] RVAD -> RVA2


Turned up some information, but still need the gaps filled in.  Please help, 
anybody :)

 From the ID3v2.3 spec on RVAD:
The 'bits used for volume description' field is normally $10 (16 bits) for 
MPEG 2 layer I, II and III and MPEG 2.5.

One interpretation is the adjustment data is directly related to the way 
16-bit audio is stored (let's assume we're talking about 16-bit for 
simplicity).  I personally don't see any other possibilities for 
interpretation on this, although I'd be fine with asking any major 
implementor what they did.  Nice to see Winamp fixed their Compliance 
issues, maybe they could shed some light on RVAD (if they use it).

What I turned up (probably most of you know this already) is that each bit 
in digital audio is capable of representing roughly 6 dB (specifically, 
20*log10(2) dB).  Therefore, 16-bit audio is capable of representing 96 dB. 
Initially I was confused - how can 1 bit represent 6dB, and even if it does 
how does it increase linearally instead of exponentially?  Quantization, or 
in other words, the curve isn't a curve it's a lot of little steps.  As you 
increase bits not only does the max dB you can represent go up but the steps 
get smaller.  Ok, I'm sure most of you know this, I'm writing to help myself 
understand. :)  If someone wants to flesh out this description please do.

Here's a good article: http://www.tc.umn.edu/~erick205/Papers/paper.html

My take:  RVAD/RVA adjustment is likely implemented the same way as n-bit 
audio.  If it is, then dB = value/(2^n - 1) * (6 * n).  e.g., in 16-bit 
audio: dB = value/65535 * 96.

Jud





--------------------------------------------------------------------------------


> ---------------------------------------------------------------------
> To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
> For additional commands, e-mail: id3v2-help at id3.org 


---------------------------------------------------------------------
To unsubscribe, e-mail: id3v2-unsubscribe at id3.org
For additional commands, e-mail: id3v2-help at id3.org



More information about the ID3v2 mailing list