Showing posts with label kontakt. Show all posts
Showing posts with label kontakt. Show all posts

Sunday, October 15, 2017

Porting DAW Bench Projects to Ableton Live

Vin Curigliano's DAW Bench is the standard toolset for measuring digital audio workstation hardware and software performance. While the current DAW Bench suite includes projects for several different DAWs, Ableton Live isn't one of them- which was a problem for me, since I was planning to investigate the performance differences between Live and Cubase for an upcoming post. Rather than ditch DAW Bench and go to the effort of developing my own test suite from the ground up, I chose to port the DAW Bench Cubase sessions to Ableton Live. What follows is a detailed analysis of the original DAW Bench projects, and my account of the surprises and challenges I encountered when porting those projects to Live.



When I first began this effort I thought I was the first person to do such a thing, but I eventually discovered user on a music forum who did his own attempt at a Live port a few months back. His goal was different from mine, and his projects weren't direct ports (he only replicated DAW Bench's "DSP" tests, and he chose a different set of plugins for his projects from the ones used in the official tests), so I continued with my own effort.

It is October 2017 as I'm writing this, so my observations here are based on the 2017 edition of the DAW Bench DSP and VI projects.

Analyzing the DSP Projects

Each DAW Bench DSP project contains hundreds of instances of a given CPU-intensive effects plugin, simulating a very complex mix. The "score" of a DSP test is the number of plugin instances you can enable without encountering any glitches in the audible audio.
  • There are four audible tracks of pre-recorded audio, comprising the loop that plays while you enable FX plugins, listening for pops and drops. There are no effects plugins on these tracks.
  • There is another "monitor" track which is just a recording of a sine wave. I don't know its purpose, but its track volume is turned all the way down.
  • Next there are 40 more tracks of sine wave recordings, each with eight instances of the plugin under test filling the track's insert slots. Each instance is disabled when you first load the project. Track volume for each of these tracks is also turned down all the way.
  • All tracks are routed to the main stereo outs, but only the first four audio tracks are audible due to their volume settings.
  • There are three different DSP projects, one for each of these free-to-use effects plug-ins: SGA1566 (Shattered Glass Audio), MJUC jr. (Klanghelm), and a special version of ReaXcomp (Cockos) which is actually included with the DSP project download.
The DSP-1566 project on Cubase 9.

Analyzing the VI Projects

While the DSP projects are all about effects plugins, the VI tests only use instances of a virtual instrument plugin: Native Instruments Kontakt 5. The "score" of a VI test is the number of individual Kontakt "voices" you can have playing simultaneously before encountering audio glitches.
  • The project contains one "Multi1Orchband" instance of the Kontakt plugin that contains a 16-part multi (one part per MIDI channel) of different Kontakt instruments that comprise most of the audible content in the project.
  • Next there are ten "Multi2Poly" instances of Kontakt, each with 16 instances of the same instrument: A layered pad patch named "Light Breaks Through." Due to the patch's two sample layers, a single MIDI note played with this patch uses two Kontakt voices/oscillators. As with the sine tracks in the DSP projects, each instrument part in the Multi2Poly multis is turned down all the way. More on this later.
  • The project also contains 16 MIDI tracks, each routed to a different MIDI channel in the Multi1Orchband Kontakt instance.
  • Finally there are ten folders containing 16 MIDI tracks each, each one routed to its respective MIDI channel in one of the ten Multi2Poly instances. The MIDI tracks are simple clips that play a 16-bar sustained 10-note chord. So at play time, a single Multi2Poly instance can have up to 320 voices going at a time (16 parts of a 2-voice patch playing 10 notes each).
  • There are two flavors of VI projects, "CV" and "NCV." In the CV project. many of the instruments in the "Multi1Orchband" multi have convolution reverb enabled as an insert effect, while that effect is bypassed in the NCV project. Both projects use convolution reverb as a send effect on a few channels. Importantly, the Multi2Poly multi is identical between the CV and NCV versions of the project (no reverb effect actively enabled as an insert or a send), so the results between CV and NCV tests are generally not very significant.
  • The VI projects in DAW Bench were initially developed using Kontakt 4, whose factory library had a different layout from the library in Kontakt 5. While the current generation of the DAW Bench projects uses the Kontakt 5 plugin, the multis still use samples from the Kontakt 4 library. I am a licensed owner of Kontakt 4 but I do not currently have that version of the plugin installed anywhere, so I keep a folder containing all the necessary samples on my hard drive for when I need to do tests.
The VI CV project on Cubase 9.

Porting the DSP Projects

  • Session view vs Arrangement view: Cubase is a traditional "piano roll" DAW while Live offers both a piano-roll style Arrangement view and the clip/loop-based Session view. I chose to build my projects in Session view because of the looping nature of the tests (it's just a few measures of repeating audio, after all), and because this view offers better access to the plugin slots for every track (after some UI resizing, at least).
  • Audio tracks: The DAWBench DSP 2017 folder includes an "Audio" folder that contains the pre-recorded audio content (including sampled sine waves) used by these projects, which I easily imported into Live as stems. I grouped the tracks in the same order as the folders used in the Cubase projects.
  • Plugin presets: All instances of the effects plugins in these projects use identical settings, which is important, because some plugin presets can be more CPU-intensive than others. Since plugin settings are embedded in the DAW project, I didn't have preset files I could import into Live, so I noted all of the plugin values used in the Cubase projects and created presets matching those settings for each of the plugins in Live.
  • Plugin inserts: Just like with the Cubase projects, I inserted 8 instances of the desired effects plugin on each of the sine tracks. I enabled display of the insert slots in Session view and resized it so all 8 slots were visible at all times.
  • Levels and routing: All tracks are routed to Live's Master outs, but all of the "Sine" tracks are set at -inf volume.
The DSP-1566 project on Live 9.

Porting the VI Projects

  • MIDI tracks: For the MIDI parts that play into the "Multi1Orchband" instance of Kontakt, I dragged all of the MIDI clips out of Cubase and imported them into Live as MIDI clips. There were 16 MIDI clips for the Orchband multi, and another 16-bar MIDI clip for the polyphonic Sine tracks. This clip simply played a 10-note chord for a full 16 measures. Note: Due to an issue I discovered while performing benchmark testing, I discovered that the original 16-bar Poly tracks could not be used for reliable testing. (I will go into more detail on this in my next post.) Because of this I also created a 1-bar version of the Poly track that plays a sustained chord for the first seven 8ths of the measure. Session view allows me to add both the 1-bar clip and the 16-bar clip to every poly track and switch between them at will. Because of this I also edited separate copies of the original Cubase VI projects to use the same 1-bar loop.
  • Audio tracks: The VI projects include one audible pre-recorded audio track (a 2-bar drum loop to accompany the Orchband parts), and 16 sine wave tracks whose volume is turned to -inf/silent. I presume these additional tracks are to help simulate a real music project that is handling both virtual instruments and audio tracks.
  • EQ: In Cubase, each of the Sine audio tracks had channel EQ enabled, although it wasn't applying any boosts or cuts. This is not a default track setting, however, so I figured it was intentional. Since Live doesn't have built-in track effects, I instantiated an EQ Eight effect on each of the Sine tracks in Live, and only enabled the first four filter activators, setting them to the same frequencies as those in the Cubase projects, to simulate an equivalent processing load.
  • Levels and routing: All audio outputs are routed to the Master outs. The Cubase VI projects use the MIDI volume fader in the inspector to set the volume of each part in the Orchband multi. Live uses envelopes for this sort of thing, so I used the pink noise mixing method to set the MIDI levels of each of the audible MIDI parts. As mentioned before, all Sine audio tracks were set to -inf, and most importantly, all parts in the Multi2Poly instances of Kontakt were also turned down to -inf- which proved to be a problem during testing.
  • Kontakt multis:
    • I didn't want to have to go through the laborious process of browsing for the correct samples for each of the VI projects when loading them into Live, so in Cubase, I opened both the CV and NCV versions of the DAW Bench projects and saved the Kontakt multis as "monoliths," which include samples. I saved only one copy of the Multi2Poly multi (since it is identical in both flavors of the DAW Bench VI projects), and separate CV/NCV versions of the Multi1Orchband multi. To ensure that my choice of monolith vs. traditional NKI did not adversely affect my tests, I did do a project built that used the traditional sample loading method. I found that RAM consumption was identical whether you used a monolith or not (Kontakt appears to load all samples for all parts when it is able to do so).
    • Upon my first playback of my imported MIDI clips and multis, I discovered something very strange. One of the parts in the audible potion of the project was clearly out of tune, and not playing in the same way that it sounded when playing under Cubase. It took a while to debug, but I determined that the problem was ocurring in part 13 of the Orchband multi. It was a patch named "Mini Lead 2." This Kontakt patch is explicitly designed to be monophonic (to only play one note at a time). Strangely, the original Cubase DAW Bench projects play chords into this track and they are audible as chords. I don't know why this works under Cubase (because it's not supposed to). But basically, the patch's monophonic design was affecting how it interpreted the chords being sent to it under Live, resulting in strange and unexpected behavior. In order to make the project sound the same in Live as it does in Cubase, I had to bypass the Unisono behavior on Mini Lead 2.

      Here's a demonstration of the Unisono issue with the Mini Lead 2 part. It's a 16-bar track divided into four 4-bar sections: 1) The track as it's supposed to sound, 2) The Mini Lead 2 part correctly playing, soloed, 3) The track when the Mini Lead 2 part is not working correctly, and 4) The out-of-tune Mini Lead 2 part, soloed.

The VI CV project on Live 9.

The results

See my upcoming post about the DAW Bench results when I compared Live 9 to Cubase 9. I may also publish these project files at some point so others can do their own tests in Live.

Tuesday, September 5, 2017

Comparing DAW Performance of Recent Cubase Versions on Windows

I recently had to increase the buffer size setting on my audio interface to eliminate audio glitches in a music project on Cubase Pro 9. Since I almost never have to adjust my interface settings while producing a track, I wondered if perhaps Cubase 9 wasn't performing as well as previous Cubase versions I'd worked with. I searched around for some performance information, but I couldn't find any detailed, up-to-date comparisons of recent Cubase versions- so I decided to do my own.


Cubase versions under test

I decided to test the most recent available 64-bit versions of the last four major Cubase releases:
  • Cubase 6.5 - Originally released February 2012, the latest version is 6.5.5 from June 24, 2013.
  • Cubase 7.5 - Originally released December 2013, the latest version is 7.5.40 from Jan 19, 2015.
  • Cubase Pro 8.5 - Originally released December 2015, the latest version is 8.5.30 from Feb 22, 2017.
  • Cubase Pro 9.0 - Originally released December 2016, the latest version is 9.0.30 from July 20, 2017.
In addition to comparing basic performance of individual Cubase releases, I also wanted to examine the effects of ASIO-Guard, a feature Steinberg introduced with Cubase 7. By using smart management of CPU time and audio buffers, ASIO-Guard claims to increase the amount of plugins you can run without encountering audio glitches. Steinberg claims to have made improvements to ASIO-Guard over time, so I wanted to see how the feature had changed.

DAW Bench and Test Preparation

I installed each version side-by-side on my PC, patched them with the latest updates, and then downloaded the 2017 versions of the DAW Bench test projects. In case you're not familiar with DAW Bench, it's a collection of DAW projects assembled by audio professional Vin Curigliano to assess a digital audio workstation's ability to reliably produce audio while operating under heavy DSP workloads. When a computer's DSP resources are exhausted, audio suffers, with pops, drop-outs, and strange digital artifacts. Many factors contribute to a DAW system's ability to perform well: CPU, chipsets, drivers, operating system, DAW software, and audio interfaces all play a role.

The current iteration of DAW Bench includes five different Cubase test projects, broken into two categories.

  • The DSP projects contain some basic audio tracks with literally hundreds of instances of a specific effect loaded up on various tracks. These push your computer's computational digital signal processing capabilities to its limits. The "score" for a DSP test is the number of plugin instances that can be activated without glitching the audio.
  • The VI projects use instances of Native Instruments Kontakt to test your computer's virtual instrument oscillation/voice generation abilities by playing from hundreds to thousands of simultaneous notes of polyphony. The "score" for a VI test is the number of musical notes that can play simultaneously without glitching the audio.

Each of the DSP projects uses a different freely-available effects plugin:
  • DSP-1566 uses Shattered Glass Audio's SGA1566, which is a CPU-intensive emulation of a vintage tube amplifier.
  • DSP-MJUC uses Klanghelm's MJUC jr., a "variable-mu" compressor plugin.
  • DSP-REAX uses a specially-compiled version of Cockos ReaXcomp, a multi-band compressor. (Note: The correct version is included in the DAW Bench download, don't use the one from the Reaper site.)
There are also two flavors of the VI tests: The "VI-CV" tests use Kontakt's internal convolution reverb effect (using more DSP power), while the "VI-NCV" tests have no reverb enabled.

I performed the tests on my primary DAW PC. The full specs of the system are published elsewhere, but here's the pertinent information:
  • Processor: Intel i7 5930K @ 3.50GHz (6 physical cores)
  • RAM: 32GB
  • Video: NVIDIA GeForce GTX 960
  • Operating System: Windows 7 Professional SP-1, 64-bit
  • Audio Interface: RME FireFace UFX, in FireWire mode
  • Interface Settings: 44.1kHz, 256 samples.
  • Windows Optimization: The only Windows performance tweak I made was to select the High Performance power scheme in the Power Options control panel and to disable some unneeded startup processes and services. I have not adjusted any of the more arcane Windows settings such as the MMCSS options.
  • Cubase Optimization: In all of my tests I use the default Cubase performance settings, with the obvious exception of disabling/enabling ASIO-Guard for a specific round of tests. So this means I'm leaving Audio Priority to Normal, Activate Multi Processing is checked, Activate Steinberg Audio Power Scheme is unchecked (I'm using the built-in Windows High Performance scheme), and on versions of Cubase that offer various "ASIO-Guard Level" settings, I'm using the normal level.

DSP Test Results

The results of the DSP tests are below. For versions of Cubase with the ASIO-Guard features, separate scores are shown with the feature disabled ("no AG") or enabled ("AG"). Cubase 6.5 is the only tested version which lacks that feature.

DSP Test Raw Data (44.1kHz, 256 samples)
DSP Test Chart
The results weren't very dramatic, however they did show modest gains for the ASIO-Guard feature- particularly for versions 7.5 and 9.0. Cubase 8.5 with ASIO-Guard enabled scored the best for 2 out of 3 tests while Cubase 9.0 with ASIO-Guard disabled scored lowest in all three tests.

VI Test Results

The virtual instrument tests were a little more interesting. In the tests below, "VI-CV" are with Kontakt's convolution reverb effect enabled, while reverb is disabled in the "VI-NCV" tests.

VI Test Raw Data (44.1kHz, 256 samples)

VI Test chart

A few things stand out in these tests:
  • First, ASIO-Guard made dramatic improvements in both Cubase 8.5 and Cubase 9.0, while their ASIO-Guard gains weren't quite as impressive in the DSP tests. The feature shows a clear and demonstrable benefit, at least for some plugin duties.
  • The improvement ASIO-Guard made on Cubase 7.5 was much less impressive, and I am guessing it's because the Cubase 7.x implementation of ASIO-Guard did not fully support multi-timbral plugins such as Kontakt.
  • It was also interesting that while Cubase 9.0-with-ASIO-Guard gained the second-highest score in the test, without ASIO-Guard, Cubase 9.0 scored the lowest on these tests. Cubase 8.5 scored significantly higher, in both the ASIO-Guard enabled and disabled tests.

Final scores

I wanted to be able to rank individual Cubase versions in terms of performance, but I didn't want the VI tests to skew the numbers (since the VI scores reach up to the thousands while the DSP scores are all down in the low hundreds). In order to give each test equal weight, I divided the VI test scores by 10, and then I summed all 5 test scores for each DAW and ASIO-Guard setting.

Final Scores (raw)
Final Scores (chart)
With these adjusted performance scores, it appears that Cubase 8.5 with ASIO-Guard is the best-performing version of Cubase in recent years, although Cubase 9.0 still performs very well in second place so long as ASIO-Guard is enabled. However with ASIO-Guard disabled, Cubase 9.0 is the worst-performing version of Cubase of the versions tested.

Conclusions

  • Cubase 9 performs slightly worse than Cubase 8.5, given the same content and settings on the same system. Without ASIO-Guard, Cubase 9 performed about 4 percent worse than 8.5. With ASIO-Guard there was only around a 2 percent difference.
  • Core Cubase performance (without ASIO-Guard) has not changed significantly over time. With Cubase 7.5 and 8.5 performing around 1 percent better than Cubase 6.5 and Cubase 9.0 performing nearly 3% worse, Cubase has delivered more or less consistent performance across major releases.
  • ASIO-Guard can make a big difference, but it depends on the specific plugins and workload. Both Cubase 8.x and 9.x saw huge gains in the VI tests with ASIO-Guard enabled, but the gains were less impressive in the DSP tests.
  • Cubase makes very good use of multi-core processors and hyper-threading (*). Not all Windows DAWs handle modern CPUs the same, but Cubase has, for some time, been quite good at making use of both physical and logical CPU resources to deliver reliable audio under heavy DSP loads. Here's a screenshot of Windows Task Manager while Cubase is performing one of the DSP tests covered earlier. Every logical core of my i7 5930K is working at the maximum allowed by the Windows MMCSS settings (which reserve 20% of CPU power for background tasks). I plan to explore this stuff a little more in future posts.
(*) As of the time of this writing there is a known issue with Cubase on Windows 10 where Windows imposes a thread limit that can result in audio instability on CPUs with more than 14 logical cores (or more than 7 physical cores). For now, Steinberg recommends using Windows 8.1 or earlier for top Cubase performance on CPUs that exceed 14 logical cores, or using workarounds on Windows 10 which are documented at the above link to at least avoid the audio glitches resulting from this limitation.

Sunday, June 4, 2017

SOLUTION: Corrupted User Interface and Broken Keyswitches in Kontakt Instruments

I recently had a terribly frustrating problem with the Kontakt 5 sampler incorrectly loading Native Instruments and third-party commercial libraries which took many combined hours of my time to investigate, experiment with, and ultimately fix. I couldn't find any information on the internet that pointed to a solution (or even a cause) for this problem; I was completely on my own. I am documenting the ordeal here for any unlucky travelers who run into the same issue. Please note: I am a Windows user, and I don't know if this problem or its solution translate to Mac OS.



SYMPTOMS


I discovered the problem after applying a patch to Soniccouture's excellent drum library, Electro-Acoustic. Installing the patch is a manual process which requires copying some files into the instrument's Library folder. To test the changes, I launched Kontakt in stand-alone mode and opened Electro-Acoustic, and was greeted by this horrific result:

As shown in the image, all controls from all of the plugin's built-in tabs are visible all at once, rendering the user interface (UI) unreadable. Additionally the highlighted keyswitches shown on the virtual keyboard are all wrong.

Thinking I had perhaps done something wrong when applying the instrument patch files, I tried out a few other libraries. And unfortunately, I discovered that the same issue was occurring in many of them now. Here's Native Instruments Emotive Strings:
Again, all UI elements of the instrument were displayed on-screen at once, and none of them were usable.

I then tested Kontakt in my two DAWs to see if results were any different. Here's what I found:
  • When launched as a plugin in Ableton Live 9, Kontakt behaved just the same as in stand-alone mode.
  • It was even worse in Steinberg Cubase 9, though. In Cubase, after opening a new instance of Kontakt and selecting a library, Kontakt would spend some time loading samples, but then would eventually freeze, locking up Cubase entirely. It wouldn't display the instrument UI at all, and since Cubase was unusable, the only way to exit it was to kill the process in Task Manager.

OBSERVATIONS

Here's a quick list of things I observed over the next several days in my quest to solve the problem.
  • The problem only affected stand-alone mode and new instances of the Kontakt plugin in a DAW, not plugin instances that had already been saved in existing Cubase projects. I even had a couple of projects that used Soniccouture Electro-Acoustic (the instrument I was using when I discovered the whole problem) which loaded and played fine. It was only when I added a new instance of Kontakt to a new or pre-existing project that the issue occurred.
  • Updating to the latest Kontakt version didn't help. I don't know exactly which version I had installed when I first hit the issue, but I checked Native Access and saw that there was an update available (5.6.8). I installed the update but found that it did not fix my issue.
  • Uninstalling/re-installing Kontakt didn't work- even if I manually cleaned up left-over registry and file traces that the uninstaller doesn't remove. (Spoiler alert- there was ONE post-uninstall trace of the program that I was overlooking when doing this clean-up. More about this in the "solution" section.)
  • I normally use Windows 7, but I have another boot partition with Windows 10, that also has Cubase and Native Instruments Komplete 11 installed. When I switched over to Windows 10 and tried loading some of the same libraries that were giving me problems on Windows 7, I found that they worked fine. I also ran Native Access to make sure all my plugins were the same version I was running in Windows 7, so this ruled out the specific version of Kontakt. Version 5.6.8 was not the problem.
  • Here was the real breakthrough, though: After I switched back to Windows 7 I logged into a different user profile that I hardly ever use. I launched Kontakt in stand-alone mode, and loaded Electro-acoustic... and this time it worked! Both the UI and keyswitches were now working properly! This told me it wasn't an installation problem, but rather something specific to my Windows user account.
  • On this working user profile, I ran Sysinternals Process Monitor while launching Kontakt and loading the Soniccouture instrument again, watching exactly what Kontakt 5.exe was doing- and this is when I saw it: Kontakt was using a registry subkey that I had overlooked previously, when I was doing manual post-uninstall cleanup of Kontakt. I had already been deleting the Kontakt-related keys under HKEY_LOCAL_MACHINE, but I had forgotten to check for anything under the user-specific portion of the registry: HKEY_CURRENT_USER!

SOLUTION

So here's what I did to finally fix the problem:
  1. Make sure no instances of Kontakt are currently running, either as a stand-alone program or a plugin.
  2. Launch regedit.exe and browse to this location in the registry: HKEY_CURRENT_USER\Software\Native Instruments\Kontakt 5
  3. With the Kontakt 5 node selected in the left pane of the window, select File > Export and save a backup copy of the registry contents.
  4. Now right-click the Kontakt 5 node and click Delete on the shortcut menu.
  5. When you are asked if you are sure you want to permanently delete the key, click Yes. (Kontakt will re-create this key with the default program settings the next time it's launched.)
  6. Quit Regedit and re-launch Kontakt.
  7. Load a library that was exhibiting the problem with the UI and/or keyswitches previously. It should now work.
And here was the glorious result:
Good as new!
This also fixed the problem with new instances of the plugin in Live and Cubase. I really hope this post saves someone the time and frustration this problem caused me.

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!


Sunday, March 22, 2015

Recording Virtual Instruments with SampleRobot Part 1: Getting Started

SKYLIFE's SampleRobot is an excellent tool for recording hardware MIDI instruments, but did you know that it can make multi-sample recordings of your softsynths as well? I've experimented with four different ways to use SampleRobot to record virtual instruments, whether they're VST plugins or standalone applications. Each different method has its own advantages and disadvantages, and some methods are more difficult than others. I'll walk you through all of them in the following articles.


Here's a quick index to the different tutorials:

WHY SAMPLE A VIRTUAL INSTRUMENT?

The benefits of sampling a hardware instrument are pretty obvious: You can build a compact and portable library of your not-so-compact, not-so-portable hardware synth's patches to take on the road. Or perhaps you could record patches designed on an extremely rare and expensive instrument to share with people who don't have access to such exotic hardware.

But virtual instruments are cheap, and you can fit literally thousands of them on a hard drive. Why bother sampling them? Well, I can think of plenty of reasons!
  • If you use libraries or plugins that are protected by iLok or eLicenser dongles and you fear losing your dongles while on the road, you can multi-sample the sounds you need for your live sets and leave the dongles at home.
  • If you like to build your own instruments in tools like MachFive, HALion , or Kontakt, you can mix and match patches you design with your arsenal of soft synths to create rich, layered soundscapes.
  • Perhaps you're switching platforms (going from Windows to Mac, for example) and some of the plugins you rely on only have Windows versions. You could use SampleRobot to bring your favorite PC-only sounds with you into the Mac realm.
  • Similarly if you're trying to switch plugin types (like going from 32-bit to 64-bit), and the instruments you use aren't available in the latest format, you can record the sounds you need with SampleRobot and then retire the plugins.
  • And one reason that I personally have for recording my soft synths is that sometimes I really like the way a particular instrument sounds, but I don't like how it works. Maybe it's buggy or has a difficult workflow. By making sample-based versions of the sounds I like, I can use them in a tool and workflow that suits me best.

(MOSTLY) FREE SOFTWARE USED IN THESE TUTORIALS

Depending on which recording method you plan to use, you might need to download and install some additional software. The good news is that most of it is free! I'll tell you which specific tools you in the sections that follow, but here are the download links and some quick descriptions of the various tools I used.

Please note: While SampleRobot works on both Windows and Mac OS, this is a Windows-specific tutorial, and not all of this software is available (or perhaps even necessary) on Mac. Also, this tutorial is specifically on how to get virtual instruments to work with SampleRobot. It is not an all-purpose SampleRobot guide by any stretch; if you've never used SampleRobot before, I strongly recommend you get familiar with using the tool to record some hardware instruments first so you know how to navigate its interface and export your samples.
  • SampleRobot (SKYLIFE). You'll need some version of SampleRobot for all methods, obviously. I use SampleRobot 4 Pro, but you can accomplish most of what I describe below with the Multi-X or Single-X versions. Just note that only the Pro and Sampling Suite versions of SampleRobot can record bit depths higher than 16-bits. This is the only piece of required software listed here that isn't free or donationware.
  • LoopBe1 (Nerds.de). This is a virtual MIDI cable. It can send MIDI information from one music app on your computer to another.
  • ASIO4ALL (Michael Tippach). This is a tool that translates Windows audio streams using the ASIO format that many professional Windows recording programs use. It offers some advantages over strict Windows audio, including the potential to record at bit depths greater than 16-bit.
  • VB-CABLE (VB-Audio). This is a virtual audio cable that can send Windows audio streams from one audio application to another application that supports recording Windows audio. Note: Get the version just called VB-CABLE Driver, not the "hi-fi" version.
  • VSTHost (Hermann Seib). If the virtual instrument you wish to sample is a VST plugin that doesn't come with its own "standalone" version, you will need to load the plugin into a DAW or plugin host in able to record it. VSTHost is small and reliable, and it comes in both 32-bit and 64-bit flavors. But you can use any plugin host you're comfortable with. All you need is something that can load plugins, receive MIDI, and output audio.

    Note
    VSTHost can seem a little daunting at first, but I've written some quick, easy steps for loading a plugin with it for use with SampleRobot in the next section.

SETTING UP VSTHOST


You can skip this section if the virtual instrument you're planning to record has a standalone mode, or if you already have a VST plugin host that you're comfortable with.
  1. Download the appropriate version of VSTHost for your operating system and plugin type. (Get vsthostx86.zip if you're running on 32-bit Windows, or if you're on 64-bit Windows but need to host a 32-bit-only plugin. Get vsthostx64.zip if you are on 64-bit Windows and you need to host a 64-bit plugin.)
  2. Extract the ZIP contents to your local drive and then launch vsthost.exe. This is what you'll see:
  3. The first time you run VSTHost you'll have to tell it where to locate your plugins. Go to File > Set PlugIn Path and click the ... button, then browse to the folder containing your plugins. Remember to choose the right location depending on whether you're running the 32-bit or 64-bit version of VSTHost. You can add multiple folders if you need to. Here I've selected my 64-bit plugin folder location.
  4. When you've added the necessary paths to this list, click OK to trigger VSTHost to scan your plugin folders. Note: It may take VSTHost a couple of minutes to do this, but it won't show any alerts or dialog boxes that this is what is happening. The program will probably seem unresponsive until the scan is complete.
  5. After the plugin scan is finished, you should now be able to go to File > Plugins and see a list of your installed plugins.
  6. Select the plugin you would like to load. I chose to load reFX Nexus, and this is what it looks like:
  7. Click the little knob icon in the plugin node to see the plugin's interface.
  8. To set the MIDI input device, you first have to go to Device > MIDI > MIDI Input Devices and make sure that the MIDI device you want to listen to is both listed and selected. The tutorials that follow will indicate exactly which devices to select, but this is where you do it.
  9. Next, click the MIDI port icon on the left side of your plugin node and choose the desired MIDI port in the list of MIDI Input Devices. Again, the port you need to select here will vary depending on which tutorial you're following.
  10. To set the audio output device, go to Devices > Wave and choose the appropriate device for Output Port. The exact device you select depends on which tutorial you're following.

    Tip
    I strongly recommend using a high sample buffer setting. I have found that the default buffer of 4410 samples isn't always high enough to prevent glitching while recording. Here I have 6300 samples selected for Buffer, and this setting has worked well for me at 44.1kHz sample rate. Don't worry about latency times or whatever; SampleRobot takes care of all that in the recording and exporting process.

  11.  If you'd like to save the current VSTHost configuration for future use, go to Performance > Save As and select an empty entry in the performance list. Enter a descriptive name in the Name field, and click OK.
  12. Now that you've created a custom performance, you can select it any time from the drop-down menu.

NEXT STEPS

Ready to start recording? Move on to the tutorials about different recording methods.