Sunday, March 22, 2015

Recording Virtual Instruments with SampleRobot Part 5: Interface to Interface (Digital)

This is Part 5 of a 6-part series. Make sure to check out Part 1 for the introduction.

Method Four of Four: Interface to Interface (Digital)

  • Difficulty: Medium
  • Advantages: Highest quality recordings possible. Usually little-to-no tweaking required in RoboSampler to get recording volumes or export note-in/note-out times right.
  • Disadvantages: Expensive! (Requires two audio interfaces that both have the same kind of digital I/O, along with the right cables.
  • Software Required: LoopBe1 (only necessary if your interfaces don't have physical MIDI ports), SampleRobot (any edition)
  • Hardware Required: Two audio interfaces that support the same kind of digital I/O (ADAT, S/PDIF, etc.), and the correct cables needed for a digital connection. If your audio interfaces don't have built-in MIDI ports, you will also need some kind of USB-to-MIDI interface like the MOTU FastLane USB or the MOTU micro lite.
If you have two audio interfaces with the same kind of digital inputs and outputs, you can skip all the virtual audio cables and ASIO wrappers and make a purely digital audio connection from one interface to the other, resulting in the best recording quality you can get. Things get even simpler if your audio interfaces happen to have physical MIDI ports (or if you have more than one discrete USB-to-MIDI interface). That way you don't even have to mess with virtual MIDI cables, and have a straightforward hardware-to-hardware solution. Actually, as long as both the MIDI and audio connections between your virtual instrument and SampleRobot are interface-to-interface, the plugin and SampleRobot don't even have to be on the same computer or operating system! For simplicity's sake, I'm going to describe things as if everything's done on the same PC, but it would be super easy to adjust for a multi-computer setup.

In this model, one audio interface plays your instrument's audio. We'll call that the Instrument Interface. We'll call the other interface, the one SampleRobot uses to record the incoming audio, the SampleRobot Interface. As far as MIDI goes, the Instrument side is the one receiving MIDI signals, and the SampleRobot side is the one sending MIDI out.

My desktop audio interface is a MOTU Track 16 and I use an RME Fireface UFX for most recording work. Both interfaces have MIDI in and out ports, and they also both have optical ADAT ports which I used while putting together this tutorial. In my example, the MOTU will be my Instrument Interface, and the RME will serve as the SampleRobot interface. Here's the basic signal flow:

This diagram assumes both interfaces also have MIDI ports. The steps that follow will include instructions for other configurations.
Here's how to do it:
  1. First make your physical MIDI connections. You want to run a MIDI cable from the MIDI OUT port of your SampleRobot interface into the MIDI IN port of your Instrument Interface. If you have a standalone USB-to-MIDI interface like the MOTU FastLane USB or the MOTU micro lite , you can use those too- just remember which one is going to be for sending MIDI data out (SampleRobot), and which one will be receiving (Intrument).

    If you don't have enough physical MIDI ports in order to make a hardware MIDI connection, you'll need to use a virtual MIDI connection. In that case, download and install LoopBe1 now. Note: Restart your computer after installing LoopBe1.
  2. Next make your physical digital audio connections. The kind of cables you use depends on your interfaces and the type of digital ports they have. My interfaces both have optical "TOSLINK" style ports for ADAT audio. I picked up a 2-pack of BlueRigger cables for this. When hooking things up, just remember- the audio signal goes out from your Instrument interface into your SampleRobot interface.
  3. Now launch your plugin host or standalone instrument. In this example, I'm running the standalone version of UVI Workstation, and sampling the Prime8 instrument from their UVI Urban Suite.
    UVI Workstation with the Prime8 program from UVI Urban Suite.
  4. Open your instrument's MIDI settings and make sure your Instrument-side MIDI interface is available, whether it's a physical interface or LoopBe1. Also ensure that the instrument is receiving MIDI on the correct IN port, if the interface has more than one.
    In UVI Workstation, I went to File > Audio and MIDI Settings > MIDI Devices and chose my Instrument Interface's MIDI port.
  5. Open your instrument's Audio settings and select the correct audio outputs for your Instrument Interface. Depending on your interface's drivers and the specific instrument or host you're using, you may have multiple output options to choose from for the same physical ports. If this happens, make sure to pick the ASIO option, when available.
    Depending on how your interface, instrument, or plugin host are designed, you might have to select the device on one page, and select the actual output ports on another. For example, your instrument might have a "Routing" page where you pick which audio ports to assign to different instruments. Make sure to select the digital outputs you plan to use for recording.
    UVI Workstation has a separate Routing page. Here I selected my ADAT outputs for the whole instrument's main outputs.
  6. With digital connections, you usually have to decide how the clock signal is sent. Most interfaces with digital support can either send their own clock signal (to control the other device), or receive a clock signal from the remote device or some other source. I decided to make my Instrument Interface the clock source.

    If your instrument or plugin host doesn't have a "Control Panel" function to launch your interface's control panel, you might have to launch it separately, or temporarily even load another application, like a DAW, that gives you access to the control panel. In fact, when making this tutorial, I had to quit UVI Workstation in order to launch the MOTU Audio Console for this screenshot.
    The Track16 will use its internal clock to control the digital connection.
  7. Now launch SampleRobot and set up your typical project recording settings. When you've got your note range and velocity settings the way you like them, make sure to specify the following:

    MIDI Out Device: Your SampleRobot Interface's MIDI Out port. (Or LoopBe1 if you're going the virtual route.)
    Audio Format: The Sample rate and bit depth that you'd like to record. (Remember only the Pro and Sampling Suite versions of SampleRobot can record higher than 16-bit.)
    Audio In Device: Your SampleRobot Interface's digital inputs. SampleRobot might list more than one option for your specific input type; select the ASIO version when available.

    I selected the ASIO Fireface Adat 1 & 2 option.
  8. Click the tiny CP button in the Audio In Device section to bring up your SampleRobot Interface's control panel. You need to make sure it's using a clock setting that's compatible with how you configured your Instrument Interface. Since I chose my Instrument interface to be the clock source, I made my SampleRobot interface the clock receiver.
    With this setting, the RME interface listens for a clock signal on its ADAT port instead of using its internal clock.
  9. Now that your project is all ready to record, back in SampleRobot click Rec in the Projects window, and then click Start Recording. You probably won't hear anything while recording is in progress, unless you use your interface's routing capabilities to set up a monitoring submix. When recording is complete, little waveforms will appear under the virtual keyboard. You can test the recorded samples by clicking (and holding down) the left mouse on individual notes.
  10. If your samples seem to have completed successfully, go to the Import/Export menu to export the samples into your desired target format. If you're using the default settings, your exported samples will be trimmed down to only contain actual audible audio (which is good!). I like to save my exported files into a new folder called Exports inside my SampleRobot project's Data Path folder. Here's a look at the resulting samples I got after exporting the above project. I am using Resonic Player to preview my samples.


No comments: