ReWire: Difference between revisions
(→ReWire) |
(→ReWire) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= ReWire = | = ReWire = | ||
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 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. | ||
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 | '''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 | # Start the ReWire master then restore a previously saved session. | ||
# Start ReWire slave ( | # 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. | 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 | 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#. | 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 | 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 | 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 | === 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. | 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]] | ||
Line 59: | Line 55: | ||
== Using Renoise as ReWire Slave == | == 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"''. | |||
[[Image:3.0_rewire-slavedialog.png]] | [[Image:3.0_rewire-slavedialog.png]] | ||
In | 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/ | 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. | Note: To send MIDI data to a Renoise slave you will have to use virtual loopback MIDI cables. | ||
=== Setting | === 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 77: | Line 73: | ||
[[Image:3.0_rewire-slaveprefs.png]] | [[Image:3.0_rewire-slaveprefs.png]] | ||
* '''Full Transport Sync:''' Any changes to the | * '''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 | * '''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 | * '''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 | == General Notes About Renoise as Master or Slave == | ||
Some ReWire slaves may have limited control over the transport | 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 == | ||
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:
- Start the ReWire master then restore a previously saved session.
- Start the ReWire slave(s) then restore a previously saved session(s).
- Work on the song.
- Save the session and close the ReWire slave(s).
- 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).
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.
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.
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".
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:
- 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:
- 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.