Chapter 23: Using REAPER with Other Applications and Devices
- 1 23 Using REAPER with Other Applications and Devices
- 1.1 23.1 What is ReaRoute?
- 1.2 23.2 Setting Up Applications for ReaRoute
- 1.3 23.3 Sending Audio from REAPER to Another Application
- 1.4 23.4 Sending Audio From Another DAW App to REAPER
- 1.5 23.5 Using REAPER With a Synth Workstation
- 1.6 23.6 Syncing to an External Device
- 1.7 23.7 Generating and Sending Timecode
- 1.8 23.8 Slaving REAPER to MIDI Sequencer Software
- 1.9 23.9 ReaMote
- 1.10 23.10 REAPER and NINJAM
- 1.11 23.11 ReaScript
23 Using REAPER with Other Applications and Devices
23.1 What is ReaRoute?
ReaRoute is an ASIO driver that allows you to route audio to and from any other ASIO enabled application. ReaRoute is only installed on your system if you select the ReaRoute ASIO driver during the REAPER installation process.
This option is found on the REAPER Setup screen on the Choose Components page (shown right), under the heading Additional Functionality.
If you did not have this option selected (or if in doubt) when you last installed REAPER, simply reinstall REAPER, this time making sure that it is selected.
When you install ReaRoute, the ReaRoute ASIO driver appears in the ASIO driver list for the other audio applications on your system.
Note: Some users have reported problems with native ASIO drivers after installing the ReaRoute driver. If you experience problems with your ASIO drivers after installing this feature, uninstall REAPER, then re-install with this check box cleared.
Once ReaRoute has been installed, you can pass audio streams between REAPER and other audio applications. This could, for example, be another DAW such as Cubase or Ableton Live or Sonar, or a stand-alone synth such as Cakewalk's Project 5. In overview, the basic steps are:
Set up the other application to work with ReaRoute.
Either Send audio from REAPER to another DAW \ and record it track by track within that application.
Or Send audio from the other DAW to REAPER, this time bringing it in as a series of submixes. You can then apply REAPER features to that project.
Or Use a stand alone synthesizer workstation such as Project 5 in conjunction with REAPER.
23.2 Setting Up Applications for ReaRoute
Before you can use any audio application with REAPER via ReaRoute, you need to ensure that the audio settings for that application are set up correctly. There are usually one or two basic steps involved.
The first is to enable ReaRoute ASIO as the preferred driver, the second is to enable the various input and output channels required to transmit audio between the application and REAPER. With some applications, this second step is not required. The method will vary with the application, but always involve specifying your preferences on the Audio Settings dialog box (or similar).
The table below gives some examples. They are accurate at the time this is being written, but be aware that all software programs are likely to change over time.
Note: Before setting up or using any application for use with ReaRoute, you should:
- Make sure that the ReaRoute ASIO Driver has been installed (see previous page), and
- Make sure that REAPER is open and minimised.
|FL Studio||Options, Audio Settings, then select ReaRoute ASIO for Output. Close Audio Settings window.|
|Project 5||Options, Audio then under Audio Driver Selection ' Outputs select ReaRoute ASIO ReaRoute Client -> REAPER 1 (ASIO) then OK.|
If you are using any of these, or any other audio application, and having difficulty in setting it up, ask for help on the REAPER forum.
23.3 Sending Audio from REAPER to Another Application
This example looks at sending a project from REAPER to another DAW. You might wish to do this, for example, to use one of that DAW's native plug-ins on a track or series of tracks. Provided you know your other application well enough and have already set it up to use ReaRoute (see previous page) you should be able to apply these guidelines. They are:
- Open REAPER. It is important that you open REAPER before the other application.
- Open the project file that you wish to use. For each track that you wish to use, create a hardware output to a different ReaRoute channel.
- Open the other application (e.g. Sonar, Cubase, Ableton Live) and create a new project file.
- Insert into your new file one new track for each track that you wish to bring in from REAPER. For each track, the input should be set to correspond with the equivalent output used in REAPER. For example, if in REAPER you set a track's output to ReaRoute Channel 1, then the corresponding new track in your other DAW will need to have its input set to Left ReaRoute ASIO ReaRoute REAPER Channel 1.
- Within the second application, start recording. Within REAPER, play the song.
- Stop both when the song finishes.
- You can then do whatever work you wish.
- When finished, first close the other application and then close REAPER. You should always remember ' Open REAPER first, close it last.
In many cases it would be easier and quicker simply to import the wave files directly into the other application. There are, however, other instances when it may be advantageous to use ReaRoute instead. For example:
It might not be easily possible to line up all tracks. Some may start and finish at different times. Others might consist of a large number of media items each of short duration. It would be difficult to import these piecemeal.
Some tracks might consist of a combination of MIDI items and audio items. Many applications do not let you mix MIDI and audio on the same track. This way, they are all taken across as audio.
23.4 Sending Audio From Another DAW App to REAPER
Staying with the same example, we are now going to use ReaRoute to take our open Sonar project and send an audio signal back to REAPER. In overview, this is how it is done.
- Open REAPER and create a new project file. Insert as many tracks as you need.
- Assign ReaRoute inputs to these tracks as required (see right). Arm these tracks for recording.
- Open the other DAW. In that DAW, open the file you wish to work on, and assign outputs on a track by track basis to your various ReaRoute channels as required.
- Still in the other DAW, insert any FX that you may wish to use in these tracks.Play the song in the other DAW, adjusting your FX to suit.
- When ready, start recording in REAPER, then play the song in the other DAW, from the beginning.
- When finished, stop both playback and recording.
23.5 Using REAPER With a Synth Workstation
ReaRoute can be used to make the functionality of a stand-alone synthesizer available to you when you are working with REAPER. To be able to work thru this example, you will need to already posses a good working knowledge of how to use the synthesizer.
Before proceeding, you will need to ensure that your ReaRoute ASIO drivers have been installed and that the Synth Workstation program has been set up to use them.
- Open REAPER. Open an existing project file, or create a new one and insert a track.
- Arm this track for recording. Turn on input monitoring and set the track input to stereo. Assign a pair of ReaRoute channels (probably 1 and 2) to this input.
- Open the synth program and take whatever steps are needed by way of preparation.
- Direct audio output to the same pair of ReaRoute channels that you selected at step 2. (above).
- In REAPER, make sure the play cursor is positioned where you want it. Press Record.
- Within the synth program, play the instrument(s) to compose a track to accompany your REAPER song. As you do so, REAPER will record it as a wave file.
- When finished, save your woirk.
23.6 Syncing to an External Device
If you are using REAPER in conjunction with an external device then you may need to ensure that your DAW is in sync with that device, and to take its time clock from that device. For example, you may need to slave REAPER to another DAW, or to a video deck. Another example might be if you need to upload time-stamped material from ADAT tape.
To synchronize REAPER to an external timecode, follow this sequence:
Right click over the Play button on the Transport Bar. This opens the settings dialog box shown here.
Select the Input to be used. Available sync types include ASIO Positioning Protocol, MTC and SPP.
Complete the other settings and close the dialog box. You should consult the documentation of your external device for further information.
To play REAPER in sync with an incoming timecode, hold the Alt key while right clicking on the play button. Alt Right Click over the Play button toggles this slave to timecode on and off.
REAPER Sync Types (Summary)
|Sync Type||Comment||ASIO Positioning Protocol||Creates a sample accurate synchronization with the external device, i.e. the time code has as many time locations as your project's sampling rate. Requires that your audio hardware uses ASIO 2.0 drivers.|
|Linear Time Code (LTC)||This is the same as SMPTE. It is a time based method of synchronization which uses hours, minutes, seconds and frames.|
|MIDI Time Code (MTC)||As its name implies, this is also a time based method of synchronization which uses hours, minutes, seconds and frames. It is simply a conversion of the SMPTE code that is transmitted via the MIDI cable.|
|Song Position Pointer (SPP)||This method is based on bars, beats and subdivisions of beats. The information is transmitted along with MTC data, every six clocks or ticks. For some devices, this is all you need.|
The Context Menu
The commands for enabling/disabling external timecode synchronization and for changing the settings are also available on REAPER's Transport Bar context menu and on the main Options menu. From either of these menus you can choose External Timecode Synchronization... then either the toggle command Synchronization enabled or Synchronization settings. Both these commands can be assigned as actions within REAPER's Actions List.
Sending Clock/SPP from REAPER to an external MIDI Device
To send Clock/SPP data from REAPER to an external MIDI device, you need to enable the feature under Options, Preferences, MIDI Devices.
Double-click on the MIDI output device name to open the Configure MIDI Output dialog box, and select the option Send clock/SPP to this device. There is also an option to Open device in low latency/low precision mode.
23.7 Generating and Sending Timecode
The command Insert, SMPTE LTC/MTC Timecode Generator (from the main menu) can be used to send a synchronization timecode from REAPER to an external device. This command inserts on to the current track a media item which is used to generate the timecode.
Right-click over the item and choose Source properties from the context menu to display the settings box shown here.
Select LTC (linear/longitudinal time code) or MTC (MIDI time code) and configure the various parameters as required.
23.8 Slaving REAPER to MIDI Sequencer Software
REAPER can be slaved to a software MIDI sequencer (such as Temper) as well as to an actual hardware device. You will also need some virtual MIDI cable software, such as the highly popular MIDI Yoke. Here is an overview:
- Use MIDI Yoke to install a virtual MIDI cable to send MIDI out from your other program and in to REAPER.
- Start REAPER. Go to Preferences, Audio, MIDI Devices. Right click over the MIDI device labelled In from MIDI Yoke: 1 (or similar) and choose Enable input for control messages. OK preferences.
- Right-click REAPER's Play button, enable the Enable synchronization to timecode box option (see right) and enable playback, recording, or both. Select the required MIDI input port (in this example MTC: In from MIDI Yoke 1). When you close this dialog box, the play button will display a small padlock and the tooltip slave to timecode.. Engaging this play button will now mean it is ready and waiting for. sync input.
- In the external program, add a MIDI track and direct its output to the same MIDI Yoke cable as you used for input in REAPER. You may also need to enable Send MTC (Midi Time Code) in this program. How you do this in any specific program will of course depend on its own features, interface and capabilities. You will now be ready to go.
For assistance with how to do this with any specific software, consult or ask on one of the REAPER forums.
ReaMote is REAPER's network FX functionality. It allows you to have any FX chain in your project processed on a remote machine on your local network. This is useful if you want to add more CPU power to your project (to run various FX) without upgrading your main host's CPU. You will need to set up ReaMote and install REAPER and your plug-ins on the slave machines.
For OS X users, ReaMote can be installed when REAPER is installed, by dragging and dropping the ReaMote icon into the Applications folder icon. For Windows users, make sure when installing REAPER that you have ReaMote selected and enabled under Additional functionality on the Choose components page of the install wizard. Run the ReaMote slave on the slave machines, then enable ReaMote in the REAPER Preferences on the master, specify your settings and options, and you're ready to go!
To learn more about how to set up and use ReaMote, go to wiki.cockos.com/wiki/index.php/ReaMote.
23.10 REAPER and NINJAM
NINJAM is an innovative software program that allows musicians to collaborate in "fake time" over the Internet. The software connects to a central server where participants can share audio and text information, and has the ability to record both the local and remote channels of each "session" (audio only). REAPER has the ability to import these recorded session files to allow you to edit and mix at your leisure. "Fake time" means that some players will hear a delayed version to which they play along.
To learn more about the NINJAM software or download a copy, visit www.cockos.com/ninjam/
To learn more about using NINJAM with REAPER, visit the Cockos WIKI wiki.cockos.com/wiki/index.php/NINJAM_Documentation
ReaScript is a scripting language that takes your ability to customize REAPER well beyond that offered by the Actions List editor. With ReaScript, you can not only create more powerful and sophisticated macros, you can even create your own extension commands. To use ReaScript, you will need to have a good knowledge of a scripting language such as EEL, Lua or Python. EEL and Lua are embedded in REAPER. You can download Python from the Options, Preferences, Plug-ins ,ReaScript window (shown here).
ReaScript isn't for everyone ' in fact, because it requires an understanding of programming it isn't for most people.
You can find out more about ReaScript by choosing ReaScript documentation from REAPER's Help menu, and by clicking on the option View ReaScript Help on the Plug-ins, ReaScript page of REAPER's Preferences window.
For more about ReaScript and how to get started see also http://www.cockos.com/reaper/sdk/reascript/reascript.php.
To be able to use Python, enable it under Options, Preferences, Plug-ins, ReaScript (above). On the External Editors preferences page you can also specify an external editor for writing and editing scripts.