MIDI: Difference between revisions

From Renoise User Manual
Jump to: navigation, search
imported>Achenar
No edit summary
imported>Achenar
No edit summary
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.
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.


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


== MIDI Input ==
== MIDI Input ==
Line 11: Line 12:
[[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 20: Line 21:




== 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 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.
Line 26: Line 27:
[[Image:3.0_midi-output.png]]
[[Image:3.0_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 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.
* '''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 increase your audio latency 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]]s (key release) 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 every single one off.


* '''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.
Line 48: Line 49:
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.
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.


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.
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 value in the MIDI Output 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.


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.
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.
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 MIDI Output Latency value 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.


[[image:ext_midi_latency_diagram.png]]
[[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.
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 21:11, 22 April 2014

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.

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

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

3.0 midi-output.png

  • Output 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 set to INF, Note-Offs (key release) 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 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.

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

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.

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 which the MIDI instrument is being triggered from.

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 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 track delay setting in the Mixer for the track on which you are triggering the MIDI instrument. The MIDI Output Latency value 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.

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.