View Single Post
Old 23 January 2010, 06:38 am   #1
Join Date: Jan 2010
Posts: 1
Default MPC replaygain data; how to covert peak from int16 to float?

Hi all,

I'm seeking some help with replaygain and musepack files...

MPC stores the peak level as a 16 bit integer representing the loudness. How do I convert this value to a 32 bit float? e.g. A peak value of 23225 (read from the .mpc file) shows as a peak of 1.048776 in foobar; what's the calculation to go from one to the other?

I've read the specs, but it might as well be in another language!

Replay gain finds that this title has a loudness of 78.56 dB. It will be encoded as 78.56 * 256 ~ 20111 = 0x4E8

For float output (range [-1 1]), the max is 0.96. It will be encoded as 20 * log10(0.96 * 215) * 256 ~ 23029 = 0x59F5 (for peak values it is suggested to round to nearest higher integer)
Edit: Thanks to r2d for answering this over at the Hydrogen Audio forums: 682791

Last edited by DrTwox; 24 January 2010 at 01:48 am.
DrTwox is offline   Reply With Quote