Login | Register 
FEATURES
APPLICATIONS
DOWNLOADS
EDUCATION
BLOG
WIKI
FORUM
STORE

Lookup CHOP Limit

Report bugs so we can squash them!

Lookup CHOP Limit

Postby mouren » Wed Jun 05, 2019 12:02 am

Windows 10, Build 2019.15840.

Not entirely sure if this counts as a bug, but when I tried to output 32 pulses for a bar of 4/4 at 160 bpm using Ramp, Pulse and Lookup. The output was intermittent. I even tried providing integer indices, but no avail.

Attached an example with this post.

Thanks
Attachments
Lookup Limit.toe
(3.54 KiB) Downloaded 58 times
mouren
 
Posts: 112
Joined: Fri Oct 17, 2014 3:10 am

Re: Lookup CHOP Limit

Postby ben » Wed Jun 05, 2019 2:32 pm

I see something weird here, it opens missing every 5th pulse, but then after a few cycles it settles in and is consistent. We'll take a look, but could you upload a screenshot of your output so we know what 'intermittent' looks like for you?
User avatar
ben
Staff
 
Posts: 2557
Joined: Thu Nov 08, 2007 6:55 pm
Location: Toronto

Re: Lookup CHOP Limit

Postby mouren » Wed Jun 05, 2019 4:18 pm

Hi Ben,

Thank you for the reply. Please see attached screenshot from my TD.

As you can see, I am getting about 6 pulses out of the 32 pulses from the pulse CHOP. I outputted the measure pulse just for reference. And my computer is running at 60 fps, there weren't any dropped frames during the process.

When I tried to slow it down to 80 bpm, I am getting more pulses, but it's bit even more erratic, as you can see in my second screen shot.
Attachments
Screenshot (5).png
Screenshot (5).png (429.65 KiB) Viewed 1410 times
Screenshot (3).png
Screenshot (3).png (613.97 KiB) Viewed 1410 times
mouren
 
Posts: 112
Joined: Fri Oct 17, 2014 3:10 am

Re: Lookup CHOP Limit

Postby rob » Thu Jun 06, 2019 9:57 am

The way its setup is pretty sensitive to errors though.
You have 32 pulses in 600 samples, which doesn't divide evenly, and the beat ramp will be within a small delta each cycle, causing slightly different samples in the pulse chop to be grabbed.

I would use the Beat CHOP's native options directly, like its period parameter, if you want a higher frequency output of pulses.

Cheers,
Rob.
User avatar
rob
Staff
 
Posts: 1671
Joined: Tue Nov 13, 2007 1:14 am

Re: Lookup CHOP Limit

Postby mouren » Thu Jun 06, 2019 3:50 pm

Hi Rob,

Thank you for the reply. Your explanation def makes sense.

I just tried out generating pulses using the beat chop, however, its behavior is not very useful to me. For my use case, I will be running multiple beat chops at different rate, however, I need them all sync to a single downbeat/pulse. I achieve that by having a master beat chop that sends out a reset when it's time to sync.

As you can see in the screenshot, after every reset pulse, there is a very significant delay, almost like a hiccup in the beat chop's pulse generation. It makes the pulses uneven, and hence, not useful for my use case. Actually, the chop that's giving me the most stable output is the lfo CHOP set to pulse. It takes a little math, but so far, its behavior under reset has been far more stable than the beat chop.

Would you consider this hiccup in the beat CHOP to be a bug? I have the period set as 1/8, which works out to 32nd note pulses.

Thank you.
Attachments
Screenshot (10).png
Screenshot (10).png (515.99 KiB) Viewed 1378 times
mouren
 
Posts: 112
Joined: Fri Oct 17, 2014 3:10 am

Re: Lookup CHOP Limit

Postby owenkirby » Thu Jun 13, 2019 7:17 pm

I deal with this issue all the time. It has to do with the interaction between your session framerate and timeslice settings plus the pulse CHOP's sample-rate, channel length, pulse-width and ramp speed pretty much.

Better results can be achieved by increasing the sample-rate, pulse-width and length of the pulse-chop channels however, reliable 32nd note resolution is always going to be tough to achieve at high BPMs if you're running 60fps session. AFAIK that's just the nature of how TouchDesigner calculates things frame per frame.

In this example I get stable results by setting the pulse CHOP sample rate at 96, the length at 4999 and the pulse width at 0.67. There are other such sweet spots no doubt. It doesn't really add to the cook time of the lookup CHOP either.

AFAIK this is not a bug but like, if it could be improved that would obviously be super neat. :mrgreen:
owenkirby
 
Posts: 54
Joined: Sun Apr 05, 2015 8:29 pm

Re: Lookup CHOP Limit

Postby mouren » Fri Jun 14, 2019 3:04 pm

Hi Owen,

Thank you for the reply. So, I ended up using either LFO or Beat chop to generate the pulses. I am able to get a pretty stable 32nd note pulse with both of them. I did increase my project's fps as well. I am at 480 right now. It's pretty much the same as increasing the ppq of other sequencers. I find the timing at 60 fps a bit loose, which can be nice for music that has a looser timing. It's like a built-in swing. It definitely tightens up as you go to higher fps.

I really hope Derivative can fix the beat chop's intermittent stutter on reset. It does go away once I have run it for a few bars, so, it's not that big of an issue. Plus, I am on a machine that's 3 gens old. I think if you have a newer machine, it should run pretty decent.

Da.
mouren
 
Posts: 112
Joined: Fri Oct 17, 2014 3:10 am

Re: Lookup CHOP Limit

Postby owenkirby » Sat Jun 15, 2019 3:24 pm

Personally, I'm not a big fan of changing your main timeline's fps to accomodate for audio and sequencing. It gets you better results but It also makes things you build more difficult to incorporate into standard projects. One way you can go about it which I've only just caught on to recently is to build those networks within their own component and add their own component time.

I've found this to be particularly useful when working with python exports to parameters which modulate audio content. Those exports will update at the resolution of their local time. I haven't yet tried it with my sequencers though so maybe there's a neat solution here.

Unfortunatly timeslicing gets a bit wacky when you pass audio in and out of a component with an independent timeline.

I 100% agree with what you've noticed about the timing being loose at 60fps though. At this point I've made my peace with it but it's hard to get tight electro grooves that way haha. It is what it is! I'm wondering how much of an impact the process COMP will end up having on all these types of issues.
owenkirby
 
Posts: 54
Joined: Sun Apr 05, 2015 8:29 pm

Re: Lookup CHOP Limit

Postby mouren » Mon Jun 17, 2019 2:16 pm

I am not entirely sure the bug board is the most appropriate place for this discussion, BUT might as well do it here so other people may find it one day :D

So, my plan is to run the sequencer stuff in one instance of the TD, then communicate with other aspects via shared mem, which is the fastest way to get data across different instances. I am mostly concerned with sending out trigger pulses and maybe gates via my sequencer instant.

At the moment, I am sending sequencer events out via midi to my outboard gears. I haven't started building anything audio in TD yet. Prob gonna start soon.

I haven't tried adding additional time comps yet, not entirely sure how that would interact with the main project setting.

But I feel if I keep one instance's fps consistent, then communicating with another instance with a different fps is just a matter of resample. Of course, I don't have any firm results at the moment, in theory, it makes sense :D

As far as modulations go, they can be triggered in different instances of TD and will essentially run in a diff sample rate.

How are you dealing with modulating parameters in the parameters panel? Because they are running at 60 fps, and audio runs in 44.1k, that mismatch can cause pops in the audio.
mouren
 
Posts: 112
Joined: Fri Oct 17, 2014 3:10 am


Return to Bugs

Who is online

Users browsing this forum: No registered users and 11 guests