MP3 originally did not support 48kHz. 44.1kHz was the standard. Well at least that is what we thought. Nowadays however a fair amount of mp3s are being encoded at 48kHz. That was a problem for BpmDj because its decoder would decode the 48kHz but do so at 44.1kHz. Thereby the song would be played at 91% of its original speed. This was certainly noticeable. Similarly, if the MP3 was encoded at 22050 Hz, BpmDj would play the track twice as fast.
Recently we modified BpmDj to support any samplerate correctly (up to 96kHz). The transition from the old incorrect information to the new is not as trivial as one might expect. We did however our best to make this process as seamless as possible. Essentially: to not butcher your old mixes, BpmDj will treat the songs that were using an incorrect samplerate still as if they really had that incorrect samplerate. Secondly, the database will still show the old incorrect tempo, unless you reanalyze the mp3's. And even after you reanalyze the tracks, the old incorrect segments will still play at their incorrect speed, unless you add them newly to a mix.
Reanalyze one MP3 - This is the 'see something, say something' approach. When you see an MP3 that cannot be played properly, right click (or CTRL-click) on it in the song list. From the drop down menu, select Reanalyze. That will upgrade the old entry to the new.
Upgrade all MP3's - this requires you to start BpmDj from the command line with
--mp3-upgrade dir. In that case all files under that directory will be checked and those that have a samplerate that was not understood correctly will be queued for analysis.