MIDI: Difference between revisions

From Renoise User Manual
Jump to: navigation, search
imported>Achenar
(Replaced content with "= MIDI =")
imported>Achenar
No edit summary
Line 1: Line 1:
= MIDI =
= MIDI =
== MIDI Input ==
By default, the MIDI Input section is closed. To open it, press the button at the top of the panel at the far left. Here you can assign a MIDI input device to an instrument or even several different instruments. You can also specify the MIDI channel 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.
[[Image:2.7_instrument_settings_midi_panel_fold.png]] ---> [[Image:2.7_instrument_settings_midi_panel_extended.png]]
The default Master device only triggers the instrument that is currently selected in the instrument list.
Pressing the '''''"Show All"''''' button will open 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.
[[Image:2.7_instrument_settings_midi_input_routing.png]]
'''Note:''' 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.
== External MIDI Properties ==
Using 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.
[[Image:2.7_instrument_settings_midi_out_general.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.
* '''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]].
* '''Note Length:''' When enabled (not INF), the MIDI instrument will behave as if it has a finite duration, like unlooped samples have. When disabled, [[Playing_Notes_with_the_Computer_Keyboard#Note_Off|Note OFF]]s must be explicitly sent and added in order to stop playing Note ONs. This can be especially useful while playing drum samples, since you no longer have to manually turn every single one off.
* '''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.
* '''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):
** '''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]].
=== Latency handling with External MIDI Instruments ===
The syncing of external MIDI instruments is unfortunately not entirely straight-forward, so warrants 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).
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 as 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 by 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 when Renoise sends out the MIDI event and the time when the synth's audio output reaches the speakers. To compensate for this extra MIDI latency, you can either use the [[Instrument Settings#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 from which the MIDI instrument is being triggered.
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 sound 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 as Renoise sends out MIDI events immediately as soon as they are encountered in this mode. The following diagram illustrates this.
[[image:ext_midi_latency_diagram.png]]
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.

Revision as of 11:04, 4 April 2014

MIDI

MIDI Input

By default, the MIDI Input section is closed. To open it, press the button at the top of the panel at the far left. Here you can assign a MIDI input device to an instrument or even several different instruments. You can also specify the MIDI channel 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.

File:2.7 instrument settings midi panel fold.png ---> File:2.7 instrument settings midi panel extended.png

The default Master device only triggers the instrument that is currently selected in the instrument list.

Pressing the "Show All" button will open 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.

File:2.7 instrument settings midi input routing.png

Note: 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.


External MIDI Properties

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

File:2.7 instrument settings midi out general.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.
  • 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 Audio Preferences.
  • Note Length: When enabled (not INF), the MIDI instrument will behave as if it has a finite duration, like unlooped samples have. When disabled, Note OFFs must be explicitly sent and added in order to stop playing Note ONs. This can be especially useful while playing drum samples, since you no longer have to manually turn every single one off.
  • 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.
  • 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.

Latency handling with External MIDI Instruments

The syncing of external MIDI instruments is unfortunately not entirely straight-forward, so warrants 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).

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 as 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 by 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 when Renoise sends out the MIDI event and the time when the synth's audio output reaches the speakers. To compensate for this extra MIDI latency, you can either use the Latency slider in the instrument settings panel or the track delay setting in the Mixer for the track from which the MIDI instrument is being triggered.

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 #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 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 sound 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 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 as Renoise sends out MIDI events immediately as soon as they are encountered in this mode. The following diagram illustrates this.

Ext midi latency diagram.png

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.