I'm using LAME 3.96, I built it myself with MSVC.
I'm not sure exactly how to phrase this question. I don't think it's a bug but I'm hoping someone can explain to me exactly what is happening to make such a huge difference in quality.
background:
I am using oddcast and lame_enc.dll to transcode mostly 192kbps mp3's into a stream I can listen too at my office. I've been experimenting with a lot of different methods to get the clearest sound quality at the lowest bitrate for playback on crappy speakers. I've modified lame_enc.dll to force a low pass filter at 13k.
lame_set_lowpassfreq(gfp, 13000);
I chose 13k simply because it still sounds good on these speakers. So after experimenting with the low pass at a high bitrate I then began to lower the bitrate until I got to the point where the distortion was too much to handle. I got all the way down to 112 and everything still sounded good, then I tried 96K and mercy! The high end was completly swishy, the distortion level was incredibly bad compared to 112.
My question is why is the difference so great? I expected the sound to get progressively worse, not jump from good to terrible. Is this my ears fooling me, or is there some technical explanation for the difference? Could I have introduced or exposed a bug by forcing a lowpass filter?
Thanks!