Loading MP3 files causes sharp 16khz low pass cut

(Example image, top is original MP3 and bottom is Wavwriter, output at 96khz to remove resampling artifacts. Note that occasionally it lets through the blocked frequencies, but at reduced quality, almost like it’s been reencoded, and some audio files don’t even get that.)

Code used

Please don’t criticize my code too hard, I’ve not programmed in C before, but i needed a quick way to test this :grin:

#include "inc/fmod.h"
#include <stdbool.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int main() {
    
    FMOD_SYSTEM  *system;
    FMOD_SOUND   *sound;
    FMOD_CHANNEL *channel = 0;
    FMOD_RESULT   result;
    
    FMOD_ADVANCEDSETTINGS settings;
    memset(&settings, 0, sizeof(settings));
    settings.cbSize = sizeof(settings);

    settings.resamplerMethod = FMOD_DSP_RESAMPLER_SPLINE;
    

    result = FMOD_System_Create(&system, 0x20231);
    printf("%d\n",result);
    

    FMOD_SPEAKERMODE  speakermode;
    int               numrawspeakers;
    FMOD_System_GetSoftwareFormat(system, (int *)0, &speakermode, &numrawspeakers);
    FMOD_System_SetSoftwareFormat(system, 48000*2, speakermode, numrawspeakers);

    FMOD_System_SetOutput(system, FMOD_OUTPUTTYPE_WAVWRITER);

    FMOD_System_SetAdvancedSettings(system, &settings);
    

    result = FMOD_System_Init(system, 2, 0, 0);
    printf("%d\n",result);
    

    result = FMOD_System_CreateSound(system, "Deadlocked.mp3", FMOD_DEFAULT, 0, &sound);
    printf("%d\n",result);
    
    result = FMOD_System_PlaySound(system, sound, 0, false, &channel);
    printf("%d\n",result);

    sleep(1000);
    
    return 0;
}

I have tested 44.1, 48, and 96khz outputs, and fmod versions 2.03.13 2.02.34, 2.01.23
For platforms, I have tested Linux, Windows (albeit through wine), and also the Wavwriter output (which seems to cause doubled resampling artifacts, different problem)
Previous topics mentioning MP3 quality loss say the solution was setting resample mode to Cubic or Spline, unfortunately this only cleans up resampling artifacts, 16khz+ is still missing

Ogg, Opus, WAV, and FLAC all do not have this problem.

Hope i’m not missing or forgetting anything, thanks in advance!