ReWire: Difference between revisions

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


ReWire allows you to connect and synchronize 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, 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, arrange your track in Renoise, control Reason's built-in synthesizers, and play around with clips in Live. All it takes is some ReWire enabled software and you are good to go.
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 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 Master:''' Commonly known as a Mixer application, the master controls other ReWire slaves. A ReWire master has exclusive control of the sound-card. ReWire slaves must route audio through the master application. There can be many slaves, but only one master.
 
* '''ReWire Slave:''' Also known as a ReWire Synth application. Slaves are controlled by a ReWire master. They feed audio into the Master. They receive MIDI from the master. But can also send MIDI to the master and ask the master to reposition itself.
 
Because Renoise can be both Master or Slave, you can use it with *any* application that supports ReWire.




== Start/Stop Procedure for ReWire Applications ==
== Start/Stop Procedure for ReWire Applications ==


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


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


Important! when working on songs, you must save your songs separately in both applications. Also you must load them up individually when continuing a session. ReWire only handles Audio and MIDI routing. It will not automatically exchange/restore songs/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.


So, 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).
# Save the session and close ReWire slave
# Work on the song.
# Save the session and close ReWire master
# Save the session and close the ReWire slave(s).
# Save the session and close ReWire master.




== Using Renoise as ReWire Master ==
== Using Renoise as ReWire Master ==


First, make sure that no other ReWire Master application is open. Then, start Renoise; this will automatically make Renoise the master. In the “Track DSPs” select a #ReWire-In Device” and add it anywhere in the song. 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:Sato_stepup-rewire-01.png]]
[[Image:3.0_rewire.png]]


=== Routing Audio To Renoise ===
=== Routing Audio To Renoise ===


In the “#ReWire-In Device” will be a drop-down with a list of installed slaves. Select one. 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:Sato_stepup-rewire-02.png]]
[[Image:3.0_rewire-selectslave.png]]


That's it! The audio signal from the slave gets routed into Renoise via the #ReWire-In Device”. 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. Both apps are now bound together. Everything was automatically configured for you.
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 #ReWire-In Device”, select the same slave but select a different bus. This will allow you to stream multiple busses form 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 MIDI devices in Renoises MIDI Instrument Settings. 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 ===


[[Image:Sato_stepup-rewire-03.png]]
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.


=== Automating ReWired synths like Reason ===
[[Image:3.0_rewire-automate.png]]


As soon as you've created a ReWire MIDI instrument, you can use the “*MIDI-Control Device” in Renoise to automate it. If the synth supports this, the mapped parameters will show up there so you know which CC number automates which parameter in the synth.


[[Image:Sato_stepup-rewire-04.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"''.


== Using Renoise as ReWire Slave ==
[[Image:3.0_rewire-slavedialog.png]]


First, start the music application that will be designated master. After the master application has launched, start Renoise. Renoise will ask you if it should run as 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.


[[Image:Sato_stepup-rewire-05.png]]
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.


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


Once you have routed Renoise into the master mixer, you are ready to go. Renoises audio signal will be routed into the host. Starting, stopping, and navigating though the song will be synchronized in both apps!
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 ReWire slave, you have two choices on how Renoise should sync to the master. This can be set up in the [[Preferences#Audio|Audio Preferences]], but only when Renoise already is running as 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:


[[Image:Sato_stepup-rewire-06.png]]
[[Image:3.0_rewire-slaveprefs.png]]


* '''Full Transport Sync:''' Any changes in the time line in Renoise and the ReWire master will be synced. The time-line and transport of both application will always be matched. This is Useful to create 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 is still beat-synced. Very useful for improvisations or live mixing. Its a bit like syncing a drum machine (Renoise in this case) to a sequencer (the ReWire master).
* '''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.


*'''Automatically compensate latencies:''' The ReWire protocol unfortunately does not allow to pass over latencies that wither the ReWire master or Slave are currently using. When running Renoise as ReWire slave and your song uses plug-ins which introduce latency, Renoise must shift its time-line by this latency, to make sure that the ReWire master and Renoise are perfectly in sync. This "shifting" unfortunately may lead into missed first notes when starting the song or pattern. Disabling this option will thus, at the cost of a slight latency offset, make sure that notes in Renoise are not lost when starting. This might be more comfortable while composing a song.


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


Some ReWire slaves might 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 limited ReWire implementation in the designated master.
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 purchased Renoise and are a registered user, then there are of course no restrictions whatsoever. 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 Master, only the first stereo pair is used.
# When Renoise is the master, only the first stereo pair is used.
# When Renoise is 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.
# That's it, no time limitations, no silence, you are free to explore and use the demo for as long as you need, and get a decent impression of how ReWire can improved your workflow.

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.