Here’s a quick structure and mini tutorial that demonstrates how to send a random note from Reaktor on triggered input – you can use OSC or MIDI to map a control to the trigger button here:
…and the RandomNote will then send a note to the ReceiveNote instrument – or, in the properties, you can set up RandomNote to send the note to a different instrument, or a different plugin, or even a hardware synth. Use the Connect tab of the RandomNote instrument properties to select a destination.
The center pitch and rand. range knobs control the range of notes that can be selected randomly. The velocity knob sets the volume of the triggered note. This is not a finished instrument, but a demonstration of a technique. A recipe ingredient, if you will.
Here’s what it looks like inside:
The Trigger button triggers a core cell that outputs a random value between -1 and 1. This is multiplied by the Rand Range knob to produce a value, in this case between -12 and 12. A quantize module turns this into an integer, a whole number, which will correspond to a MIDI note. This value is then added (or subtracted if it’s negative) to the value from the Center Pitch knob. An Order module sends the note value first to the P(itch) input port on a Note module, and then to the Trig(ger) input on a Value module that holds the Velocity, or volume, of the triggered note. The Note module only sends when it receives a value at its G(ate) port, and it sends a note with whatever pitch was at its P input at the time.
Download the ensemble here and start hacking away at it. Replace the Rand. Range and Center Pitch controls with a scaled LFO, and the Trigger button with a clock, for example. Another recipe ingredient that might come in handy here is my Roux basic sequencer macro.
You’ll quickly notice, in sending this control signal to a synth, that it’s missing a note-off. We’ll add that next time!