Reaktor Subdivisions for Event Table

ART
ART Member Posts: 10 Member
edited April 2023 in Reaktor

Hi, I'm trying to make a step sequencer which is able to play sudivided beats. It seems to work until I try to make a subdivision of 5 where events will start to double trigger the sampler output. is there any way to prevent this from happening? All other subdivisions work fine so i'm not sure what the issue is. thanks.

Tagged:

Best Answer

  • colB
    colB Member Posts: 762 Guru
    edited May 2023 Answer ✓

    I deleted all the stuff that didn't make any sense and divisions by 5 work just fine now:

    You should probably switch all those modules to mono as well, unless there is a reason to have them set to polyphonic?

    EDIT: you can also scrap the value module, just take the output of the ste filter directly to the trigger input of the sampler.

    The value module is there because my first edit was to replace the multiplexer with that value module as they perform exactly the same function... although it's redundant anyway ;)

Answers

  • LostInFoundation
    LostInFoundation Member Posts: 4,198 Expert

    Even subdivisions higher than 5 work? 6, 7, 8,…

    In this case it sounds like a bug

  • ART
    ART Member Posts: 10 Member

    Hi there, yes all the other subdivisions are working, thanks for your input it's a shame it doesn't seem to be able to be fixed.

  • colB
    colB Member Posts: 762 Guru

    Without the code, all anyone can do is guess. You need to post the ensemble, or at least a pic of the structure.

  • ART
    ART Member Posts: 10 Member

    here is a picture of the ensemble, the division at the second modulo is what controls the subdivisions.

  • colB
    colB Member Posts: 762 Guru

    Assuming that your problem is when you change the constant 4 to a 5 as the divisor of that div module feeding the modulo then...

    I would guess it has something to do with the fact that 48/5 = 9.6 which is not a whole number, and you are using that as the divisor for the modulo module. So sometimes the rounded div result jumps to the next integer after 9 steps, sometimes after 10. So with that step filter after it, you get a jittery result fluctuating between these two numbers of steps.

    Of course, that's just a guess. And if that is the problem, you would likely see issues with 7 and 9...

    ...but then, you haven't posted the ensemble, and because you don't know what the problem is, you might not have posted a pic that includes it ;)

    Information is missing from that pic that is required to understand how that code is working. There's no context, there's no parameter information

    Some weird stuff going on with the event table too, like you are trying to read and write to the same index in the same event, but it's impossible to see which will happen first because some of the wires come from the same output, the order is not clearly defined. The write index is updated to be the same as the read index, but only after the data is written...

    You can set order modules to be more than three outputs. That way you can be more explicit about order without having to chain multiple order modules...

    ---------------

    Probably a good idea would be to explain how you want it to work, and how the code is trying to achieve that goal?

    ...and why are all the inputs to the multiplex the same value?

  • ART
    ART Member Posts: 10 Member

    the step filter is there to prevent the step triggering multiple times after it comes out of the subdividor module, and every input is multiplexed to the same value because the idea was to have the counter reset to 0 every bar and only play the notes that it counted up to, which would be dictated by the modulo output of the subdivision part. here is a copy of the ensemble if you would like a look at it. 5 seems to work at first but it just seems to double trigger sometimes at random


  • colB
    colB Member Posts: 762 Guru
    edited May 2023 Answer ✓

    I deleted all the stuff that didn't make any sense and divisions by 5 work just fine now:

    You should probably switch all those modules to mono as well, unless there is a reason to have them set to polyphonic?

    EDIT: you can also scrap the value module, just take the output of the ste filter directly to the trigger input of the sampler.

    The value module is there because my first edit was to replace the multiplexer with that value module as they perform exactly the same function... although it's redundant anyway ;)

  • colB
    colB Member Posts: 762 Guru

    Here's the same thing, but with the event table set up with 8 steps so you can manually turn each step on or off using the GUI. Clunky but working.


  • ART
    ART Member Posts: 10 Member

    wow, much more efficient than what i was trying to do, thank you very much for that

  • colB
    colB Member Posts: 762 Guru

    I really don't like how jittery the timing is using fractional divisions like that. So here's a version with much smoother timing.

    Still overly simple for a finished sequencer, but you get the idea - use a square wave to generated the subdivisions, then they will all be the same length. This is not sample accurate because it depends on the Control rate settings. For sample accurate, you'd be better moving to core. But the same approach will work.

    Any questions about what the parts do, just ask.

  • ART
    ART Member Posts: 10 Member

    thanks for the insight. do you have any pointers on how i would go about that in core?

Back To Top