Note: This article is suited for experienced Reaktor users in order to create sequencer ensembles with MIDI out functionality. Not many hosts support a MIDI out function from a plug-in, though. Hosts which have this capability are e.g. Cubase and Kore 2.
REAKTOR does not only work as sound generator but is also well suited for creating MIDI sequencers communicating with internal and external sound generators. This article explains how to send MIDI notes to an external sound generator, for example a software synthesizer within Cubase.
You need to transmit the following note information in the correct order:
- Pitch event
- Note on event (Velocity)
- Note off event (= 0)
It is important to keep this order. If you, for example, first transmit the Note on event and define the pitch afterwards, it is too late for the pitch to be recognized. The pitch will then be applied to the next note.
Here is a short tutorial in which a monophonic MIDI note is produced by a button. Imagine that this note comes from a step sequencer in REAKTOR.
- At first the note is going into an Order module. This module makes sure that events occur one after another.
- Since the pitch value has to be defined first, the output 1 from the Order module is produced first and creates the pitch value, in this case 60 for middle C.
- According to the event processing engine in REAKTOR, the pitch event branch will be processed to its end before the second output of the Order module is fed by the note event.
- The Note on event gets its velocity from the second value module - in this example the velocity is set to the value 0.8. The velocity will be scaled up to standard MIDI Velocity values between 0 and 127 at the G input of the Note Pitch/Gate module (see mouse over hint for the G input of this module).
- Finally the Hold module defines the Note off time. After the Hold module is triggered at the Trig input, an event with the value 0 is sent after 100 ms. This event finishes the note. If the Note off event (Velocity = 0) was missing, you would produce notes of an endless length.
Note: You can download this ensemble from the Attachments section below (midi_out.zip).
Instead of the Note Pitch/Gate module used above you can also use the more advanced Channel Message module in REAKTOR 5. This allows to additionally specify a MIDI channel for your MIDI notes so that you can use several sequencer tracks being sent to different sound generators, e.g. when you use KORE 2. For our purpose, the inputs of this module have the following functions:
- ST input: Provides note on and note off gate messages (1 for note on and 0 for note off).
- CH input: Defines the MIDI channel you want the note to be sent on.
- Nr input: Defines the pitch of the note.
- Val input: Defines the velocity of the note.
Note: You can download this ensemble from the Attachments section below (midi_out_channel_message.zip).