快速登录:  

Forum: VirtualDJ Technical Support

话题: Question - bpm or pitch for a song at load

由于该帖子已年深日久,可能包含陈旧过时或描述错误的信息。

Please am asking a question and if there is something like that then you teach me.
My question is

Can you set a bpm or pitch rate for a song so that anytime it is load it automatically pick from there.
Maybe the bpm is 105 and anytime i want to play, i want it to be 108 how can i do to make it 108 anytime i load without pitching it.

That's my question. Thanks
 

发表时间 Sat 24 Oct 20 @ 10:30 pm
NicotuxHome userMember since 2014
Edit bpm (edit track with bpm editor) and set 108
 

发表时间 Sat 24 Oct 20 @ 10:32 pm
If the bmp is correct, and you just want to automatically play it in a different tempo (pitch), you can use the POI Editor and set an action at start where the action is the pitch you want to apply

https://www.virtualdj.com/manuals/virtualdj/editors/poieditor.html

(that way the bpm value is kept intact. Editing the bpm is perhaps not a good idea, unless its wrong. If its wrong use the bpm editor, or just tap the beat during playback. )
 

发表时间 Sat 24 Oct 20 @ 10:37 pm
Nicotux wrote :
Edit bpm

That won't change the BPM of the track. That will just make the beat grid incorrect.

Maybe add a POI to the start of the track?
 

发表时间 Sat 24 Oct 20 @ 10:38 pm
Ok thanks
 

发表时间 Sat 24 Oct 20 @ 10:39 pm
You could also just play the track at 108 and use the record option to make a new faster version.
 

发表时间 Sat 24 Oct 20 @ 10:42 pm
An Action POI at the start of the track would work, but only, if he will start from beginning. If in some situations it will not be executed, a.e. when he will not play from beginning.

It would be better to add a script to the keyboard mapping "ONSONGLOAD":


get_loaded_song user1 & param_contains ".-10." ? pitch 90% :
get_loaded_song user1 & param_contains ".-8." ? pitch 92% :
get_loaded_song user1 & param_contains ".-6." ? pitch 94% :
get_loaded_song user1 & param_contains ".-4." ? pitch 96% :
get_loaded_song user1 & param_contains ".-2." ? pitch 98% :
get_loaded_song user1 & param_contains ".0." ? pitch 100% :
get_loaded_song user1 & param_contains ".2." ? pitch 102% :
get_loaded_song user1 & param_contains ".4." ? pitch 104% :
get_loaded_song user1 & param_contains ".6." ? pitch 106% :
get_loaded_song user1 & param_contains ".8." ? pitch 108% :
get_loaded_song user1 & param_contains ".10." ? pitch 110% : nothing


Then he just need to write a number into the user1 tag of the song.
As example:
.2. (to let pitch to 102%)
.-4. (to slow down to 96%)
(The points are separators and for detection of valid values. Its much more easy for the computer to see a difference between 1 and 10 or between 2 and -2).

It would be more modern with an self scripted C++ plugin. Then the code on the ONSONGLOAD command would be quite short and the range would be bigger.

 

发表时间 Sat 24 Oct 20 @ 11:17 pm
NicotuxHome userMember since 2014
yes i was out ^^ tag/bpm would only make it wrong

no need of C++, mapping "ONSONGLOAD" to:

get_loaded_song user1 & param_cast val & pitch

will work as far as 'field 1' is used only for pitch

or to prevent some issues:

param_contains 'pitch' 'get_loaded_song user1' ? get_loaded_song user1 & param_cast val & pitch :

with user 1 the pitch as float number followed by anything with pitch in it
 

发表时间 Sun 25 Oct 20 @ 12:36 am
Am asking that, I have a track when I pitch it +5 I'd okay to me do am asking that there is way that I can save that so that anytime i load it, it's pitch itself +5 without touching/checking the pitch at all like we save cues?
 

发表时间 Sun 25 Oct 20 @ 10:43 am
Answer.

This is the answer.

Yes, we know what you're asking - and we've already given you several answers.

Those are the answers.
 

发表时间 Sun 25 Oct 20 @ 10:47 am
Please can i get some screenshot of the process
 

发表时间 Sun 25 Oct 20 @ 10:56 am
OK, ive made some tests:
get_loaded_song user1 & param_cast val & pitch

It works, but, if user1 is empty, the slider is always going to the top position - 25% in case the pitch range is 25%.

param_contains 'pitch' 'get_loaded_song user1' ? get_loaded_song user1 & param_cast val & pitch : 

Does not work for me.

But this one works:
get_loaded_song 'user1' & param_contains 'pitch'? get_loaded_song user1 & param_cast val & pitch


So the final status of the project is (as 2 screenshots):

and

Where 0.75 means, the slider is at 75%, so, if your pitch range is set to 25%, then the slider will got to +12.5% in this case.
0 = top position, as example -25%
0.5 = middle position +/- 0%
1 = bottom position +25%
So if you want set to 108%, then the user1 value should be at 0.66
 

发表时间 Sun 25 Oct 20 @ 12:26 pm
NicotuxHome userMember since 2014
strange must work everywhere but the other way
get_loaded_song user1 & param_contains 'pitch' ? get_loaded_song user1 & param_cast val & pitch :
is much more understandable
 

发表时间 Sun 25 Oct 20 @ 3:13 pm
Ok but mine the TAG Editor, the User1 is written Field1. Is it because of the language 'English' ? Or I should change the User1 in the action or what?
 

发表时间 Sun 25 Oct 20 @ 4:05 pm
NicotuxHome userMember since 2014
they are strictly equivalent
 

发表时间 Sun 25 Oct 20 @ 4:14 pm
Still not getting it but my question was so simple.
Asking that do we have a default pitch range for a song not deck.
Maybe we have but the shown, is not working so it makes me more confuse
 

发表时间 Sun 25 Oct 20 @ 4:48 pm


(陈旧帖子或论坛版块会自动关闭)