This article explains how to send MIDI notes to an external sound generator, for example, a software synthesizer.
Note: Logic and GarageBand do not support MIDI Out from loaded plug-ins; however, it is possible to run Reaktor in standalone mode and use its virtual outputs in the MIDI settings to send MIDI information to these DAWs.
Reaktor does not only work as a sound generator but is also well suited for creating MIDI sequencers communicating with internal and external sound generators.
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 first transmit the Note On event and define the pitch afterward, 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, 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 mouseover 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 below (midi_out.zip).
Instead of the Note Pitch/Gate module used above, you can also use the more advanced Channel Message MIDI Out module in Reaktor. This allows you to additionally specify a MIDI channel for your MIDI notes so that you can use several sequencer tracks being sent to different sound generators. 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 below (midi_out_channel_message.zip).