快速登录:  

Forum: General Discussion

话题: How to progressively increase BPM and Pioneer DJ SB3
doug9474ControlleristMember since 2019
I am new to using a controller and I have a question. I have a Pioneer DJ SB3

Say I want to play songs 100, 103, 106 BPM. I want to slowly increase the speed as I play the songs. I am using the sync buttons to beat match. Two questions:

1. I noticed that in some cases moving the tempo slider doesn't actually change the tempo. It does show a line on the tempo slider visual on the screen in Virtual DJ that moves up and down. So, the software recognizes the tempo slider movement, it just stays at the same tempo. Why is that?

2. How do DJs usually handle this situation? I mean practically, step by step.
 

发表时间 Wed 06 Oct 21 @ 1:28 pm
locodogPRO InfinityModeratorMember since 2013
1 is slider ghost, meaning SW is different to hardware and hardware won't takeover again until HW meets SW position.

2 can't speak for everybody but there is the action
pitch_reset
or you could use a repeat_start script to move pitch.
 

发表时间 Wed 06 Oct 21 @ 1:43 pm
doug9474ControlleristMember since 2019
1. Yes, "ghost" that sounds right.
2. Ok, so, program a key or a pad on the controller to do one of those. I'll try that.
 

发表时间 Wed 06 Oct 21 @ 2:21 pm
doug9474ControlleristMember since 2019
 

发表时间 Wed 06 Oct 21 @ 3:05 pm
locodogPRO InfinityModeratorMember since 2013
Try page 2
 

发表时间 Wed 06 Oct 21 @ 5:55 pm
doug9474ControlleristMember since 2019
locodog wrote :
Try page 2


lol ok thanks, didn't even notice the page 2 button
 

发表时间 Mon 11 Oct 21 @ 7:04 pm
doug9474ControlleristMember since 2019
I'm experimenting with different commands. This one seems to allow me to sync two tracks while doing a pitch reset so that I can do a pitch reset even across a transition:

deck 2 pitch_reset 0.20% & deck 1 repeat_start 'pitchresetandsync' 50ms 300 & sync

Not perfect but that's when I'm transitioning from deck 1 to deck 2
 

发表时间 Mon 11 Oct 21 @ 10:59 pm
locodogPRO InfinityModeratorMember since 2013
in the mix use
pitch_lock
example button on off

repeat_start_instant 'rsiPitInc' ? on & repeat_stop 'rsiPitInc' & pitch_lock off : pitch_lock on & repeat_start_instant 'rsiPitInc' 50ms -1 & pitch +0.1%

rsi running ? yes, turn rsi off, turn pitch lock off : no, pitch lock on, start rsi to increase pitch
 

发表时间 Mon 11 Oct 21 @ 11:28 pm
doug9474ControlleristMember since 2019
locodog wrote :
in the mix use
pitch_lock
example button on off

repeat_start_instant 'rsiPitInc' ? on & repeat_stop 'rsiPitInc' & pitch_lock off : pitch_lock on & repeat_start_instant 'rsiPitInc' 50ms -1 & pitch +0.1%

rsi running ? yes, turn rsi off, turn pitch lock off : no, pitch lock on, start rsi to increase pitch


Ok, good idea, thanks. What does the "on" (underlined above) by itself do here?
 

发表时间 Tue 12 Oct 21 @ 12:43 am
locodogPRO InfinityModeratorMember since 2013
just for light logic, if it's a button with a led it means it will light, if it doesn't need it it doesn't matter.
 

发表时间 Tue 12 Oct 21 @ 1:56 am
doug9474ControlleristMember since 2019
locodog wrote :
just for light logic, if it's a button with a led it means it will light, if it doesn't need it it doesn't matter.


Ok nice. Thanks.
 

发表时间 Tue 12 Oct 21 @ 10:07 am
doug9474ControlleristMember since 2019
Either I don't understand nested conditionals or I'm doing something else wrong. Would be nice if it stopped when it got to the BPM of the song. I tried to do that below. It looks like there is no greater than or equal to action/command, so I may have to add another nested conditional.


repeat_start_instant 'rsiPitInc' ?

repeat_stop 'rsiPitInc' & pitch_lock off

: pitch_lock on & repeat_start_instant 'rsiPitInc' 50ms -1 & pitch +0.1%
& set $rsi_bpm `get_bpm` & set $rsi_bpm_abs `get_bpm absolute` & var_greater "$rsi_bpm" "$rsi_bpm_abs" ? set $greater 'yes' & repeat_stop 'rsiPitInc' & pitch_lock off & var_list : set $greater 'no' & var_list



 

发表时间 Tue 12 Oct 21 @ 11:45 am
locodogPRO InfinityModeratorMember since 2013
repeat_start_instant 'rsiPitInc' ? repeat_stop 'rsiPitInc' & pitch_lock off : pitch_lock on & repeat_start_instant 'rsiPitInc' 50ms -1 & pitch +0.1% & set $rsi_bpm `get_bpm` & set $rsi_bpm_abs `get_bpm absolute` & var_greater "$rsi_bpm" "$rsi_bpm_abs" ? set $greater 1 & repeat_stop 'rsiPitInc' & pitch_lock off : set $greater 0

Appears to be working here,
Note I changed $greater to be represented by 1 or 0
If you want to set a var with a string use
set $greater `get_text "string"`

the way you were doing
set $greater "True"
is setting the var $greater to the value of the var true [which didn't exists so was == zero ]
 

发表时间 Tue 12 Oct 21 @ 2:22 pm
doug9474ControlleristMember since 2019
That works thanks.
 

发表时间 Tue 12 Oct 21 @ 2:57 pm
doug9474ControlleristMember since 2019
Ended up using this:

pad representing up button:

repeat_start_instant 'rsiPitInc' ? repeat_stop 'rsiPitInc' & pitch_lock off : pitch_lock on & repeat_start_instant 'rsiPitInc' 50ms -1 & pitch +0.04% & set $rsi_bpm `get_bpm` & set $rsi_bpm_abs `get_bpm absolute` & var_greater "$rsi_bpm" "$rsi_bpm_abs" ? repeat_stop 'rsiPitInc' & pitch_lock off

pad representing down button:

repeat_start_instant 'rsiPitInc' ? repeat_stop 'rsiPitInc' & pitch_lock off : pitch_lock on & repeat_start_instant 'rsiPitInc' 50ms -1 & pitch -0.04% & set $rsi_bpm `get_bpm` & set $rsi_bpm_abs `get_bpm absolute` & var_greater "$rsi_bpm_abs" "$rsi_bpm" ? repeat_stop 'rsiPitInc' & pitch_lock off
 

发表时间 Wed 13 Oct 21 @ 4:54 am
locodogPRO InfinityModeratorMember since 2013
good progress,
your initial post said "raise" pitch so I gave you script to raise pitch in any case. [and it works fine now]
But you're stopping when quartz locked so pitch_reset would be a single button solution for you

repeat_start_instant 'rsiPitInc' ? repeat_stop 'rsiPitInc' & pitch_lock off : pitch_lock on & pitch_reset & repeat_start_instant 'rsiPitInc' 50ms -1 & pitch_reset ? nothing : repeat_stop 'rsiPitInc' & pitch_lock off

starts pitch_reset, queries pitch reset running ? yes, carry on, do nothing : no, end the rsi, turn off pitch lock
 

发表时间 Wed 13 Oct 21 @ 5:26 am
doug9474ControlleristMember since 2019
ok. Didn't know you could do that.

I'm thinking that:
1. pitch_reset as a condition doesn't do a pitch reset, it just tests to see if it is on or off
2. somehow when the button is pressed a second time, this script turns off pitch_reset.

Is that correct? Or does it work another way?
 

发表时间 Wed 13 Oct 21 @ 2:02 pm
locodogPRO InfinityModeratorMember since 2013
Apologies 2 I forgot to add the turn off pitch reset bit on second press.
1 yep when queried like that it isn't acted on.

repeat_start_instant 'rsiPitInc' ? repeat_stop 'rsiPitInc' & pitch_lock off & pitch_reset : pitch_lock on & pitch_reset & repeat_start_instant 'rsiPitInc' 50ms -1 & pitch_reset ? nothing : repeat_stop 'rsiPitInc' & pitch_lock off

no need to quote entire messages when the quote comes from message above.
 

发表时间 Wed 13 Oct 21 @ 2:42 pm