Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Filter 50% of BPM
adamPRO SubscriberMember since 2022
Simply put, If I'm playing a track that's 160bpm, I want to see tracks that are 80bpm.

Filter "Bpm Difference <= 10"
works as expected, with a difference of 10bpm.
Filter "Bpm Difference <= 10%"
doesn't work as expected, as I only just discovered . When trying to do so with "Bpm Difference >= 50%" it ignores the percentage symbol and just does a subtraction (ie, 160bpm track shows 110bpm tracks, not 80bpm tracks.

I also tried:
1. Filter "Bpm Difference <= (get_bpm * 0.5)" but this bought up a syntax error.
2. Filter "Bpm Difference <= "param_multiply 0.5 get_bpm"" no syntax error but no luck either.
3. Substituting the above combinations with "Pitch Difference" but I couldn't work out what it was doing. I thought I may perhaps be mistaking it for Key, but doesn't seem related to that.

Any ideas? Would love some help! Ultimately I want a filter for roughly 50% of the bpm (maybe give or take 5%), roughly Double the bpm. If bpm sync can detect half/double I'm sure getting a filter to detect this could also.

This would also help in cases where bpm detection isn't quite perfect, and chooses 80bpm when it should be 160 or visa versa. All relevant tracks would show up regardless.
 

geposted Fri 22 Sep 23 @ 10:40 am
 

geposted Fri 22 Sep 23 @ 10:44 am
adamPRO SubscriberMember since 2022
Woooahh you guys are so cool. Thank you SO much. I'll be back to share my formulae once I've worked it out.
 

geposted Fri 22 Sep 23 @ 11:00 am
locoDogPRO InfinityModeratorMember since 2013
Also filters can now evaluate script when wrapped in ` `

BPM <= `get_bpm & param_multiply 0.52`
I know you'll get it but for anybody else reading this filter will return any song under 0.52 * the masterdeck bpm

if source is 100bpm return anything under 52 bpm
just in case you want strictly 0.5 * and not 1* or 2*

and they work like any other filter so you can string lots together.
 

geposted Fri 22 Sep 23 @ 11:04 am
All you need is a single filter that will show you 1) all songs that are within a bpm difference of say 4, 2) all the songs with half that bpm range and 3) all the songs that are double that bpm range. For example, if you are currently playing a song that is 70bpm, this filter will show you all songs 66-74bpm as well as all songs 136-144bpm. It works in the other direction as well: If you are currently playing a song that is 140bpm, the filter shows all songs that are 136-144bpm and 66-74bpm. Create a filter, go into that filter's filter editor, check Advanced, make sure you adjust your scope to either Parent Folder or Database(this searches for all songs in the entire database instead of songs within a parent folder if the filter is inside of it), and paste the following inside the large text area:

(Bpm Difference <= 4 or (BPM >= `deck master get_bpm & param_multiply 0.5 & param_add -4` and BPM <= `deck master get_bpm & param_multiply 0.5 & param_add 4`) or (BPM >= `deck master get_bpm & param_multiply 2 & param_add -4` and BPM <= `deck master get_bpm & param_multiply 2 & param_add 4`)) and Already Played = 0

Moderator's note: Whilst your method is valid, the pitch difference filter linked above is easier.
 

geposted Mon 17 Jun 24 @ 11:05 pm