MPC replaygain data; how to covert peak from dB to float? |
MPC replaygain data; how to covert peak from dB to float? |
Jan 23 2010, 07:07
Post
#1
|
|
|
Group: Members Posts: 6 Joined: 3-October 09 Member No.: 73689 |
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! http://trac.musepack.net/trac/wiki/SV8Spec...eplaygainPacket QUOTE 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) This post has been edited by DrTwox: Jan 23 2010, 07:34 |
|
|
|
![]() |
Jan 23 2010, 22:43
Post
#2
|
|
|
Musepack Developer Group: Developer Posts: 14 Joined: 12-December 06 Member No.: 38630 |
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? 20 * log10(1.048776 * 2^15) * 256 = 23225 10^(23225/(20*256)) / 2^15 = 1,04877633098761506451 with ^ the power operator, so 2^15 = 32768 |
|
|
|
Jan 24 2010, 02:34
Post
#3
|
|
|
Group: Members Posts: 6 Joined: 3-October 09 Member No.: 73689 |
Awesome! Thank you for the help.
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 26th May 2013 - 03:07 |