Showing posts with label roland. Show all posts
Showing posts with label roland. Show all posts

Monday, April 2, 2018

Comparing USB Audio Interface Latency on Windows 10

I may never fully understand my love for audio interfaces. At the end of the day they're just devices that do a better job of recording and playing back music than the built-in audio of most computers, but I almost spend more time experimenting with and writing about them than I do using them to make music. I have done interface performance tests several times before, but that was all on Windows 7 (and mostly on a now-10-year-old DAW PC), so I was recently curious how well some of today's USB audio interfaces perform on a newer computer with the latest version of Windows.


About Audio Interface Latency

Audio interfaces are audio streaming devices, and on modern operating systems all streaming is "buffered" or "packeted." Rather than truly sending a constant binary stream of audio data, your computer bundles up tiny chunks of audio into separate data buffers that are reassembled at the destination end of the stream. This buffering introduces some amount of latency; that is, the fact that the audio data is buffered means that there is a small amount of built-in delay between when the audio data is first transmitted by one device (an audio interface) and received by another (your computer).

There is some amount of latency in both an interface's input and output audio path, and round-trip latency (RTL) is the combination of both of those times. RTL is the metric I tested for: What is the total amount of time an interface takes to send and receive audio given certain settings?

A latency measurement is only meaningful if you know two other values: Sample Rate and Buffer Size. The sample rate is the number of samples per second the audio stream is encoded at, and the buffer size is the number of individual samples included in each streaming buffer.

When you record at high sample rates, your computer processes more audio data, which usually requires larger sample buffers in order to handle audio as reliably as at lower sample rates. The buffer provides protection against glitches (pops and drop-outs in the audio stream), and the harder your computer is working, generally the bigger the buffer you need for glitch-free audio.

The trade-off (and the reason we're studying this at all) is that too big of a buffer at a given sample rate can result in such a great delay that it can become difficult or impossible for a musician to keep in time with the rest of the music while attempting to sing or record. When shopping for audio interfaces, it's good to know which devices offer you the lowest reliable round-trip latencies at given sample rates and buffer sizes.

Not all interfaces perform alike. There are many factors that contribute to interface performance, but the most important appears to be driver quality. A driver written for a specific device with efficiency and optimization in mind can significantly outperform a less optimized driver on similar hardware.

For my tests, I used a free tool called RTL Utility, by Oblique Audio. With this tool, you patch your audio interface's outputs to its own inputs, forming an audio loop, and measure the time it takes for a full output->input round trip at a given sample rate/buffer size.

The Devices Under Test

I have bought and sold many interfaces over the years. These are the ones that I still own and used for these tests.

Behringer U-Control UCA222

The U-Control UCA222 is a very low-cost interface with unbalanced RCA-style analog connectors that's designed more for consumer audio applications than for music production. I bought one so my wife could create digital recordings of her old cassette tapes.

  • Like most Behringer interfaces, the UCA222 does not require any special drivers or software; all modern versions of Windows recognize it as an audio recording/playback device. This also means, however, that there is no native ASIO driver for the interface, so I conducted my tests in "Windows Audio" mode for this device only.
  • The default Windows audio drivers also didn't export all of the traditional "powers of two" sample buffer sizes, so for some tests I had to pick the closest available buffer size for comparison.
  • Despite its low cost, this little interface includes a couple nice features like a physical direct monitor switch and an optical S/PDIF port for digital output.

Focusrite Clarett 2Pre USB

The Clarett 2Pre USB is a desktop interface with high-quality preamps and sophisticated routing/mixing technology. Mine serves as an external DAC for a computer I mostly use for multimedia purposes.

  • While the original Clarett 2Pre was a Thunderbolt-only device. The Clarett 2Pre USB is USB 2.0-only, although its connector is the small USB-C type, normally associated with newer standards. It includes the required USB cables, which is good, considering I did not already own any USB-C cables.
  • From what I've read, this device's USB implementation is the same as what's used in Focusrite's "2nd Generation" Scarlett line of interfaces.
  • While most ASIO Windows drivers offer sample buffer sizes in powers of 2 (64 samples, 128 samples, 256 samples, etc), the Focusrite drivers strangely offer dozens and dozens of selectable sample buffers. Luckily, the common power-of-2 values are among the offered values.

MOTU Track16

The Track16 is a small desktop interface that pushes most of its I/O connections out to a giant proprietary octopus of a breakout cable. On hot summer days, I choose to use this device with headphones rather than powering up my full production rig, which generates a ton of heat.
  • With ADAT, MIDI, and complex mixing/routing software, this device is a strong competitor with the Clarett 2Pre in terms of flexibility and feature set.

Novation Audio Hub 2x4

The Audio Hub 2x4 is a 3-port powered USB hub with Focusrite Scarlett audio interface technology inside. I frequently use this device for recording/sampling audio sound sources, and I use its USB ports to host eLicenser/iLok dongles.
  • The audio interface portion of this device is based on Focusrite's "1st Generation" USB interface technology, which gives us a chance to compare the improvements Focusrite has made with the 2nd generation drivers.
  • While the Audio Hub sports a pair of balanced main outputs, it only has unbalanced RCA-style inputs, so I had to use different audio cables when testing it from the ones I used with the other interfaces.
  • This device is also a little unusual in that it only offers a low/high-gain toggle switch on the inputs rather than adjustable gain pots. 

RME Fireface UFX (1st generation)

The Fireface UFX is a prosumer legend, offering tons of analog and digital I/O with top-tier performance, reliability, and flexibility in a single rack space form factor. This is my primary interface for writing and recording.
  • I own the first generation UFX, which has both USB 2 and Firewire support. I typically use it as a Firewire device, just to avoid possible USB contention in my studio.
  • In recent years, RME has released an updated model, called the Fireface UFX+, which includes USB 3 and Thunderbolt support, and the Fireface UFX II, which is USB 2 only.
  • RME's drivers are a little bit odd in that they don't appear to advertise more than one sample buffer size at a time like most others do. In order to perform the latency tests at different buffer sizes I had to use the RME control panel to choose the new buffer size then "reload" the driver in the test tool before performing each round of tests.
  • Since this is the only interface I currently own that supports two different data buses, I tested it both as a Firewire and as a USB device. 

Roland Duo-Capture EX

The Duo-Capture EX is one of my favorite entry-level interfaces, just because it packs a lot of features into a small, reliable and affordable package. I don't actively use my Duo-Capture these days, but I keep it around for testing and ad-hoc stuff.
  • The Roland drivers are kind of weird in that they do not use powers-of-two buffer sizes, and their configuration control panel also has a number of non-standard options and metrics. I had to choose the nearest approximate buffer size for the comparative tests. Also, for all control panel settings other than buffer size, I just left them at their factory defaults.
  • On Windows 10, the Duo-Capture driver installs automatically (no separate discs or downloads from Roland required), however I experienced a lot of driver instability on my first round of latency tests with this interface after the drivers installed (some tests straight-up failed while others took significantly longer or shorter to complete than expected). I rebooted my computer and re-tested the interface and didn't experience any instability at all, so that appeared to be a temporary issue.

Roland Tri-Capture

The Tri-Capture is an odd little device with an interesting combination of features at a low price. I have used this for recording/sampling from consumer audio devices.
  • Like with the Duo-Capture EX, the Tri-Capture's driver has some unusual options and non-standard sample buffer sizes. I note the differences in the test results.
  •  

Test Setup and Method

For this round of tests I used my current DAW PC on the most recent build of 64-bit Windows 10. The current specs of this system:
  • CPU: Intel Core i7-5930K @ 3.5GHz
  • Motherboard: ASUS X99-A/USB 3.1 ATX
  • RAM: 32GB of DDR4 2133 MT/s
In order to keep the playing field level, I used the same USB and audio cables for all tests, where possible. (Some devices had special I/O connectors that required different cables.) I ran multiple tests at each sample buffer size for each device and selected the best/lowest test results from each device/buffer size combination.

In cases where the test results seemed surprising or unexpected, I re-ran all tests on the device in question to ensure results were consistent and reproducible.

The purpose of these tests was only to determine the measurable RTL of each device at each sample buffer size; not to establish the most reliable low-latency sample rate/buffer size combo under heavy DSP loads. (See the official DAW Bench tests for that sort of thing.)

Test Results 

I ran latency tests at four of the most common buffer sizes, all at a sample rate of 44.1kHz. Some quick notes before we get to the raw data:
  • Not all interface drivers support powers-of-two sample buffer scaling. In those cases I've added a * by the name of the device in the tables and graphs. Here are the exceptions:
    • For the Duo-Capture EX I had to use 144, 288, and 576 samples in the 128, 256, and 512 samples tests, respectively. This put that interface at a slight disadvantage for each test.
    • For the Tri-Capture I had to use 288 and 576 samples in the 256 and 512 samples tests, respectively. This also put that interface at a slight disadvantage for each test.
    • For the U-Control UCA222, I had to pick 132 samples for the 128 samples test. (The other common sample rates were available.)
  • The drivers of some of the devices did not offer as many buffer size options as others. This is why the 64-samples and 128-samples tests don't include scores for all eight interfaces. The interfaces that didn't support all testable sample rates were the Duo Capture EX, the Tri-Capture, and the UCA222.
  • Each test lists two scores for the RME Fireface UFX: One as a USB device, and one as a Firewire device.
  • The U-Control UCA222 was the only interface that didn't have ASIO drivers, so I tested it as a Windows Audio device.
  • All test results are reported as round-trip time in milliseconds. Lower scores/shorter bars are better.

64 Samples @ 44.1kHz

128 Samples @ 44.1kHz


256 Samples @ 44.1kHz




512 Samples @ 44.1kHz



Observations/Summary

  • True to its reputation, the Fireface UFX performed the best in all tests, with its USB mode slightly scoring better than its FW mode every time. (The USB and FW scores were always within 1ms of each other.)
  • Even though its larger-than-average sample buffer sizes put it at a slight disadvantage in every test, the Roland Duo-Capture EX fared rather well, capturing the third-best score in every round of tests where it competed.
  • Despite having very similar-seeming driver and control panel to the Duo-Capture EX, the Tri-Capture lagged behind the other Roland interface in both tests where it competed.
  • Considering that the Audio Hub 2x4 is really a Focusrite Scarlett interface in a Novation-branded box, its scores clearly demonstrate the poor performance of that generation of Scarlett interfaces on Windows. It scored significantly worse than most other interfaces on all tests but the last- and that one was a surprise...
  • ...which was the odd performance results of the Clarett 2Pre USB. In the 64-samples and 128-samples tests the Clarett performs reasonably well, at least when compared to the Audio Hub. (In the 64-sample test the Clarett's round-trip latency is almost one third of the Audio Hub's score.) However as the sample buffer sizes increased, so did the Clarett's relative latency, gradually closing- AND THEN PASSING- the gap with the Audio Hub, making the Clarett the worst-performing interface in the 512-samples tests.
  • When I was reviewing the test results before I began writing this article, I was so surprised by the Clarett's scores that I re-connected it to my test system and ran all of the tests on the Clarett again- only to find that they were the same. In both rounds of tests on this device, its round-trip latency grew progressively worse (relative to other interfaces) as the sample buffer size increased. This may point to some inefficient code in the current driver that is exacerbated as sample buffers grow.

Monday, February 1, 2016

How to Move Plugins and Sample Libraries Without Reinstalling or Reconfiguring Anything

I was really frustrated when Waves and MusicLab omitted the ability for users to choose where to install their products in Waves Central and RealEight. Even though I've got a kickin' rad DAW PC, my primary system drive is a small SSD and I don't have room on it for anything other than my operating system and my personal files. Neither Waves nor MusicLab would help me move their products to a different drive (I asked), so I came up with a different solution...

In version 1.1.0.0 of UltimatePluginTool, I've added the ability to relocate entire folders to any other folder or drive on your computer in a way that doesn't affect your existing programs. If you've ever moved a Native Instruments product to another drive and then tried to use Maschine or Komplete Kontrol afterward, you know that relocating an application usually requires more work than simply dragging around some files. Well, the new Relocate Plugin Content wizard of UltimatePluginTool addresses those problems by leaving a symbolic link in the old location where your files used to reside which silently redirects any applications who look there to the new, correct location.

The wizard can move the files for you or just create the link if you've already relocated the files. The user guide included with the download has full instructions, and I've posted a video tutorial that walks you through three different examples of the Relocate Plugin Content wizard in action.

Even though I added this feature specifically because I wanted to move some of my music applications to a different drive, UltimatePluginTool's Relocate Plugin Content wizard isn't limited to music software. You can seamlessly locate pretty much any folder on your PC to another directory or drive. I've already used it to move a number of applications onto a secondary "programs and plugins" drive. Liberate your applications and unburden your drives!

Support UltimatePluginTool

I develop and maintain free software on my own time. I don't charge a fee because I want everyone to have equal access to my programs- but if something I wrote helped you and you'd like to express your thanks in a concrete way, you can send a donation of any amount via PayPal. Support from my visitors covers my hosting and licensing costs, and gives me incentive to keep putting out cool new utilities.

If you wish to help out, you can enter a donation amount below and then click on the Donate button. You do not need a PayPal account in order to donate! Just click the "Don't have a PayPal account" option on the page that comes up after you click the Donate button. The donation amount is in U.S. Dollars (USD).

Amount: $


Note: You might receive a personal "thank you" from me in response, but I won't sign you up for any mailing lists and you won't hear from me again unless you contact me first. Thanks for your consideration!

Sunday, August 23, 2015

Playing General MIDI Files on Ableton Live Part 4: Roland Sound Canvas (Hardware)

This is part 4 of a multi-part series on how to use General MIDI files with Ableton Live. The first part covers the basics of General MIDI and how Live handles MIDI files. These subsequent posts are step-by-step walkthroughs for a variety of instruments.


ABOUT THE INSTRUMENT

In this post we're going to use a hardware GM-compatible sound module, a Roland Sound Canvas SC-88. The instructions we follow for this are virtually the same for any GM-compatible hardware synth as far as Ableton Live is concerned. Some instruments might need to be put into a special GM mode in order to load the right patches, though. Consult your hardware manual if you're using a different synth.

USING THE INSTRUMENT WITH LIVE

  1. Create a new, empty Live set and press TAB to enter Arrangement view. (Session view technically works, but if your MIDI file contains time signature or tempo changes, Arrangement view is more appropriate.) Drag your General MIDI file from the Live browser into your Live set. If it's a Type 1 file, all the tracks in the file should end up on separate MIDI tracks in separate MIDI clips in the Live set.
     
    If it's a Type 0 file, Live will only import a single MIDI clip/track, regardless of how many musical parts the song contains. You will have to convert the file to Type 1 and start over. See the first article in this series to learn how to convert MIDI files.
     
  2. For each new MIDI clip that Live created, select the MIDI clip and look at its Pgm Change settings in the Notes panel of the clip view. Each imported track (except for maybe the drum track) should at least have a Program Change value selected.


    If the current clip is not a drum channel, and you see no Pgm Change setting, Live might not have properly detected program change events for that track. See the first article in this series to learn how to locate program change numbers in MIDI files.
    Note: If your MIDI file contains program changes that occur within the song (if a single musical part changes tones as the song progresses) you will have to split those MIDI clips into separate clips so you can set the correct program change value on each clip individually. MidiYodi tells you where in the song the program change events occur, so they should be relatively easy to locate in your Live set.
     
  3. Since we're working with hardware, there are a couple more things we need to check out before proceeding. First,  go to Options > Preferences > MIDI Sync and make sure that the MIDI Output port that leads to your hardware synth is enabled. My Sound Canvas gets its MIDI from Port 8 of my MOTU Midi Express 128, and I can see that the Track box for that port is set to On, so I know this is set up properly.
  4. Now look at the Audio tab of Preferences and click Input Config to confirm that the audio inputs that receive sound from your hardware synth are configured. My Sound Canvas is connected to input ports 9 and 10 on my interface, and I'm going to use them as a stereo pair, and I see that "9/10 (stereo)" is enabled, so we're all set.
  5. Go to Create > Insert MIDI Track to add a new empty track in your project, and then drag the External Audio Effect device from the Audio Effects category of the Live browser into the track's Device View area. (Don't use a track that already has a MIDI clip on it; doing so will cause headaches if you ever want to mute or solo individual tracks.)

    Important: Leave the Audio To field set to "No Output", but set the Audio From field to the interface inputs that your synth is connected to. In my case, that's inputs 9/10.

    Now, you might ask, "Why are we using a MIDI track instead of an audio track for this?" Well, you can use an audio track, but when you do that you have to worry about track monitoring, and how Live compensates for delays when recording at various monitor settings. I prefer to use Live's External Instrument and External Audio Effect devices instead, because they behave more like plugins and they automatically compensate for latency.

    Next, you might ask, "Why use the External Audio Effect device instead of the External Instrument device?" Well, that's because the External Instrument device requires to to select a MIDI output in order to be able to select an audio input. Since we're putting this device on a track that intentionally has no MIDI, the External Audio Device makes more sense here. Setting Audio To to No Output basically turns the device into a live audio input.

    One further note: Since the External Audio Effect device is only available in Live Standard or Live Suite, if you're using Live Intro, you WILL have to use an audio track for this instead, and make sure that track monitoring is set to IN to hear incoming audio, or (better yet) use your interface's direct monitor ability instead.
     
  6. For each MIDI track in your Live set that has a MIDI clip on it, change the Output Type setting to point to the track where you loaded your virtual instrument plugin, and change the Output Channel setting to the MIDI channel you want to use for that part. For the most part the actual channels you choose don't matter (so long as they're different from each other), however, you should only use channel 10 for your drum parts (parts that actually use the multi-sample GM drum layout).
  7. Now try playing your song!
    If you find that the Sound Canvas isn't loading the correct patches, or something just doesn't sound right, check these things:
    • Each MIDI clip (except perhaps the drum track) has a Program Change setting.
    • You are using the correct Program Change values (remember, they should be the MidiYodi value plus 1 because of how Live numbers program changes).
    • Make sure your drum track is routed to MIDI channel 10, and that you have a GM drum kit loaded on that channel in your plugin.
    • Your MIDI output ports and audio input ports are enabled in Preferences, and the correct ones are being used in your tracks.
    • You started playback from the very beginning of the song, since the program change events only fire at clip start. Click the Previous Locator button several times to make sure you're playing from the beginning.
      The Previous Locator button.
That's it for now. Go back to part one for links to the rest of the series, in case you missed anything.

Sunday, August 9, 2015

Using the Roland FA-06 and FA-08 as DAW Controllers

After several weeks of research, I decided on one of the Roland FA series music workstations to serve as my main MIDI keyboard controller. In this post I talk about why I picked the FA-06 over other keyboard options, what accommodations I had to make in order to fit it into my rig, and how the keyboard integrates with Steinberg Cubase and Ableton Live.

IT WAS TIME FOR A CHANGE

After putting up with minimalistic 49-key and 25-key MIDI controllers for the past few years due to limited desk space in my small studio, I finally decided it was time to move on to a bigger keyboard controller with more features. Until the beginning of Summer 2015, the desk where I did all my music work looked like this:

The old, cramped setup.
My desktop monitors and clunky computer speakers left me so little room that not only could I not fit a very wide (or deep) keyboard controller on the desk to begin with, but when I actually needed to use the desk for writing, I had to disconnect my Roland A-49 controller and rest it against the wall until I needed it again. Since getting a bigger desk (or room) wasn't really an option for me, I developed a game plan for transforming my desk into a workspace that could accommodate a bigger controller and hopefully even leave me a little more surface area than I had before.

Here's what I did:
  • I bought a couple of these Cheetah monitor wall mounts to float my two side monitors over my desk.
  • I bought a Dell S2415H 24-inch monitor to replace my Dell S2440L 24-inch monitor, because my S2440L unfortunately wasn't wall-mountable. Another advantage of the S2415H is that it has built-in speakers, which helped me eliminate the need for desktop speakers.
  • I also got a different Cheetah wall mount for the new monitor, since it was in a corner and needed to extend further than the other two. (A note on both models of Cheetah wall mounts: In order to fasten these to my three Dell monitors, I had to pick up some 20mm-long M4 machine screws and matching washers at a local hardware store. My monitors all have recessed mounting slots that required longer screws than were included with these mounts, and I used the washers as spacers to result in a tight fit.)
  • I also got some mounting hardware to hang my 7-port USB hub to the wall, hidden behind my right-most monitor, leaving my desk completely empty, except for my MOTU Track 16 audio interface.
  • Of course I immediately filled the new-found space on my desk with a luxurious Roland FA-06 Music Workstation.
Here's what it looks like now:

The new, spacious setup.
But, you might ask, why did I choose a full-on workstation instead of just a nice MIDI Controller with Cubase integration, like the Nektar Panorama or Roland A-800PRO? Well, that's what the rest of this post hopes to answer.

WHY I CHOSE THE FA-06


My primary reason for wanting to expand from a 49-key to a 61-key controller was to avoid the frequent octave transposing that I had to do on smaller keyboard controllers whenever I used Kontakt instruments or drum samplers that have a GM drum layout. But the more I looked into existing keyboard controllers, the more I realized there were a number of other things I was looking for as well:

  • Requirement: Something that could make sounds of its own. I wanted to be able to work out melodies or chords quickly without having to fire up Cubase and open a DAW project. Straight-up MIDI controllers don't have on-board sound, so I started to look at synthesizers, stage pianos, and workstation keyboards.
  • Requirement: Something that provided some level of DAW control- especially transport controls. When I recorded vocals, I used to put my Steinberg CC121 controller on a TV tray and scoot it next to my microphone stand so I could toggle cycle mode and re-record takes without knocking over the microphone or getting tangled in headphone and mic cables. Transport controls on a MIDI keyboard would put these necessary buttons within much easier reach when I'm set up for tracking vocals. Many hardware synths and stage pianos have some knobs and faders that you can map to different DAW or plugin functions when you're working with a computer, but very few bespoke synths have transport controls. This narrowed my search again to mostly workstation keyboards.
  • Requirement: Something with a reasonable pitch and mod solution. Ideally I'd prefer something with good-feeling independent mod and pitch wheels, but a solid and reliable joystick solution was acceptable. The Yamaha MOXF6, Yamaha MX61, and Kurzweil PC3K6 keyboards have independent wheel controls, so they were under serious consideration. The current KORG offerings have very flimsy looking little joysticks, so I had to scratch them off the list. Also, as nice as the keybed and Komplete integration of the Komplete Kontrol S61 was, I am no fan of those weirdo ribbon controllers it has, so that was out of the running as well. Roland has their own solution, a combo pitch/mod joystick, where both pitch and mod return to the center position when you let go of the stick. While I'm not the biggest fan of the stick, the Roland sticks are much more durable than I've seen in Arturia products, or what I fear the KORG sticks are like, so Roland was still a contender.
  • Nice-to-have: General MIDI support. Often when I'm laying down the initial MIDI tracks for a new project, I use General MIDI patches just because I know the GM sound set so well. It's super easy for me to dial up an acoustic piano here, fretless bass there, and just get my notes and chords down before I start trying to pick the best possible sounds for the job. All the Yamaha, Roland, and Kurzweil keyboards I was considering offered some level of GM support, in that they responded to the typical program changes with appropriate patches.
  • Nice-to-have: Aftertouch support. Of all the keyboards I've owned, I think only one ever actually supported aftertouch- and it was the CME Xkey 25- something just too small and physically shallow for me to do serious work on. I was curious to get a board with aftertouch support just to see what it might add to my work- but this was far from a must-have, since I'd gotten by for so long without it. Neither the FA-06 nor the Yamahas featured aftertouch; only the Kurzweils.
  • Nice-to-have: USB streaming/audio interface support. While this started out as a nice-to-have, now that I've got it, I don't know how I lived without it. Both the Yamahas and the Roland FA series have the ability to serve as an audio interface, meaning you can make them the primary audio device in your DAW. You can plug your headphones into the keyboard and hear both the internal sound and all your other instruments. This is great for me on hot summer days when I don't want to power up my entire rig, which generates a lot of heat. I can just pop a pair of headphones into the FA-06 and do everything I normally do (except record vocals), and the only things I need powered on are the keyboard and my DAW PC. This also means that I can record audio from the keyboard directly into the DAW without any audio cables. Everything can go over USB. The Kurzweil workstations have varying levels of USB connectivity, but they lack anything as sophisticated as the Roland and Yamaha offerings, so Kurzweil was kind of out by this point.
  • Nice-to-have: I'd like to have some actual "desk space" on my desk. Even though I'd freed up a lot of room, my actual working area was still kind of tight. The Yamaha MOXF6 (40.5"x14"x5") was basically the largest possible keyboard I could fit on my desk, so anything smaller with a comparable feature set was desirable. This tipped the scale in favor of the slightly shorter, slightly shallower FA-06 (40"x12"x4").

THE ROLAND FA WORKSTATIONS IN PRACTICE

There are plenty of good reviews already that cover the sounds and the sequencing/sampling capabilities of the FA-06 and FA-08, but I haven't seen anyone talk in much depth about what it's really like to use them as DAW controllers, or how well they integrate with specific DAWs like Cubase or Ableton Live- so that's what I'm going to focus on here.

There are some basic instructions for configuring the FA-06 and FA-08 for DAW control in both the Reference Manual and the Application Guide (available here), but they omit some important steps (and they don't cover Ableton Live setup at all), so first let's go over the steps required for Cubase and Live. From here on out, I'm just going to say "FA-0X" since the steps are the same for both the 06 and 08 models.

SETTING UP DAW CONTROL IN CUBASE

The following steps assume you've already installed the FA-0X driver for your operating system.
  1. Exit Cubase if it is already running.
  2. From the STUDIO SET PLAY screen of your FA-0X, press MENU, then select System and press ENTER.
  3. On the General tab of System Setup, make sure that the USB Driver option is set to VENDOR (MIDI+AUDIO).

    Note
    If you have to change it, you will be prompted to restart your keyboard after you select WRITE. (Please do that before continuing to the next step.)
     
  4. Press the DAW CONTROL button to bring up the DAW Control screen.
  5. On the DAW tab of DAW Control, navigate to the CONTROL MAP line and use the wheel to select CUBASE.

    Important
    Press WRITE and then select OK to store your selection. If you don't do this, the FA-0X will forget its DAW Control settings the next time you power up.
     
  6. If you want to use the FA-0X like a true MIDI controller, select the Controller tab in DAW CONTROL mode, navigate to the Local Switch option and set it to OFF. Now when you play notes on the keyboard, you will only hear the FA-06's internal synth engine in DAW Control mode if it is selected as an output device in your DAW.

    Note
    Don't forget to press WRITE to save your settings.
     
  7. Launch Cubase and go to Devices > Device Setup.
  8. Click the + button and select Mackie Control from the list. This adds a "Mackie Control" entry to the Remote Devices list.
  9. Select the new Mackie Control entry under Remote Devices and set both MIDI Input and MIDI Output to FA-06 08 DAW CTRL.
  10. In the User Commands section of the dialog, you can set custom commands for pads 1-8 of the FA-0X's Sampler section (F1-F8). I do not believe there's a way to make the FA-0X use the "Shift+F1-8" or "User A/B" user commands, so I just leave those blank.
    There are many dozens of commands to choose from.

    Note
    To customize what your FA-0X's knobs and S1/S2 buttons do, go to the Controller tab of the FA-0X while it's in DAW CONTROL mode, and specify which CC value each physical control should use. The S1/S2 buttons can work in Momentary or Latch mode. In Momentary mode, the button fires a single event of the selected CC with a value of 127 when you first press it, and then fires another event of the same CC with a value of 0 when you release the button. In Latch mode, the button toggles between sending a 127-value or 0-value CC event each time you press it, and only fires the event upon pressing the button- not when releasing.

  11. Super Important: Select MIDI Port Setup in the Device Setup dialog and uncheck the "In 'All MIDI'" boxes for FA-06 08 DAW CTRL and FA-06 08.


    None of the documentation I've seen so far explains the difference between the three kinds of ports the FA-0X keyboards present, but unchecking In 'All MIDI' for the DAW CTRL port prevents the assignable sampler pads from transmitting MIDI notes when you're trying to use the pads to issue DAW control commands, and unchecking the box for FA-06 08 prevents Cubase from recording duplicate notes, as described below.

    When your MIDI ports aren't set up right, Cubase will record duplicate notes for anything you play. This has different results depending on which synths or plugins you're using as a sound source, so you may not even realize it's a problem right away. Some plugins will cut notes short when this happens, others will actually leave notes stuck on, just like keys on an old fashioned typewriter get stuck when you press a bunch of them at once.

    If you record a MIDI clip without disabling the extra In 'All MIDI' ports and then open that clip in Cubase's List Editor, you'll see the extra notes quite clearly.
    The problem with duplicate MIDI notes is most obvious in the MIDI List Editor.
  12. Even in DAW Control mode with Local Switch disabled, your FA-0X keyboard still functions as a 16-part multi-timbral synth when it receives incoming MIDI messages from your DAW. You can choose a default studio set to use for whenever you enter DAW Control mode on the Studio Set tab of the DAW CONTROL screen of the FA-0X. On the same screen you can pick which presets to use on each channel of the studio set. Again, remember to press WRITE to save any changes you make here.

SETTING UP DAW CONTROL IN ABLETON LIVE

The following steps assume you've already installed the FA-0X driver for your operating system.
  1. Exit Live if it is already running.
  2. From the STUDIO SET PLAY screen of your FA-0X, press MENU, then select System and press ENTER.
  3. On the General tab of System Setup, make sure that the USB Driver option is set to VENDOR (MIDI+AUDIO).

    Note
    If you have to change it, you will be prompted to restart your keyboard after you select WRITE. (Please do that before continuing to the next step.)
     
  4. Press the DAW CONTROL button to bring up the DAW Control screen.
  5. On the DAW tab of DAW Control, navigate to the CONTROL MAP line and use the wheel to select USER.

    Important

    Press WRITE and then select OK to store your selection. If you don't do this, the FA-0X will forget its DAW Control settings the next time you power up.
     
  6. If you want to use the FA-0X like a true MIDI controller, select the Controller tab in DAW CONTROL mode, navigate to the Local Switch option and set it to OFF. Now when you play notes on the keyboard, you will only hear the FA-06's internal synth engine in DAW Control mode if it is selected as an output device in your DAW.

    Note
    Don't forget to press WRITE to save your settings.
     
  7. Launch Live and go to Options > Preferences.
  8. On the MIDI Sync tab of Preferences, choose MackieControl as one of the options under Control Surface, and then pick FA-06 08 DAW CTRL for both Input and Output on the same row. You might notice that when you do this, the "DAW CTRL" ports disappear from the MIDI Ports list in the lower part of this dialog.
  9. In the MIDI Ports section of the MIDI Sync tab, Make sure that the Input port labeled only FA-06 08 is turned Off, but all the other FA-06 ports are turned On.

    If you don't disable the FA-06 08 Input port, you will encounter a problem where Live accidentally records duplicate notes when you play parts on the FA-0X keyboard. This can result in strange behavior, such as musical notes "sticking" on the FA-0X (or in virtual instruments you're triggering from MIDI parts you recorded with the FA), or notes being cut short unexpectedly. Unfortunately, Live doesn't provide any way for you to actually see evidence of the problem in the user interface. However, if you export MIDI clips recorded in Live to another DAW or MIDI editor, you can see the duplicated notes that happen as a result of leaving the FA-06 08 Input port enabled. In the below screenshot you can see that Live occasionally created extremely short duplicate notes in two parts of this simple sequence.
    Duplicate notes in MIDI recorded inside Ableton Live when the "FA-06 08" Input port was left enabled.
  10. To customize what your FA-0X's knobs and S1/S2 buttons do, go to the Controller tab of the FA-0X while it's in DAW CONTROL mode, and specify which CC value each physical control should use. The S1/S2 buttons can work in Momentary or Latch mode. In Momentary mode, the button fires a single event of the selected CC with a value of 127 when you first press it, and then fires another event of the same CC with a value of 0 when you release the button. In Latch mode, the button toggles between sending a 127-value or 0-value CC event each time you press it, and only fires the event upon pressing the button- not when releasing.
  11. To customize what the Sampler pads do, go to the DAW tab of DAW Control mode and choose CC values and button modes for the User Pad 1-8 settings. These options only appear in the USER DAW profile of the FA-0X. (In Logic, Sonar, and Cubase, you configure the pad functions inside the respective DAW.) Unlike the Logic, Sonar, and Cubase profiles, where you can actually assign DAW-specific commands to the pads, in the USER profile you are limited to only assigning CCs. You also have the option to configure individual pads to operate in Momentary or Latch mode, like the S1/S2 buttons. And as always, don't forget to WRITE.

THE FA-06/08 AS AN AUDIO INTERFACE

If you put the USB Driver setting of the FA-0X into VENDOR (MIDI+AUDIO) mode, the keyboard will appear to your DAW as a 2-in/2-out audio interface.
But the FA-0X is no ordinary audio interface! Here are some things you should know about the interface functionality:
  • By default, audio from internal FA-0X instruments and effects, as well as incoming audio from the analog inputs and the USB audio connection all go to the FA-0X's MAIN outputs, and this output signal goes both to the keyboard's physical MAIN OUTPUT jacks as well as the input channels of your DAW. So, unless you change the default input and output routings, any sound your FA-06 generates, or any sound coming into its inputs can be monitored and recorded inside your DAW without anything connected to the analog outputs of the FA-06. To record the FA-06's output over USB, you simply create a stereo audio track in your DAW and set it to record the FA-06 08 IN and IN(R) I/O ports as a stereo pair.
  • The FA-06 has two kinds of analog inputs: The LINE jack is a 1/8" stereo constant-level input, and the GUITAR/MIC jack is a 1/4" mono input with adjustable gain. (All inputs are unbalanced.) There's also a GUITAR/MIC switch that boosts the GUITAR/MIC signal by an additional 25-30db when placed in the MIC position (this doesn't affect the LINE input). The signals from these two inputs are automatically mixed, and by default these input signals are further mixed with the FA-06's internal sounds, so despite only appearing as a 2-channel interface to your DAW, you can actually record three different sound sources simultaneously into those two channels, similar to recording the output of a small outboard analog mixer.
  • You can change how the various inputs and outputs are routed in various tabs of the System Effects settings.
  • You can avoid experiencing phasing effects in Cubase when working with audio tracks that have track monitoring enabled by enabling the Direct Monitoring feature in Device Setup > VST Audio System > FA-06 08.
  • On Windows, audio applications generally only let you select one audio device (interface) at a time, so if you're using the FA-0X as your audio interface, you won't have access to any of your other audio interfaces while inside your DAW. If you prefer to use a separate audio interface, just use the FA-0X's analog outputs and use it like a regular hardware synth; there is no native way to route its USB audio to another interface. 
  • Also, while the FA-0X keyboards are 16-part multi-timbral, they only have two analog output buses (MAIN and SUB), and only one of those buses is available to the audio interface mode at a time, which means that you can't use the USB mode to record separately mixable parts from the FA-06 into your DAW. (If you had a 4-input external interface, you could record two different stereo parts out of the FA-0X's MAIN and SUB outputs if you assigned them appropriately in your performance settings.) The Roland Integra-7 has twice as many analog outs (and even a digital output connector), so that's where to look if you need lots of separate output channels.
  • When I'm finished using my computer for the day, I turn off my FA-06 and put the computer to sleep. The only times I ever fully shut down or reboot my PC are when I'm making hardware changes or when I install software or updates that require a restart. I have found that sometimes my FA-06 stops functioning as an interface (Cubase and Live can't access it when I select it as an audio device), and the only way to make it work again is to reboot the PC. (Cycling power on the FA-06 doesn't fix it, and attempting to disable/re-enable the driver in Device Manager causes Device Manager to lock up... it appears to be a driver problem rather than a hardware one.) I don't have this issue with any of my other interfaces (including other Roland units), so I really hope Roland fixes this in a future driver update.
In my day-to-day work, I'm finding myself turning on only my FA-06 and using it as my interface while I compose or do audio editing. I usually only power up the rest of the rig if I need to record vocals or hardware instruments (my RME Fireface UFX has balanced mic and line inputs), and my poor MOTU Track 16 has hardly been getting any use at all. (I might retire it at some point, but am still hanging onto it for its digital I/O, which I sometimes use when sampling virtual instruments.)

Also, the way I have my patch bays wired, the FA-06 analog outs default to going into the UFX's analog inputs 1 & 2, and the UFX's main outs default to going to my studio monitors. So I can actually turn everything on and hear the FA-06 through my studio monitors without switching which interface my DAW is using or plugging in any additional cables.
Input from the FA-06 passes directly through the Fireface UFX's main outs, leading to the studio monitors.

I now only have to power up the minimum amount of gear in order to get a given job done, with a minimum of cord patching and audio device switching.

FA-0X INTERFACE LOW LATENCY PERFORMANCE

In terms of low-latency performance, the FA-06 interface is average. It's much better than the Focusrite Scarlett 2i2 or the interface mode of the Access Virus TI2 (both of which I used to own), but not as good as my MOTU and RME interfaces. Like all Roland interfaces I've used, the FA-06's drivers don't use the powers-of-two method for selecting buffer sizes, so in my tests I had to use the closest buffer size I could get: 288 samples.

I tested four different interfaces on my new DAW PC, running 64-bit Windows 7 at 44.1kHz and 256 samples (or 288 samples in the case of the Rolands). Here are the round-trip latency results, as reported by the Oblique Audio RTL Utility (lower numbers are better):

SOUND BANKS AND EXPANSION LIBRARIES

The FA-0X keyboards are much more than simple ROMplers. They support a variety of synthesis methods, and are, in some ways, deeply programmable. But with this power comes a fair amount of complexity. It actually took several weeks of actively using my FA-06 before I fully understood the different classes of sounds it supports, and how those sounds are managed.

There are five top-level categories of "tones" (patches) on the FA-0X keyboards, most of which come from the libraries of other Roland instruments, including the Integra and Fantom lines:
  • SuperNATURAL acoustic tones (SN-A): These are realistic, expressive acoustic instruments that can be customized in the Tone Edit menu.
  • SuperNATURAL synth tones (SN-S): These are more more traditional synthesizer patches that can also be deeply customized in the Tone Edit screen. These tones can comprise up to three oscillators, which can be either PCMs (samples) or traditional synthesizer waveforms.
  • SuperNATURAL drum kits (SN-A): These are high-quality, multi-sampled drum kits with a GM layout. These are fully customizable as well.
  • PCM Synth Tones (PCMS): This bank contains PCM/sample-based sounds. These tones comprise up to 4 layers of PCM sounds. There are several subcategories of PCM Synth Tones:
    1. Presets (PRST): Built-in PCM tones, apparently imported from the Roland XV series of synthesizers. These are user-editable.
    2. General MIDI (GM2): This is a full bank of small-footprint General MIDI patches. To my understanding, this is different from the Integra-7's HQ GM sound set. The FA-series GM2 set sounds very similar to that of my Roland SC-88 Sound Canvas. None of these tones are editable.
    3. Expansion slots 1 & 2 (SLOT1, SLOT2): These are virtual expansion slots where you can install special expansion sets made specifically for the FA-06 and FA-08, which are available at the Axial site. These patches are also freely editable.
  • PCM Drum Kits (PCMD): Drum kits from any of the aforementioned PCM subcategories show up here, and conform to the General MIDI drum layout. Any kits specifically associated with the FA-0X GM2 set are not editable, but non-GM2 presets and downloaded PCMD kits are editable.
Aside from the five types of tones, you can also record or import samples for use on the FA-0X Sampler pads. These samples are stored in a different part of memory from the PCM waveforms used in the various tone categories, and are thus ONLY available for use when triggered by the pads or the built-in sequencer. (As a disappointing side note, the pads do not transmit MIDI note data, so they can't be used to trigger external synths or drum samplers.)

The FA-0X keyboards offer a number of ways to import samples and patches:
  • For samples to use as loops or one-shots on the FA-0X pads, you can either record your own samples or import them from an SD card. 
  • You can download sounds for the Roland Integra-7 from the Roland Axial site, and import them as user presets via a complicated process that uses the included SD card. Sounds you import from downloaded Integra-7 libraries are imported as user presets in the SuperNATURAL synth tones (SN-S) bank.
  • You can download third-party sample packs for the Roland FA series at the FA-06 / FA-08 section of the Axial site. Importing these is an unusually complicated procedure which involves the SD card.
  • Also available at the Axial site are expansion sets designed explicitly for the FA-06 and FA-08 workstations. Instead of installing these via SD Card, you actually import these via USB thumb drive (using the special "FOR UPDATE" USB slot on the back of the unit). In order to import these sounds, you boot the FA-0X into a special mode, and then indicate which expansions to install in which of the two of the keyboard's virtual expansion slots. Sounds imported this way will appear in the PCMS category of sounds, grouped by expansion.
    FA-series libraries labeled "EXP-xx" are real expansion sets that go into the virtual expansion slots.
    The others are just mini sample packs.
    The process for importing expansion packs is very similar to the steps for applying system updates for the FA-0X keyboards.

FINAL THOUGHTS


After a couple of months of using my FA-06 on a pretty regular basis, I am still happy with my decision. The only other keyboard I know of that's really in the same league as the FA-06 in terms of features I was looking for is the Yamaha MOXF6, and while I'm sure it's a fine workstation, I doubt I would be more pleased with it than I am with the Roland. I'll wrap this up with a quick list of pros and cons.

WHAT I LIKE

  • Large and broad selection of high-quality usable sounds.
  • Much more programmable and customizable than I expected. This is no simple ROMpler.
  • Nice-feeling keybed.
  • Lovely, informative display.
  • Good set of physical controls.
  • DAW integration gives me quick access to transport controls and up to eight frequently-used Cubase features at a time.
  • Built-in audio interface enables me to compose and mix without having to power on my whole rig.
  • Axial library provides me access to a surprisingly large number of free new sounds.
  • General MIDI support. (I actually use GM when sketching out ideas!)

WHAT I DON'T CARE FOR

  • Keyboard doesn't support aftertouch (but neither did the competing Yamaha models). 
  • Disappointing implementation of the sampler/pads. I don't care too much about not being able to use my own samples in patches, but I wish I could at least assign MIDI note values to the pads so I could trigger an external drum sampler.
  • Need to use USB thumb drives and SD cards to import different kinds of material, when the keyboard has a USB connection to your PC already. Why not use the connection we already have?
  • Interface mode performs well when it works, but does not seem stable across multiple sleep/wake cycles. Sometimes have to reboot PC in order for DAWs to use the interface again.
  • I wish it had the Integra-7's "HQ GM2" General MIDI bank!


Saturday, July 25, 2015

Setting Up Vocoders in Cubase Part 3: XILS V+

This is part 3 of a multi-part tutorial on setting up vocoder plugins in Cubase. See part 1 if you missed the introduction.


XILS V+ is modeled after the classic Roland VP-330 Vocoder Plus, which sported both string and voice synthesis capabilities in addition to a vocoder. V+ is available in VST 3 format, making it easier to configure than most other vocoder plugins, however the plugin itself is quite complex. You will need to devote some focused time to studying the user guide and experimenting with this plugin to get the most out of it, but this tutorial will at least help you get the vocoder section working in Cubase. We're going to take a look at two different configurations: One using V+'s built-in synth engine as the carrier, and another using an external carrier.

The screenshots below use the Vocoder Tutorial Projects that you can download at the Ultimate Outsider Downloads page.

USING V+'S INTERNAL CARRIER

In this configuration we'll use V+'s built-in synthesizer as the carrier. This means we need an audio track or group channel to serve as the modulator (voice), and a MIDI track to play the carrier signal on the plugin's synth. The Vocoder Internal Carrier demo project in the tutorial projects download is already set up for this.
  1. In the Vocoder Internal Carrier demo project (or your own Cubase project), add V+ as an insert on the audio track or group channel you wish to use as your modulator. (If you are using a group channel in a Cubase project of your own, make sure that your modulator source's output is not routed to Cubase's "Stereo Out," because if it is, then you will always hear the raw modulator audio mixed in with V+'s outputs.)

    Note
    If you have both the VST 2 and VST 3 versions installed, both will probably appear in the plugin selector, because unlike Waldorf Lector, XILS internally uses different plugin IDs for the two flavors of V+. (The VST 3 version has an "III" icon in its entry in the plugin list.) While VST 3 is not really required for this configuration, it's usually best to use VST 3 when available.
  2. Since V+ isn't just a vocoder, not all of its presets use the vocoder feature. Choose the Factory > XILS-lab > VOC Reverb Vocoder XO preset to begin with.


  3. On your MIDI track's inspector, route the track's MIDI output to your V+ instance, as shown here:


  4. Begin playback on a section of your project that loops your modulator and carrier tracks. You should now hear a vocoded harmony line. There isn't a whole lot of visual feedback in V+. The green LED will illuminate when the plugin receives a modulator signal, and the red LED comes on if the modulator is nearing maximum volume (though it doesn't necessarily mean that it's clipping). Lower the volume on your modulator track if you hear clipping or distortion. The keys on V+'s virtual keyboard will indicate when the plugin is receiving MIDI. If you don't hear anything or see key movement, check your MIDI routing. Also make sure the EXT SYNTH fader next to the Master Volume knob is all the way down.


If you followed along using the tutorial project, the result should sound like this:

USING AN EXTERNAL CARRIER


In this configuration, we'll pass audio signals for both modulator and carrier. The Vocoder External Carrier demo project includes an audio clip to use for the carrier, but the carrier could be a VST instrument as well if you have programmed MIDI that matches your audio material.

  1. In the Vocoder External Carrier demo project (or your own Cubase project), add V+ as an insert on the audio track, instrument track, or group channel you wish to use as your modulator. (If you are using a group channel in a Cubase project of your own, make sure that your modulator source's output is not routed to Cubase's "Stereo Out," because if it is, then you will always hear the raw modulator audio mixed in with V+'s outputs.)

    Note
    This configuration requires the VST 3 version of V+. If you have a VST 3 version installed, it will have a little "III" icon in the plugin seV+, like this:

     
  2. Since V+ isn't just a vocoder, not all of its presets use the vocoder feature. Choose the Factory > XILS-lab > VOC Reverb Vocoder XO preset to begin with.


  3. Click the Activate Side-Chain button so that it lights up in orange. 

  4. If you're using an audio track or group channel as your carrier signal, select that track in Cubase. In the track's inspector, route its output to V+'s sidechain input.
    Otherwise, if you are using a VST plugin as your carrier, open the MixConsole, and on the channel strip where your plugin resides, change the output routing to V+'s sidechain input.
    Route VST plugin outputs from the MixConsole window. Above picture is from the Lector post. You will see "XILS" here instead.
  5. In V+, put the EXT SYNTH fader all the way up and make sure the SIDE CHAIN SELECTION rocker is in the up ("Synth: Side, Mic: Input") position.


  6. Begin playback on a section of your project that loops your modulator and carrier tracks. The green LED will illuminate when the plugin receives a modulator signal, and the red LED comes on if the modulator is nearing maximum volume (though it doesn't necessarily mean that it's clipping). Lower the volume on your modulator track if you hear clipping or distortion. If you don't hear anything, make sure the EXT SYNTH fader next to the Master Volume knob is all the way up and double-check your routing of your carrier audio source (step 5).
If you followed along using the tutorial project, the result should sound like this:

Conclusion

If you were successful in following the above use cases, you should now be able to jump in and explore V+'s many features.

In the next part of this tutorial, we'll set up TAL-Vocoder...