MIDI: Difference between revisions

From Renoise User Manual
Jump to: navigation, search
imported>Achenar
No edit summary
No edit summary
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= MIDI =
= MIDI =


With the MIDI section you can use external MIDI devices to trigger an instrument in Renoise or vice versa. The MIDI inputs and outputs events are listed in the large central panels, with the ability to filter the listing of certain events.
[[Image:3.2_tab-midi.png]]
 
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.
 
[[Image:3.4_midi.png]]


[[Image:3.0_midi.png]]


== MIDI Input ==
== 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 which 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.
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.


[[Image:3.0_midi-input.png]]
[[Image:3.0_midi-input.png]]


* '''Device:''' The MIDI input device. If the [[Preferences#MIDI|MIDI Master device]] is used as the input, from that point on it will only trigger the assigned instruments.
* '''Input Device:''' The MIDI input device. If the [[Preferences#MIDI|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.
* '''Channel:''' The MIDI channel which the instrument will be activated by.
Line 17: Line 22:
* '''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.
* '''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.
* '''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.




== External MIDI Properties ==
== 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 OSX) 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.
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.


[[Image:3.0_midi-output.png]]
[[Image:3.1_midi-output.png]]


* '''Device:''' The MIDI device which 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.
* '''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.
* '''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 increase your audio latency in the [[Preferences#Audio|Audio Preferences]].
* '''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 [[Preferences#Audio|Audio Preferences]].
* '''Note Length:''' When disabled, [[Playing_Notes_with_the_Computer_Keyboard#Note_Off|Note-Off]]s must be explicitly sent and added 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 while playing drum samples, since you no longer have to manually turn every single one off.
* '''Note Length:''' When set to INF, [[Playing_Notes_with_the_Computer_Keyboard#Note_Off|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.
* '''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. The bank number is a 14-bit value, so you have to enter combined LSB and MSB values when needed.
* '''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.
* '''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 [[Instrument Settings#Latency handling with External MIDI Instruments|Latency handling with External MIDI Instruments]] for a more in-depth explanation):
* '''Mode:''' Adjusts the latency depending on how you capture the audio from your external instrument (see [[#Latency handling with External MIDI Instruments|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.
** '''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 [[Routing_Devices#.23Line_Input|#Line Input device]].
** '''LineIn Ret''': The MIDI device is routed to an external synthesizer, but the audio signal is routed back to Renoise via a [[Routing_Devices#.23Line_Input|#Line Input device]].
Line 44: Line 49:
=== Latency Handling with External MIDI Instruments ===
=== 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).
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 [[Preferences#Automatic PDC|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 [[#MIDI Output|Latency value in the MIDI Output panel]] or the [[Mixer#Customizing the Mixer Layout|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 [[Routing_Devices#.23Line Input|#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 [[Preferences#Automatic PDC|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 [[Mixer#Customizing the Mixer Layout|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:
 
[[Image:3.2_midi-latency.png]]
 
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 [[Preferences#Automatic PDC|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 [[#MIDI_Input|setting up a specific MIDI input]].
 
Changing the volume, scale key and scale mode will adjust the [[Instruments#Instrument Properties|Instrument Properties]] for [[Sampler|sample-based instruments]]. If the instrument contains [[Plugin]] or MIDI components then the messages will be directed there instead, leaving the samples unaffected.
 
{| class="wikitable"
! style="text-align:left; padding: 5px;" | Type
! style="text-align:left; padding: 5px 5px 5px 10px;" | Description
! style="text-align:left; padding: 5px 5px 5px 10px;" | Value
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | MIDI Note
|style="padding: 2px 5px 2px 10px;" | Note Message<br />Trigger phrases or samples
|style="padding: 2px 5px 2px 10px;" | 0-119 = Velocity
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | Program Change
|style="padding: 2px 5px 2px 10px;" | Program Change<br />[[Phrase_Editor#Phrase_Controls|Control phrase-triggering mode, select phrase in Program Mode]]
|style="padding: 2px 5px 2px 10px;" | 0 = Phrase Off<br />1-126 = Program Mode<br />127 = Keymap Mode
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | CC#01
|style="padding: 2px 5px 2px 10px;" | Mod-Wheel<br />➙ Freely assignable as a [[Sampler#Macros|Macro]]
|style="padding: 2px 5px 2px 10px;" | 0-127
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | CC#07
|style="padding: 2px 5px 2px 10px;" | Volume<br />Control the global volume
|style="padding: 2px 5px 2px 10px;" | 0-127
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | [[#CC.2314_-_Scale_Key|CC#14]]
|style="padding: 2px 5px 2px 10px;" | Scale Key<br />Determine the root key for the scale
|style="padding: 2px 5px 2px 10px;" | [[#CC.2314_-_Scale_Key|0-11]]
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | [[#CC.2315_-_Scale_Mode|CC#15]]
|style="padding: 2px 5px 2px 10px;" | Scale Mode<br />Apply a harmonic scale to the preset - Scale & Key are covered in-depth [https://youtu.be/Qw0qfj7-1zY in our video]
|style="padding: 2px 5px 2px 10px;" | 0 = OFF<br />[[#CC.2315_-_Scale_Mode|1-35 = Scale]]
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | CC#64
|style="padding: 2px 5px 2px 10px;" | Sustain Pedal<br />While sustain is enabled, any playing notes will continue to play until the pedal is released
|style="padding: 2px 5px 2px 10px;" | 0-63 = OFF<br />64-127 = ON
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | CC#121
|style="padding: 2px 5px 2px 10px;" | All Controllers Off<br />Reset pitch-bend (PB), channel-pressure (CP) and mod-wheel (MW)
|style="padding: 2px 5px 2px 10px;" | Not used
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | CC#123
|style="padding: 2px 5px 2px 10px;" | All Notes Off<br />Turns off any currently playing notes
|style="padding: 2px 5px 2px 10px;" | Not used
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | Channel Pressure
|style="padding: 2px 5px 2px 10px;" | Channel Pressure<br />➙ Freely assignable as a [[Sampler#Macros|Macro]]
|style="padding: 2px 5px 2px 10px;" | 0-127
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | Pitch Bend
|style="padding: 2px 5px 2px 10px;" | Pitch Bend<br />➙ Freely assignable as a [[Sampler#Macros|Macro]]
|style="padding: 2px 5px 2px 10px;" | 0-127<br />0-16384 (14-bit)
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px  5px;" | Mod-Wheel
|style="padding: 2px 5px 2px 10px;" | See CC#01
|
|}
 
 
=== CC#14 - Scale Key ===


If you're feeding any audio produced by outboard 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.
Messages with a value above 11 have no effect. Scale & Key are covered in-depth [https://youtu.be/Qw0qfj7-1zY in our video].


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 [[#External MIDI Properties|Latency slider in the instrument settings panel]] or the [[Mixer#Customizing the Mixer Layout|track delay setting in the Mixer]] for the track which the MIDI instrument is being triggered from.
{| class="wikitable"
! style="text-align:left; padding: 5px;" | CC#
! style="text-align:left; padding: 5px;" | Key
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 0
|style="padding: 2px 5px 2px 5px;" | C
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 1
|style="padding: 2px 5px 2px 5px;" | C#
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 2
|style="padding: 2px 5px 2px 5px;" | D
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 3
|style="padding: 2px 5px 2px 5px;" | D#
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 4
|style="padding: 2px 5px 2px 5px;" | E
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 5
|style="padding: 2px 5px 2px 5px;" | F
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 6
|style="padding: 2px 5px 2px 5px;" | F#
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 7
|style="padding: 2px 5px 2px 5px;" | G
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 8
|style="padding: 2px 5px 2px 5px;" | G#
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 9
|style="padding: 2px 5px 2px 5px;" | A
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 10
|style="padding: 2px 5px 2px 5px;" | A#
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 11
|style="padding: 2px 5px 2px 5px;" | B
|}


If you want to feed the audio from the outboard equipment back into Renoise for further processing, set the instrument's Mode to "LineIn Ret". Then add a [[Routing_Devices#.23Line Input|#Line Input device]] to the same track which you're triggering the notes for the external instrument from. In the #Line Input device, set Latency to "MIDI Return Mode". You also need to make sure that [[Preferences#Automatic PDC|PDC]] is enabled in the Renoise Preferences. Now MIDI events sent to the instrument will not be delayed by the audio latency, like when using "ext. MIDI", but rather get 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.


Again, the MIDI connection to the external instrument is likely to introduce some delay. This time however, you can only compensate for it by using the [[Mixer#Customizing the Mixer Layout|track delay setting in the Mixer]] for the track on which you are triggering the MIDI instrument. The instrument Latency slider can't allow negative latencies in the "LineIn Ret" mode, since in this mode Renoise sends out MIDI events the instant they are encountered. The following diagram illustrates this.
=== CC#15 - Scale Mode ===


[[image:ext_midi_latency_diagram.png]]
Messages with a value above 35 have no effect. Scale & Key are covered in-depth [https://youtu.be/Qw0qfj7-1zY in our video].


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 for this routing scheme to work. Without PDC enabled, Renoise does not compensate for audio latencies.
{| class="wikitable"
! style="text-align:left; padding: 5px;" | CC#
! style="text-align:left; padding: 5px;" | Scale
! style="text-align:left; padding: 5px;" | Keys In Scale
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 0
|style="padding: 2px 5px 2px 5px;" | No scale
|style="padding: 2px 5px 2px 5px; text-align:center;" | 12
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 1
|style="padding: 2px 5px 2px 5px;" | Natural Major
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 2
|style="padding: 2px 5px 2px 5px;" | Natural Minor
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 3
|style="padding: 2px 5px 2px 5px;" | Pentatonic Major
|style="padding: 2px 5px 2px 5px; text-align:center;" | 5
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 4
|style="padding: 2px 5px 2px 5px;" | Pentatonic Minor
|style="padding: 2px 5px 2px 5px; text-align:center;" | 5
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 5
|style="padding: 2px 5px 2px 5px;" | Pentatonic Egyptian
|style="padding: 2px 5px 2px 5px; text-align:center;" | 5
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 6
|style="padding: 2px 5px 2px 5px;" | Blues Major
|style="padding: 2px 5px 2px 5px; text-align:center;" | 6
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 7
|style="padding: 2px 5px 2px 5px;" | Blues Minor
|style="padding: 2px 5px 2px 5px; text-align:center;" | 6
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 8
|style="padding: 2px 5px 2px 5px;" | Whole Tone
|style="padding: 2px 5px 2px 5px; text-align:center;" | 6
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 9
|style="padding: 2px 5px 2px 5px;" | Augmented
|style="padding: 2px 5px 2px 5px; text-align:center;" | 6
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 10
|style="padding: 2px 5px 2px 5px;" | Prometheus
|style="padding: 2px 5px 2px 5px; text-align:center;" | 6
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 11
|style="padding: 2px 5px 2px 5px;" | Tritone
|style="padding: 2px 5px 2px 5px; text-align:center;" | 6
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 12
|style="padding: 2px 5px 2px 5px;" | Harmonic Major
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 13
|style="padding: 2px 5px 2px 5px;" | Harmonic Minor
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 14
|style="padding: 2px 5px 2px 5px;" | Melodic Minor
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 15
|style="padding: 2px 5px 2px 5px;" | All Minor
|style="padding: 2px 5px 2px 5px; text-align:center;" | 9
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 16
|style="padding: 2px 5px 2px 5px;" | Dorian
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 17
|style="padding: 2px 5px 2px 5px;" | Phrygian
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 18
|style="padding: 2px 5px 2px 5px;" | Phrygian Dominant
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 19
|style="padding: 2px 5px 2px 5px;" | Lydian
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 20
|style="padding: 2px 5px 2px 5px;" | Lydian Augmented
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 21
|style="padding: 2px 5px 2px 5px;" | Mixolydian
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 22
|style="padding: 2px 5px 2px 5px;" | Locrian
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 23
|style="padding: 2px 5px 2px 5px;" | Locrian Major
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 24
|style="padding: 2px 5px 2px 5px;" | Super Locrian
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 25
|style="padding: 2px 5px 2px 5px;" | Neapolitan Major
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 26
|style="padding: 2px 5px 2px 5px;" | Neapolitan Minor
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 27
|style="padding: 2px 5px 2px 5px;" | Romanian Minor
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 28
|style="padding: 2px 5px 2px 5px;" | Spanish Gypsy
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 29
|style="padding: 2px 5px 2px 5px;" | Hungarian Gypsy
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 30
|style="padding: 2px 5px 2px 5px;" | Enigmatic
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 31
|style="padding: 2px 5px 2px 5px;" | Overtone
|style="padding: 2px 5px 2px 5px; text-align:center;" | 7
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 32
|style="padding: 2px 5px 2px 5px;" | Diminished Half
|style="padding: 2px 5px 2px 5px; text-align:center;" | 8
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 33
|style="padding: 2px 5px 2px 5px;" | Diminished Whole
|style="padding: 2px 5px 2px 5px; text-align:center;" | 8
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 34
|style="padding: 2px 5px 2px 5px;" | Spanish Eight-Tone
|style="padding: 2px 5px 2px 5px; text-align:center;" | 8
|-style="vertical-align:top;"
|style="padding: 2px 5px 2px 5px;" | 35
|style="padding: 2px 5px 2px 5px;" | Nine-Tone Scale
|style="padding: 2px 5px 2px 5px; text-align:center;" | 9
|}

Latest revision as of 20:51, 11 July 2023

MIDI

3.2 tab-midi.png

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.

3.4 midi.png


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.

3.0 midi-input.png

  • 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.

3.1 midi-output.png

  • 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:

3.2 midi-latency.png

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 - Scale & Key are covered in-depth in our video
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. Scale & Key are covered in-depth in our video.

CC# 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. Scale & Key are covered in-depth in our video.

CC# 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