The playback rate of IMF files is faster than it is in-game on real hardware and in other players.
I have attached an image comparing different recordings of the end of the kickpant IMF (560 Hz playback rate) from Commander Keen 4, with each recording synced up at the start of the song (or nearly so). Note how relatively far the AdPlug/Winamp version has drifted compared to the others after just 32 seconds. I confirmed that this happens both with real-time playback and when using Nullsoft's Disk Writer plugin. K1n9_Duk3's IMF Player and Lameguy64's PLAYIMF both play the IMF in DOSBox Staging at nearly the same speed as the game/foo_input_adplug, which I believe is further evidence that AdPlug's IMF playback code is inaccurate.
I have tested other IMFs as well, such as the 280 Hz ones from Duke Nukem II, and they play faster in AdPlug/Winamp as well.
foo_input_adplug.wav
The playback rate of IMF files is faster than it is in-game on real hardware and in other players.
I have attached an image comparing different recordings of the end of the kickpant IMF (560 Hz playback rate) from Commander Keen 4, with each recording synced up at the start of the song (or nearly so). Note how relatively far the AdPlug/Winamp version has drifted compared to the others after just 32 seconds. I confirmed that this happens both with real-time playback and when using Nullsoft's Disk Writer plugin. K1n9_Duk3's IMF Player and Lameguy64's PLAYIMF both play the IMF in DOSBox Staging at nearly the same speed as the game/foo_input_adplug, which I believe is further evidence that AdPlug's IMF playback code is inaccurate.
I have tested other IMFs as well, such as the 280 Hz ones from Duke Nukem II, and they play faster in AdPlug/Winamp as well.
foo_input_adplug.wav