Musepack Forums  

Go Back   Musepack Forums > Main > Tech

Thread Tools Search this Thread Display Modes
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

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT. The time now is 07:20 am.

Powered by vBulletin® Version 3.8.11 Beta 2
Copyright ©2000 - 2021, vBulletin Solutions Inc.