mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.43k stars 1.27k forks source link

Preferred BPM #13047

Open rodrigonsh opened 6 months ago

rodrigonsh commented 6 months ago

Feature Description

Some songs come too fast or too slow depending on the DJ's preference, it would be cool to have a 'preferred bpm' so when i sort by bpm it puts the song in the correct preferred bpm

Kudos to every developer out there making this awesome app

aqw42 commented 5 months ago

Do you mean setting a max / min BPM in bpm analizer configuration ? example : Between 150 and 200 for jungle, so the track comes out at 170 instead of 85 ?

rodrigonsh commented 5 months ago

No, Lets suppose I have this song with 135BPM (Everglow - Bon Bon Chocolat) but I think it sounds better at 117.

Mixxx detects 135 but I could "fix" the BPM at 117 and it would show up in my playlist as 117 so when I sort by bpm this 135BPM song would appear next to 116 and 118 BPM songs .... maybe with a little lock icon next to the bpm.

This would be useful because I usually have to open the song in Audacity, change the tempo and save the file as another FLAC named like artist-title(fixedBPM).flac

ronso0 commented 5 months ago

This sounds interesting, I understand that use case.

Re implementation: Currently, a BPM search uses the track's BPM value / the value of the 'bpm' column in the database. To also search for 'preferred BPM' , we'd need a new database column 'preferredBpm' and the Track object would need to have a new 'preferredBpm' property. Then the search engine could check these two values.

Assuming this is possible, wouldn't it be confusing if you search bpm:117, load one of the found tracks (without double-checking the actual BPM) and play it right away, and then notice it's actually 135?

rodrigonsh commented 5 months ago

WOW I never new about this search feature very nice

I guess the idea of a new column makes sense, in sql it would be something like this

CASE 
    WHEN preferred_bpm IS NOT NULL THEN preferred_bpm
    ELSE bpm
END AS bpm

It would be confusing if the DJ is using somebody elses's playlist 😅