120 BPM Tracks in EngineDJ Despite Correctly Identified Sample Rate

Lexicon version: Current Beta
Operating system (remove one): Windows

Bug description:

I imported a bunch of mp3 tracks into lexicon from an engineDJ USB, then exported them all to another, fresh/empty USB. I ended up with the classic 120 bpm issue.

The track I was testing with is Delta Heavy - E-N-D (Original Mix).mp3

Let me pre-empt the inevitable question about sample rate in the source engineDJ file:

Is the sample rate correct in the track that was imported? Yes. 44.1khz is reported in the mp3 via mediaInfo Sampling rate : 44.1 kHz as well as the source engineDJ table. For EngineDJ I referenced Engine Library Format · mixxxdj/mixxx Wiki · GitHub and used a bit of python to decode the sample rate against m.db:

from PySide6.QtCore import QByteArray, qUncompress
import struct

SELECT * from Track WHERE filename like '%E-N-D%';

SELECT beatData from PerformanceData where trackId = 3090;


>>> input = bytes.fromhex('00000082789C7378DAD1C0C0C0C0E098F04207C460648000269DEF26878A16BF3DF0E73F04F830412440C2E91F121C3DA07C3440BA3E00EA5527E6')
>>> data = qUncompress(QByteArray(input))
>>> uncompressed_data = bytes(data)
>>>
>>> struct.unpack('>d', uncompressed_data[0:8])
(44100.0,)

As you can see the sample rate is correct in the source engineDJ. I haven’t looked at the output USB yet.

Step by step to reproduce:

Import a bunch of mp3s and export them from/to engineDJ on USBs. Lots will suddenly have 120 bpm in engineDJ. Even affects totally fresh USBs

Screenshot:

I’ll add later

Can you send me a few files that have this issue? You can upload with this link: http://upload.lexicondj.com

I sent the one file I was looking at in the example above, package ID 01KN3NTED6GPCNSDM42VRPGR3K. However I’m not sure if this is an issue similar to the Soundcloud track export that happens occasionally vs something consistent - I haven’t been using lexicon recently and I just tried it and found this track had an issue immediately. Hopefully its something that can consistently/easily repro

I sent the m.db as well, package ID 01KN3P30M9RRKH5V64DXGQ0CZQ - hopefully you can just import to lexicon a playlist with the single track, export to a fresh USB then see the issue in engineDJ desktop or the outputted m.db with the python script I used above. I gotta run but I’ll supply additional samples and investigation in a couple weeks

I added your track to Lexicon and synced it to Engine desktop:

In Lexicon:

I tried your m.db file on my Prime as well but no luck… I can’t find any reason why it would do that

Thanks for looking. I’m traveling at the moment but when I get back I’ll do some additional testing. It seemed to be a random subset of tracks that had this issue, I didn’t see any particular pattern in terms of which tracks were broken. I haven’t tried repeatedly importing or repeatedly exporting to see if its the same set of tracks every time. One thing to note is that the issue only happens when you try to load the track after exporting to a USB. The metadata has the right bpm initially but then when you load the track, suddenly bpm changes to 120.

btw the m.db I supplied was the one I imported, not the export from lexicon