Fx automation and sample sequencing inside of Traktor (not simple but possible)
…
Fx automation and sample sequencing inside of Traktor (not simple but possible)
…
Damn… Not bad for a random thought haha.
Not the type of ideas I get by walking around, but great! ![]()
I now have a .tsi of a virtual two-stroke engine that spins two 8bit gears and has perpetual motion via output feedback with an on/off knob.
I’m going to post the .tsi in a sec.
…
Keep walking man, this is interesting. Next step you map beat phase monitor to M3? So beat toggles modifier and reset the 0-7 sequence.
Yup, if you want it to cycle in time with a beat just bring a beat phase monitor back to trigger M3.
the auto repeat is quite handy in traktor. just added in those controls and i have M2 auto incrementing when M3=0 and both M1 and M2 auto incrementing when M3=1. that’s what u meant it to do?
ofc what we really need is to be able to feed an OUT back into a modifier which i posted in reply to one of your other posts i think. if you’re going to use a midi loopback then you’re only one step away from just using an external scripting language - which makes anything like this trivial ofc.
pretty fun map tho - i needed a break from my mundane work ![]()
…
true - it could be quite useful, but my point is that if you’re going to bother to setup virtual midi ports anyway and use an app to route them together then u may as well just use a full scripting language to do all of this and a whole heap more besides. i’m not saying it isn’t very cool tho - because it is ![]()
ofc u can’t build an external scripting language into the tsi - that’s a given - but u can do sooooo much more stuff with an external app like bomes or midimasher.
for most people using any kind of virtual midi ports is one step too far anyway - i can understand that.
i don’t have any logic at all in my tsi’s - just everything mapped that i need to manipulate from midimasher and then config code in midimasher that maps onto the midi assigned in that tsi.
ofc if traktor just added the option to alter modifier states from internal actions (i.e: the out’s) then u would be able to use your method to do this without any need for virtual midi ports or routing. maybe they’ll add that option sometime anyway? would be very useful
you should try vdj pro if u want to have all this kind of logic within the dj app itself. vdjscript is pretty powerful… it shames traktor in comparison. must admit i do quite like traktor tho
Thanks for the input ![]()
still no way of doing a decent beatslicer afaik as u need to stack certain beatjumps together. i.e: u can dump +/- 1 or 2 or 4 but not 3.
if u want something to fire X times a beat surely the easiest thing to do is just feed the beatphase monitor back into a modifier (using virtual midi port again for feedback) without using the extra logic? tho u could ofc use an extra modifier to latch into the first to count the actual beats, so it can count up to 8 sets of 8 beats. no need for auto-repeat then.
…
sure - but if there’s no beat, ie: no track playing what’s the point? i’d be impressed if u can come up with a solution to the beatjumps issue tho - that one is a total pain in the ass…
edit: i may well be missing something ofc - it happens a lot
i do like what u said about using it as an LFO to control an effect - pretty cool…
btw i liked your idea for changing the colour of led’s under a turnable to show which deck it’s controlling from your post the other day
i always assumed u could switch between timecode on/off for transport but don’t own tsp so don’t have those options mappable ofc.
…
be pretty cool to be able to sequence some remix deck stuff using ideas like this. ofc u probably can’t as the b*astards at NI have seen in their ultimate wisdom to make them not midi mappable
tho i guess we don’t know for sure until we actually get hold of 2.5
[quote]
Also, are you saying you can’t beatjump in odd increments? I really think a beatslicer should be easy with multiple gears.[/QUOTE]
yup - and it sucks… my own midimasher slicer works pretty apart from the beatjumps that need multiple messages. u also can’t send “jump to active cue” and “beatjump +1” at the same time, there needs to be some delay in betwee them else traktor decides for u that u didn’t really mean to do that ![]()
same goes for stacking the controls just within traktor, i.e: you’d need to somehow first send the jump to active cue and some time later send the beatjump.
this behaviour of traktor choosing from what u have mapped to what it “thinks is best” and needing to add delays in is the reason there’s no really solid slicer yet in traktor. mine works pretty well but not as good as in itch i’m sure. sometimes it won’t jump to where u expected. it won’t get out of sync since it everything is relative to the active cue point, but still a pain.
i have a lua table that maps from the beatjump needed and what messages need to be sent out like this:
[“jump3”] = { “beatjump_+2_”, “beatjump_+1_” }
then i have to send the jump to active cue, followed by this logic that steadily increases the delay for each subsequent message:
for i,j in ipairs(traktor.beatjumps["jump"..jump]) do
send("traktor", j .. deck, ON, 0, delay)
delay = delay + 1
send("traktor", j .. deck, OFF, 0, delay)
delay = delay + 2
end
the delay is in ms. i’m using midi clock to sync it but ofc u could use the beatphase. i’ve just found that midi clock seems a lot more stable. sometimes the beatphase seems to jump a bit.
sometime after i coded my first slicer implementation there was a blog article named “string theory for dj’s” which used midipipe to add in the delays. same kind of idea as what i’m doing. i stole their idea of always jumping to the active cue followed by beatjump(s) tho as before i was just trying to jump relatively to the current location (+/-) but i couldn’t ever be 100% sure what the current location was ![]()
I was aware of this flaw in Traktor, so what I’m talking about is being able to build your kind of slicer inside a .tsi for a controler and package it with it’s own midi driver(virtual cable) and be able to SHIP a controller with a plug-n-play beatslicer.
u still have the exact same timing/stacked issues tho whether doing all the work within traktor or using an external script. there was a big thread about trying to work out this kind of behaviour in traktor quite a while ago and there’s almost no differences between sending in multiple midi messages at the same time (the “same time” as far as traktor is converned anyway) or stacking the beatjumps and other stuff just within your tsi.
it is possible there’s some kind of workarounds that can be done within the tsi to make it work - but we couldn’t find any before. maybe if u used your latched modifiers to fire one beat jump just after the previous beat jump? the magic number seems to be about 2ms tho no matter how u do it for the delay.
i’d be very interested if u come up with any cunning solutions tho ![]()
I’m going to work on it tonight… Maybe have a .tsi by dawn, thanks for the help ![]()
cool - i’ll be interested in anything u come up with ![]()