Thanks for the test files Alex. I'm sort of stuck here. The max/min value checking at 32 bits is working and the files I've encoded with the musepack encoder in MC (the latest code from musepack.org) work perfectly in 32 bit mode. Your test files sound like crap in 32 bit but ok in 16. Since mine exceed the max/min values ocassionally too, I'm not seeing where the problem is. I'm probably going to remove the 32 bit output option for now.
Mine was encoded with MC too (I used
--quality 8 --ms 15 in the custom dialog). Could the quite high bitrate have something to do with this? The original audio sample itself is not compressed, clipped or otherwise unusual.
As far as I know all lossy encoders can produce peek values over 100% if you mean that.
Here is an example of an Ogg Vorbis file (fb2k display):
bitrate = 101
channels = 2
samplerate = 44100
bitrate_nominal = 88
codec = Vorbis
vorbis_vendor = Xiph.Org libVorbis I 20050304
replaygain_track_gain = -6.32 dB
replaygain_track_peak = 1.204611
----------
431298 samples @ 44100Hz
File size: 127 521 bytes
Here is my test sample:
bitrate = 276
samplerate = 44100
channels = 2
mpc_profile = 'BrainDead'
mpc_encoder = --Alpha-- 1.15
mpc_streamversion = 7
mpc_accurate_length = yes
codec = Musepack
replaygain_track_gain = -2.02 dB
replaygain_track_peak = 0.848067
----------
1323000 samples @ 44100Hz
File size: 1 035 383 bytes
Track peak 1 = 100%
Sometime ago I was curious why this happens and asked that here:
http://www.hydrogenaudio.org/forums/index.php?showtopic=38830The answers I got from Gabriel and SebastianG explained a bit. This thing may have something to do with the behavior we are experiencing now. I wonder how the fb2k developers avoided this problem. Apparently it can handle a decoded 32-bit stream fine.
I think at one stage your plug-in had no problems with 32-bit audio quality (after you fixed the first quality problem), but I am not sure anymore. I would have to retest that plug-in version.
I wonder if I should ask opinions about the samples at HA forums. Someone might know what would typically cause errors like this. Or could you try the Tech forum at musepack.net ? You could provide a link to my test samples.
It's a pity if you can't find a solution to this problem. I already planned a test procedure that might have made the 16-bit and 32-bit difference audible (... or then not, but at least that would have been very interesting). I would have used a selected audio sample, various heavy DSP effects and Disk Writer output. Then I would have ABX tested the output files.