Routing events based on note number
I though that the solution might be to assemble a little Event Core Cell to route Note Pitches between 20 and 75 to a certain set of modules, but am at a loss as to how to combine them.
The Logic AND doesn't accept the outputs of the Compare modules and neither does the Bitwise AND.
Seems like this should be a simple thing to do.
UPDATE:
The answer below separates the opening of the gates, but at least the way the instrument is configured at the moment, the closing of the gates is being controlled by the ADSR, so that if the LOW module has a long release and the MID module has no release, the notes in the MID module, followed by a LOW note, will maintain the residual release time from the LOW module.
This is the Instrument (Alt Splitter not in use):
Here's one of the Modules:
I noticed that the A input on the Par Sync Oscillator is what sustains the ADSR and am thinking that I either need:
some logic between the Volume ADSR and the Osc
something other than a simple Add module following the three Oscilators
2 Comments
Sorted by latest first Latest Oldest Best
You can set an instrument to receive only notes within a certain range, so if you divide the modules into different instruments, you can make each react to a different (possibly overlapping) key range. This is set in the instrument properties, or dynamically using the NoteRange module.
If you don't connect anything to the output of the NoteRange module, you have to set it to "always active" in the properties for it to have any effect.
(The NotePitch module also has a lower and upper limit in its properties, but this doesn't stop incoming notes, it just limits their note value to the range you set, so this isn't useful for this purpose.)
To split incoming MIDI Note and Gate events into key ranges within one instrument, using comparison and logic, you could use something like this:
You could additionally multiply the Pitch by the output value of the And module, but that doesn't really make much sense. A note value of zero isn't actually a neutral value, it's just a really low note. Whether or not a group of modules output a signal should really be controlled by the Gate signal.
A different method, using event separators and signal path modules, could be something like this:
It relies on the Note Pitch event always arriving before the Gate event, which is true in Reaktor 4 but should be checked if you're using another version.
It looks like the problem where it sounded like the Oscillators with the short releases were retaining the releases was an illusion.
What was actually occurring is that the pitches of the Oscillators with the long releases were being modified by the new incoming pitches.
The pitch as well as the gate need to be routed through the Splitter, otherwise held-over notes receive pitches from other keyboard zones.
This is the splitter I came up with (based on Your Uncle Bob's direction):
This is the instrument:
I may refactor so that rather than having constants for the breakpoints (72 and 50 in this case) there are user controls.
Ideally the user controls will also include visual feedback and perhaps affect one another so that the High breakpoint cannot be lower than the Low breakpoint.
Terms of Use Privacy policy Contact About Cancellation policy © freshhoot.com2025 All Rights reserved.