ReWire: Difference between revisions

From Renoise User Manual
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
= ReWire =
= ReWire =


ReWire (Windows and Mac OS X only) allows you to connect and synchronise multiple software applications, so that you can run them side by side while passing Audio/MIDI information between them. ReWire is available on Windows/Mac only, but on Linux, [[Jack Transport]] can be used to do similar things.
ReWire is only available for Windows and Mac, but Linux users have [[Jack Transport]] as an alternative for achieving similar results. It allows you to connect and synchronise multiple software applications, meaning that they will run side by side while passing Audio/MIDI information between them. For example, you could connect Renoise to Logic, programming your drums in Renoise while arranging the bulk of your song in Logic. Or you could connect both Reason and Ableton Live to Renoise, then arrange your track in Renoise, control Reason's built-in synthesizers and play around with clips in Live.


For example, you could connect Renoise to Logic and program your drums in Renoise while arranging the bulk of your song in Logic. Or you could connect both Reason and Ableton Live to Renoise, then arrange your track in Renoise, control Reason's built-in synthesizers and play around with clips in Live.
ReWire has two modes, both of which are fully supported by Renoise, allowing it to be used with any other application that supports ReWire:
 
ReWire has two modes, both of which are fully supported by Renoise:


* '''ReWire Master:''' Commonly known as a Mixer application, the master controls other ReWire slaves. A ReWire master has exclusive control of the soundcard, while slaves must route audio through the master application. There can be multiple slaves, but only one master.
* '''ReWire Master:''' Commonly known as a Mixer application, the master controls other ReWire slaves. A ReWire master has exclusive control of the soundcard, while slaves must route audio through the master application. There can be multiple slaves, but only one master.
* '''ReWire Slave:''' Also known as a ReWire Synth application. Slaves are controlled by a ReWire master and feed their audio back into it. They receive MIDI from the master, but can also send MIDI to the master and ask it to reposition itself.
* '''ReWire Slave:''' Also known as a ReWire Synth application. Slaves are controlled by a ReWire master and feed their audio back into it. They receive MIDI from the master, but can also send MIDI to the master and ask it to reposition itself.
Because Renoise can be either Master or Slave, you can use it with any application that supports ReWire.




Line 19: Line 15:
'''Closing:''' Close the ReWire slave application(s) first, then close the master.
'''Closing:''' Close the ReWire slave application(s) first, then close the master.


'''Important:''' When working on songs, you must save them separately in both applications. You must also load them up individually when continuing a session. ReWire only handles Audio and MIDI routing and so will not automatically exchange/restore songs or patches.
'''Important:''' When working on songs, you must save them separately in both applications. You must also load them up individually when continuing a session. ReWire only handles audio and MIDI routing, so it's important to remember that songs and patches will not be automatically exchanged or restored.


The basic workflow is:
The basic workflow is:


# Start ReWire master (and load a pre-saved session).
# Start the ReWire master then restore a previously saved session.
# Start ReWire slave (and load a pre-saved session).
# Start the ReWire slave(s) then restore a previously saved session(s).
# Work on the song.
# Work on the song.
# Save the session and close ReWire slave.
# Save the session and close the ReWire slave(s).
# Save the session and close ReWire master.
# Save the session and close ReWire master.


Line 32: Line 28:
== Using Renoise as ReWire Master ==
== Using Renoise as ReWire Master ==


First, make sure that no other ReWire master application is open. Start Renoise, automatically making it the master, then in the [[Effect Chains|Track Effects]] tab select a [[Routing_Devices#.23ReWire_Input|#ReWire Input device]] and add it anywhere in the song ([[Pattern_Editor#Send_Tracks|Send Tracks]] are the ideal place to use this meta device).
First, make sure that no other ReWire master application is open. Now start Renoise, which automatically makes it the master, then go to the [[Effect Chains|Track Effects]] panel and insert a [[Routing_Devices#.23ReWire_Input_.28Renoise_Only.29|#ReWire Input device]] anywhere in the song ([[Pattern_Editor#Send_Tracks|Send Tracks]] are the ideal place to use this device).


[[Image:3.0_rewire.png]]
[[Image:3.0_rewire.png]]
Line 38: Line 34:
=== Routing Audio To Renoise ===
=== Routing Audio To Renoise ===


Use the ''"Device"'' option to select a slave from the list. In most cases the slave will automatically launch. If not, then launch the application manually.
Use the ''"Device"'' option to select a slave from the list. In most cases the slave will automatically launch. If this has not happened then just launch the application manually.


[[Image:3.0_rewire-selectslave.png]]
[[Image:3.0_rewire-selectslave.png]]


The audio signal from the slave will be routed into Renoise via the [[Routing_Devices#.23ReWire_Input|#ReWire Input device]]. Both applications are now bound together and everything is automatically configured for you. If you hit play in Renoise, the slave will start playing too. If you navigate around in the song, the slave will follow. If you change the playback in the slave, Renoise will follow.
The audio signal from the slave will be routed into Renoise via the [[Routing_Devices#.23ReWire_Input_.28Renoise_Only.29|#ReWire Input device]]. Both applications are now bound together and everything is automatically configured for you. If you hit play in Renoise then this will trigger the slave to start playing too. Navigating around the song using Renoise will likewise cause the slave to follow. If you change the playback from within the slave then Renoise will follow.


If you want to capture another audio bus from the same slave, simply add another [[Routing_Devices#.23ReWire_Input|#ReWire Input device]] and select the same slave but choose a different bus. This will allow you to stream multiple buses from the same application.
If you want to capture another audio bus from an existing slave, simply add another [[Routing_Devices#.23ReWire_Input_.28Renoise_Only.29|#ReWire Input device]] then select the same slave but choose a different bus.


=== Trigger MIDI from Renoise ===
=== Trigger MIDI from Renoise ===


If a slave has MIDI inputs, you will find them listed as regular devices in the [[MIDI|MIDI Output]] section. This way you could, for example, use Reason synths from within Renoise.
If a slave has MIDI inputs then you will find them listed as regular devices in the [[MIDI#MIDI Output|MIDI Output]] section, where you could, for example, use Reason synths from within Renoise.


=== Automating ReWired synths like Reason ===
=== Automating ReWired Synths Like Reason ===


As soon as you've created a ReWire MIDI instrument you can use the [[Meta_Devices#.2AInstrument_MIDI_Control|*Instr. MIDI Control]] device in Renoise to automate it. If the synth supports this, the mapped parameters will be shown there so you know which CC number automates which parameter.
As soon as you've created a ReWire MIDI instrument you can use the [[Meta_Devices#.2AInstrument_MIDI_Control|*Instr. MIDI Control]] device in Renoise to automate it. Certain synths will provide you with parameters that have already been mapped, displaying the CC numbers that will automate those parameters.


[[Image:3.0_rewire-automate.png]]
[[Image:3.0_rewire-automate.png]]


== Using Renoise as ReWire Slave ==
== Using Renoise as ReWire Slave ==


First, start the music application that will be designated as the master. After the master application has launched, start Renoise. Renoise will ask you if it should run as slave. Click ''"Yes"''.
Launch the application that will be designated as the master, then start Renoise, which will ask if it should run as a slave - click ''"Yes"''.


[[Image:3.0_rewire-slavedialog.png]]
[[Image:3.0_rewire-slavedialog.png]]


In many cases you will then have to explicitly tell the master to use Renoise as a slave. In most multi-track sequencers this is done by selecting Renoise as ''"Audio Input"''. Please refer to the master's documentation for more details. Once you have routed Renoise into the master mixer, you are ready to go and the audio signal from Renoise will be routed into the host. Starting, stopping, and navigating through the song will be synchronized in both apps.
In certain cases the master will need to be explicitly told to use Renoise as a slave. In most multi-track sequencers this is done by selecting Renoise as an ''"Audio Input"'', otherwise please refer to the master application's documentation for more details. Once you have routed Renoise into the master mixer, you are ready to go and the audio signal from Renoise will be routed into the host. Starting, stopping, and navigating through the song will be synchronized in both apps.


Some hosts allow you to start Renoise from within the host when you insert Renoise as a Rewire audio/midi device (depending on the host its options, again refer to the hosst its manual). In that case you won't be asked whether Renoise should start as a ReWire slave, it simply does so.
Some hosts allow you to start Renoise from within the host when you insert Renoise as a Rewire audio/MIDI device (depending on the host - again refer to its manual). In this case you won't be asked whether Renoise should start as a ReWire slave, since it happens automatically.


If for some reason you want to start Renoise in a forced slave mode without requiring to confirm slave-mode, you can use the command parameter "-ForceRunningAsSlave". A ReWire master however has to be active and perhaps in specific cases be prepared to accept Renoise as a slave host, prior to starting Renoise with this parameter. If no Rewire master is active (or detected!) during the startup, Renoise ignores the parameter and starts up (by default) in master-mode.
You may have a scenario where you'd want to start Renoise in a forced slave mode without requiring it to confirm. To achieve this you can attach the following command to the Renoise executable "-ForceRunningAsSlave" (if Renoise is currently running you will have to restart for this to take effect). If no Rewire master is active/detected during startup, Renoise will just ignore the "-ForceRunningAsSlave" command and launch in master mode.


Note: To send MIDI data to a Renoise slave you will have to use virtual loopback MIDI cables.
Note: To send MIDI data to a Renoise slave you will have to use virtual loopback MIDI cables.


=== Setting up Transport Sync Mode in Renoise ===
=== Setting Up Transport Sync Mode in Renoise ===


When running Renoise as a ReWire slave, you have two choices regarding how Renoise should sync to the master. This can be set up in the [[Preferences#Audio|Audio Preferences]], but only after Renoise is already running as a ReWire slave:
When running Renoise as a ReWire slave, you have two choices regarding how Renoise should sync to the master. This can be set up in the [[Preferences#Audio|Audio Preferences]], but only after Renoise is already running as a ReWire slave:
Line 76: Line 73:
[[Image:3.0_rewire-slaveprefs.png]]
[[Image:3.0_rewire-slaveprefs.png]]


* '''Full Transport Sync:''' Any changes to the time-line in Renoise and the ReWire master will be synced. This is very useful for creating a song in multiple applications at once.
* '''Full Transport Sync:''' Any changes to the timeline in Renoise and the ReWire master will be synced. This is very useful for creating a song in multiple applications at once.
* '''BPM & Bar Sync:''' You can start, stop and navigate freely in Renoise while the time-line of both applications remains beat-synced. Very useful for improvisations or live mixing.
* '''BPM & Bar Sync:''' You can start, stop and navigate freely in Renoise while the timeline of both applications remains beat-synced. Very useful for improvisations or live mixing.
* '''Automatically compensate latencies:''' The ReWire protocol does not allow the passing of latencies that either the master or slave are using. When running Renoise as a slave and the song makes use of plugins which introduce latency, Renoise must shift its time-line to compensate and ensure synchronicity. This shifting may unfortunately lead to missed first notes upon starting the song or pattern.
* '''Automatically compensate latencies:''' The ReWire protocol does not allow the passing of latencies that either the master or slave are using. When running Renoise as a slave and the song makes use of plugins which introduce latency, Renoise must shift its timeline to compensate and ensure synchronicity. This shifting may unfortunately lead to missed first notes upon starting the song or pattern.




== General Notes about Renoise as Master or Slave ==
== General Notes About Renoise as Master or Slave ==


Some ReWire slaves may have limited control over the transport. It's up to the ReWire master to allow transport changes (or not). For example, some ReWire masters might ignore tempo changes, loop changes or position changes. This is not the fault of Renoise, but rather a limitation in the ReWire implementation of the designated master application.
Some ReWire slaves may have limited control over the song's transport functions, though it's up to the master application to allow transport changes (or not). For example, some ReWire masters might ignore tempo changes, loop changes or position changes. This is not the fault of Renoise, but rather a limitation in the ReWire implementation of the designated master application.




== ReWire Demo Restrictions ==
== ReWire Demo Restrictions ==


If you have purchased Renoise and are a registered user, there are no restrictions. If you are using the free demo, then ReWire has some limitations. These are:
Registered Renoise users have no restrictions, but if you are using the free demo then there are some ReWire limitations:


# When Renoise is the master, only the first stereo pair is used.
# When Renoise is the master, only the first stereo pair is used.
# When Renoise is a slave, the demo version will occasionally generate a small, subtle hiss.
# When Renoise is a slave, the demo version will occasionally generate a small, subtle hiss.

Latest revision as of 13:56, 8 October 2019

ReWire

ReWire is only available for Windows and Mac, but Linux users have Jack Transport as an alternative for achieving similar results. It allows you to connect and synchronise multiple software applications, meaning that they will run side by side while passing Audio/MIDI information between them. For example, you could connect Renoise to Logic, programming your drums in Renoise while arranging the bulk of your song in Logic. Or you could connect both Reason and Ableton Live to Renoise, then arrange your track in Renoise, control Reason's built-in synthesizers and play around with clips in Live.

ReWire has two modes, both of which are fully supported by Renoise, allowing it to be used with any other application that supports ReWire:

  • ReWire Master: Commonly known as a Mixer application, the master controls other ReWire slaves. A ReWire master has exclusive control of the soundcard, while slaves must route audio through the master application. There can be multiple slaves, but only one master.
  • ReWire Slave: Also known as a ReWire Synth application. Slaves are controlled by a ReWire master and feed their audio back into it. They receive MIDI from the master, but can also send MIDI to the master and ask it to reposition itself.


Start/Stop Procedure for ReWire Applications

Starting: The ReWire master application should be started first, then the slave(s).

Closing: Close the ReWire slave application(s) first, then close the master.

Important: When working on songs, you must save them separately in both applications. You must also load them up individually when continuing a session. ReWire only handles audio and MIDI routing, so it's important to remember that songs and patches will not be automatically exchanged or restored.

The basic workflow is:

  1. Start the ReWire master then restore a previously saved session.
  2. Start the ReWire slave(s) then restore a previously saved session(s).
  3. Work on the song.
  4. Save the session and close the ReWire slave(s).
  5. Save the session and close ReWire master.


Using Renoise as ReWire Master

First, make sure that no other ReWire master application is open. Now start Renoise, which automatically makes it the master, then go to the Track Effects panel and insert a #ReWire Input device anywhere in the song (Send Tracks are the ideal place to use this device).

3.0 rewire.png

Routing Audio To Renoise

Use the "Device" option to select a slave from the list. In most cases the slave will automatically launch. If this has not happened then just launch the application manually.

3.0 rewire-selectslave.png

The audio signal from the slave will be routed into Renoise via the #ReWire Input device. Both applications are now bound together and everything is automatically configured for you. If you hit play in Renoise then this will trigger the slave to start playing too. Navigating around the song using Renoise will likewise cause the slave to follow. If you change the playback from within the slave then Renoise will follow.

If you want to capture another audio bus from an existing slave, simply add another #ReWire Input device then select the same slave but choose a different bus.

Trigger MIDI from Renoise

If a slave has MIDI inputs then you will find them listed as regular devices in the MIDI Output section, where you could, for example, use Reason synths from within Renoise.

Automating ReWired Synths Like Reason

As soon as you've created a ReWire MIDI instrument you can use the *Instr. MIDI Control device in Renoise to automate it. Certain synths will provide you with parameters that have already been mapped, displaying the CC numbers that will automate those parameters.

3.0 rewire-automate.png


Using Renoise as ReWire Slave

Launch the application that will be designated as the master, then start Renoise, which will ask if it should run as a slave - click "Yes".

3.0 rewire-slavedialog.png

In certain cases the master will need to be explicitly told to use Renoise as a slave. In most multi-track sequencers this is done by selecting Renoise as an "Audio Input", otherwise please refer to the master application's documentation for more details. Once you have routed Renoise into the master mixer, you are ready to go and the audio signal from Renoise will be routed into the host. Starting, stopping, and navigating through the song will be synchronized in both apps.

Some hosts allow you to start Renoise from within the host when you insert Renoise as a Rewire audio/MIDI device (depending on the host - again refer to its manual). In this case you won't be asked whether Renoise should start as a ReWire slave, since it happens automatically.

You may have a scenario where you'd want to start Renoise in a forced slave mode without requiring it to confirm. To achieve this you can attach the following command to the Renoise executable "-ForceRunningAsSlave" (if Renoise is currently running you will have to restart for this to take effect). If no Rewire master is active/detected during startup, Renoise will just ignore the "-ForceRunningAsSlave" command and launch in master mode.

Note: To send MIDI data to a Renoise slave you will have to use virtual loopback MIDI cables.

Setting Up Transport Sync Mode in Renoise

When running Renoise as a ReWire slave, you have two choices regarding how Renoise should sync to the master. This can be set up in the Audio Preferences, but only after Renoise is already running as a ReWire slave:

3.0 rewire-slaveprefs.png

  • Full Transport Sync: Any changes to the timeline in Renoise and the ReWire master will be synced. This is very useful for creating a song in multiple applications at once.
  • BPM & Bar Sync: You can start, stop and navigate freely in Renoise while the timeline of both applications remains beat-synced. Very useful for improvisations or live mixing.
  • Automatically compensate latencies: The ReWire protocol does not allow the passing of latencies that either the master or slave are using. When running Renoise as a slave and the song makes use of plugins which introduce latency, Renoise must shift its timeline to compensate and ensure synchronicity. This shifting may unfortunately lead to missed first notes upon starting the song or pattern.


General Notes About Renoise as Master or Slave

Some ReWire slaves may have limited control over the song's transport functions, though it's up to the master application to allow transport changes (or not). For example, some ReWire masters might ignore tempo changes, loop changes or position changes. This is not the fault of Renoise, but rather a limitation in the ReWire implementation of the designated master application.


ReWire Demo Restrictions

Registered Renoise users have no restrictions, but if you are using the free demo then there are some ReWire limitations:

  1. When Renoise is the master, only the first stereo pair is used.
  2. When Renoise is a slave, the demo version will occasionally generate a small, subtle hiss.