MIDI
MIDI
With the MIDI section you can use external MIDI devices to trigger an instrument in Renoise or vice versa. The MIDI input and output events are listed in the large central panels, where you can also filter the listing of certain events.
MIDI can be used in the Phrase Editor to compose musical phrases that will be activated when specific notes are played. Clicking on the Phrases and Monitor buttons will switch between those two sections.
MIDI Input
You can assign individual MIDI input devices to an instrument or even several different instruments. You can also specify the MIDI channel and note range that the instrument is activated by, as well as assign it to be played on a particular track within Renoise. These options are particularly useful when performing live.
- Input Device: The MIDI input device. If the MIDI Master device is used as the input, from that point on it will only trigger the assigned instruments.
- Channel: The MIDI channel which the instrument will be activated by.
- Start/End Note: The note range which the instrument will be activated by.
- Assigned Track: The track that the instrument will be played on. Note that a single Renoise track only supports up to 12 notes triggering at once. So when linking several instruments to a single device it is possible for this limit to be exceeded, resulting in some notes going unplayed. To avoid this, assign each instrument to a dedicated track.
- Show Routing Overview: Opens a dialog box with an overview of all routings that have been made in the song. You can quickly reset them with the "Clear All" button.
MIDI Output
With a MIDI instrument you can play external synthesizer hardware or control software synthesizers running on your computer. The latter is done by using virtual MIDI devices (MIDI Yoke on Windows, the IAC BUS on Mac MacOS) and programs which receive MIDI. When running Renoise as a ReWire master, loaded ReWire slaves (e.g. synthesizers like Reason) will also show here as virtual MIDI devices.
- Output Device: The MIDI device that you would like to send MIDI to. Without setting up a device, no MIDI data can be transferred, so this is your first priority when creating a MIDI instrument.
- Transpose: Transpose note playback in semi-tonal increments.
- Latency: A custom manual latency that all events will be sent with. This is sometimes needed to get external devices properly synchronised. Please note that in order to use a negative latency, the Mode (see below) must be set to "ext. MIDI" and that the smallest possible negative latency is limited to the current latency of your soundcard. If you need further negative latency, you can make changes to this in the Audio Preferences.
- Note Length: When set to INF, Note-Off (key release) events must be explicitly sent in order to stop notes from playing. When enabled (not INF), the MIDI instrument will behave as if it has a finite duration. This can be especially useful for playing drum samples, since you no longer have to manually turn them off every time.
- Channel: The MIDI channel that will be used to trigger the MIDI device.
- Bank: When set, this is the bank number you want to apply before the instrument is loaded with songs. When disabled, no bank change information will be sent to the device. You can use the box immediately below to choose the MSB/LSB order for MIDI program changes, in case your gear is picky about the order in which these message arrive.
- Program: When set, this is the program number you want to apply before the instrument is loaded with songs. When disabled, no program change information will be sent to the device.
- Mode: Adjusts the latency depending on how you capture the audio from your external instrument (see Latency handling with External MIDI Instruments for a more in-depth explanation):
- ext. MIDI: The MIDI device is routed to an external synthesizer, which then outputs its own sound directly.
- LineIn Ret: The MIDI device is routed to an external synthesizer, but the audio signal is routed back to Renoise via a #Line Input device.
You can also access some of these options via the Instrument Properties section under the Instrument Selector.
Latency Handling with External MIDI Instruments
The syncing of external MIDI instruments can become rather complicated and so requires some explanation. There are a number of factors to take into account including the soundcard's audio output latency, the MIDI connection's MIDI latency, the automatic plugin delay compensation (PDC) and the soundcard's audio input latency (if feeding the external audio back into Renoise).
ext. MIDI Mode
If you're feeding any audio produced by external equipment directly to the speakers, set the instrument's mode to "ext. MIDI". This will delay all MIDI events sent to the instrument by Renoise's internal audio latency (which is composed of the soundcard's output latency plus any PDC). This way it will be sent to the external synth at the same time that the audio generated internally by Renoise reaches the soundcard outputs. If your MIDI interface and external synth introduce no extra delays in handling the MIDI signal, the audio produced by the synth and Renoise should now be perfectly in sync.
In reality however, it is likely that there will be a few milliseconds of MIDI latency between the time that Renoise sends out the MIDI event and the time that the synth's audio output reaches the speakers. To compensate for this extra MIDI latency you can either use the Latency value in the MIDI Output panel or the track delay setting in the Mixer for the track that the MIDI instrument is being triggered from.
LineIn Ret Mode
If you want to feed the audio from the external equipment back into Renoise for further processing, set the instrument's Mode to "LineIn Ret". Now add a #Line Input device to the same track that you're triggering the external instrument from. In the #Line Input device, set Latency to "MIDI Return Mode". You also need to make sure that PDC is enabled in the Renoise Preferences. Now MIDI events sent to the instrument will not be delayed by the audio latency (as with "ext. MIDI" mode), but instead they are sent out immediately. This is because the audio coming back from the synth into Renoise will be subject to the soundcard's input latency (which is the same as the output latency). So assuming no MIDI latency, the externally produced audio should now be in sync with the internally generated audio.
As with "ext. MIDI" mode, the MIDI connection to the external instrument is likely to introduce some delay here. This time however, you can only compensate for it by using the track delay setting in the Mixer for the track on which you are triggering the MIDI instrument. The MIDI Output Latency value does not allow negative latencies in "LineIn Ret" mode, since in this mode Renoise sends out MIDI events the instant they are encountered. The following diagram illustrates this:
For this routing scheme to work, it's important that you keep the #Line Input device on the same track that you trigger the MIDI instrument from and that PDC is enabled. Without PDC enabled, Renoise will not compensate for audio latencies.
MIDI Messages
These are the MIDI messages that a Renoise/Redux instrument can understand. Note that in Renoise, the currently selected instrument is the one receiving messages. This can be changed for each song by setting up a specific MIDI input.
Changing the volume, scale key and scale mode will adjust the Instrument Properties for sample-based instruments. If the instrument contains Plugin or MIDI components then the messages will be directed there instead, leaving the samples unaffected.
Type | Description | Value |
---|---|---|
MIDI Note | Note Message Trigger phrases or samples |
0-119 = Velocity |
Program Change | Program Change Control phrase-triggering mode, select phrase in Program Mode |
0 = Phrase Off 1-126 = Program Mode 127 = Keymap Mode |
CC#01 | Mod-Wheel ➙ Freely assignable as a Macro |
0-127 |
CC#07 | Volume Control the global volume |
0-127 |
CC#14 | Scale Key Determine the root key for the scale |
0-11 |
CC#15 | Scale Mode Apply a harmonic scale to the preset |
0 = OFF 1-35 = Scale |
CC#64 | Sustain Pedal While sustain is enabled, any playing notes will continue to play until the pedal is released |
0-63 = OFF 64-127 = ON |
CC#121 | All Controllers Off Reset pitch-bend (PB), channel-pressure (CP) and mod-wheel (MW) |
Not used |
CC#123 | All Notes Off Turns off any currently playing notes |
Not used |
Channel Pressure | Channel Pressure ➙ Freely assignable as a Macro |
0-127 |
Pitch Bend | Pitch Bend ➙ Freely assignable as a Macro |
0-127 0-16384 (14-bit) |
Mod-Wheel | See CC#01 |
CC#14 - Scale Key
Messages with a value above 11 have no effect.
CC Value | Key |
---|---|
0 | C |
1 | C# |
2 | D |
3 | D# |
4 | E |
5 | F |
6 | F# |
7 | G |
8 | G# |
9 | A |
10 | A# |
11 | B |
CC#15 - Scale Mode
Messages with a value above 35 have no effect.
CC Value | Scale | Keys in Scale |
---|---|---|
0 | No scale | 12 |
1 | Natural Major | 7 |
2 | Natural Minor | 7 |
3 | Pentatonic Major | 5 |
4 | Pentatonic Minor | 5 |
5 | Pentatonic Egyptian | 5 |
6 | Blues Major | 6 |
7 | Blues Minor | 6 |
8 | Whole Tone | 6 |
9 | Augmented | 6 |
10 | Prometheus | 6 |
11 | Tritone | 6 |
12 | Harmonic Major | 7 |
13 | Harmonic Minor | 7 |
14 | Melodic Minor | 7 |
15 | All Minor | 9 |
16 | Dorian | 7 |
17 | Phrygian | 7 |
18 | Phrygian Dominant | 7 |
19 | Lydian | 7 |
20 | Lydian Augmented | 7 |
21 | Mixolydian | 7 |
22 | Locrian | 7 |
23 | Locrian Major | 7 |
24 | Super Locrian | 7 |
25 | Neapolitan Major | 7 |
26 | Neapolitan Minor | 7 |
27 | Romanian Minor | 7 |
28 | Spanish Gypsy | 7 |
29 | Hungarian Gypsy | 7 |
30 | Enigmatic | 7 |
31 | Overtone | 7 |
32 | Diminished Half | 8 |
33 | Diminished Whole | 8 |
34 | Spanish Eight-Tone | 8 |
35 | Nine-Tone Scale | 9 |