Sunday, November 16, 2014

How to Build a Multi-output Drum Kit in MOTU MachFive 3

Building a drum kit in a traditional sampler like MOTU MachFive 3 is a bit different from building a more typical sample-based instrument (like a sampled synthesizer) in a number of ways:
  • Drum sounds are usually "one-shots," where the whole sample plays all the way through instead of stopping the moment you release the key.
  • Drum kits often have "choke groups," where some of the sounds are mutually exclusive. This is most common with hi-hat sounds, where a closed-hat hit cuts short a longer open-hat sound.
  • To avoid the telltale "machine gun effect" with programmed drums, many kits use multiple recordings of the same instruments and play them back in a "round robin" fashion, so each hit sounds a little different from the last.
  • Since drums and other percussion sounds have very different tonal qualities and are frequently processed and EQed in very different ways, it's common to route individual drum sounds to their own audio channels for unique processing.
While MachFive is a very capable and powerful instrument, its deeply-layered interface and lack of electronic documentation or other online resources can make it difficult for a new user to figure out how to pull all of the above elements together to make a full-featured drum kit. I'm going to walk you through the process of building a kit that meets all of the stated requirements.

As an added bonus, you'll be able to use this knowledge to get the most out of third-party drum-based instuments, such as UVI's excellent BeatBox Anthology.

The kit we are going to build.
For the purposes of illustration, I recorded some drum samples and uploaded them for you to use as you work through the tutorial. I also included a short MIDI clip that you can use to check your work.

At the very bottom of this post you'll also find the video tutorial I recorded to supplement this walkthrough.

I've broken this process into two parts. First we'll build a new kit from scratch, and once that's all done we'll set the kit up for multi-output use.

PART 1: BUILDING THE KIT


  1. Download the sample pack I put together for this tutorial and unzip it.
  2. Launch MachFive. I like to run it as a standalone for this part (just because it's quicker than loading your DAW first), but you can open it as a plugin if you like.
  3. Click the Wrench icon in the top section of the MachFive interface and go to Preferences > General. Make sure One Shot is checked for Sample drag’n’drop mode, then close the preferences box.
  4. Select an Empty part in the Parts tab of the sidebar.
  5. Use the Browse tab of the sidebar to locate the tutorial samples that you unzipped earlier.
  6. In the main MachFive window, select the Edit view and make sure that at least the Oscillators, Keygroup Editor, and Edit sections are displayed.
  7. Drag the M5 Kick sample to the C1 key on the virtual keyboard in the Keygroup Editor. This will create your program’s first layer, keygroup, and oscillator. Your keygroup will have a 1-note range and contain a single SAMPLE oscillator that contains the kick sample.

    You should be able to play the C1 note on your MIDI controller (or touch it on the virtual keyboard) and hear the kick drum play back.
  8. Next drag the M5 Snare sample onto the D1 note of the virtual keyboard. This will add a new keygroup and oscillator for the snare sample to your existing program layer.
  9. In the Layers section of the List tab of the sidebar, click the + sign to add a new layer.
  10. Rename the layers by double-clicking their names and then entering a new one. I named the first layer Main Drums and the second layer Hi Hats.
  11. Click the layer that you just created so that it is the only one highlighted in the Layers list. You’ll notice that your Kick and Snare keygroups are temporarily hidden in the Keygroups section of the main window.

    Note
    You can highlight all layers at once by clicking the gray area underneath the last layer. If you click the gray area again, all layers will be deselected/hidden. Just select a layer and then click the gray area again to display all layers again.

    Only the empty Hi Hats layer is selected.
  12. Back on the Browse tab of the sidebar, drag the M5 Closed Hat sample to F#1 and the M5 Open Hat sample to A#1. Your Hi Hats layer now has two keygroups, one for each sample.

    Try playing the samples with your MIDI controller. You’ll find that you can play both hi hat sounds at the same time, which usually isn’t desirable for hi hat sounds. We’re going to fix that next.
  13. Back on the List tab, with the Hi Hats layer selected, locate the ex. group column in the Keygroups section of the sidebar. You might have to scroll to see it. If you can’t find the column, right-click any one of the column headers and then check ex. group in the shortcut menu that appears.

    Once you can see the ex. group column, set the ex. group value for both of the hi-hat keygroups to 1. (You can change the value by dragging your mouse vertically over the numbers, or double-clicking the numbers and entering the value from the keyboard.) Setting ex. group to a non-zero value creates a “choke group” for the hi-hats, where playing one keygroup will cut the other short, just like a real hi-hat.


    After setting the ex. group values to 1, try playing the Hi Hat sounds again. You should find that the two Hi Hat samples now cut each other off when triggered.

    Note
    We put the hi-hats on their own layer so that it is clear when you’re looking at the keygroup layout which keygroups are set up for exclusivity (since layers can have different colors). It is not required to put them on separate layers, since exclusivity groups are a keygroup option.
  14. Back in the List view, select the Main Drums layer so that only it is visible, and then switch to the Browse tab.
  15. Click the first M5 Shaker sample in Browse tab, and then SHIFT+CLICK the last M5 Shaker sample, so that all eight samples are selected.
  16. While the files are selected hold down the ALT key while dropping them onto the A3 key of the virtual keyboard. This opens the Sample Drag’n’Drop menu.
  17. Because my shaker sample files are named a certain way, we can make use of MachFive’s built-in mapping methods when importing them into the program. Select NoteName RoundRobin under Mapping method, and Main Drums under Destination.

    When you click OK, MachFive creates a single keygroup, and adds a new Sample oscillator for each sample, automatically setting them up for round-robin play. (Try playing the A3 key on your MIDI controller. You should hear a different shaker sound each time you hit it.)

    If you select any of the newly-created oscillators, you can see that Cycle is selected in the OSC(S) portion of the Edit section. The other oscillators for the Kick and Snare keygroups are set to All, which means that all samples in that keygroup play at once (which is fine, since there's only one sample per kegroup for those sounds in this kit).
  18. At this point, if you look in the List tab of the sidebar, you should see that there are two layers and five keygroups.
  19. To save your kit, click the Wrench icon in the main section of MachFive and select Save Program and Samples. This will save an M5P file and all the imported samples into the selected location. The samples will be stored in a subfolder inside the folder where the M5P is saved.

PART 2: SETTING UP MULTIPLE OUTPUTS

In this section we’re going to use MachFive in multi-output mode and assign different drum sounds to different audio tracks in a DAW for individual processing. I’m going to use Steinberg Cubase 7.5 here, but the general steps should work in most DAWs.
  1. Start up your DAW and load MachFive3 as a plugin. In Cubase 7.5, I like to add it as a “rack instrument” in the VST Instruments dialog.

    Note
    On some platforms and plugin formats, the MachFive plugin might come in different versions. If you have more than one choice, make sure to load the “Multi-output” version. On 64-bit Windows, there is only one MachFive plugin, and it does support multi-output.
  2. Add a MIDI track to your DAW that points to your MachFive instance. In Cubase you have the option to create a new MIDI track when you load a plugin. If you haven’t done that already just add the new MIDI track and direct its output to MachFive’s MIDI in. Take note of the channel you set here.
  3. Configure your DAW so that it can receive four additional stereo outputs from MachFive. In Cubase you do this by clicking MachFive3’s Activate Output button in the VST Instruments dialog and then clicking on the outputs you wish to receive. As you can see here, I have enabled four additional stereo channels in addition to the plugin’s main stereo out.
  4. Inside MachFive, select the part with the same MIDI channel as the MIDI track you created in your DAW. (In this case, A1.) If you don’t already have an appropriate part here, you can add one with the + button, and select the correct channel from the drop-down list.
  5. Double-click the “Empty” program name to open up the MachFive browser and locate the M5P program you saved in PART 1 above.

    Click Close in the Browse dialog once the program is loaded. Try triggering some notes in the kit with your MIDI controller to make sure everything’s working so far.

  6. In the List tab on the sidebar, make sure all layers are selected so you can see all of the keygroups listed.
  7. Locate the output column in the keygroups section. You will probably have to scroll to see it.

    Important
    If you can’t find the output column, it may be hidden. To show it, right-click one of the column headers under Keygroups and then check output in the shortcut menu that appears. You should now be able to scroll and see that column.
  8. Click the gray area beneath the keygroups to deselect them. (If you don’t do this, changing any field in the Keygroups section will apply to all keygroups in the program.) With the groups deselected, right-click the Output value for each keygroup, and set it accordingly:

    Kick: Out 2, Snare: Out 3, Hi Hats (both keygroups): Out 4, Shaker: Out 5

    Note
    In MachFive, only part outputs can be assigned to anything other than Main Out. MachFive’s Aux buses, which are typically used for send effects, always go to Main Out, and can’t be reassigned. For this reason, when you’re building a multi-output program, you should only use the individual output channels, not the one labeled Main Out. Otherwise you might end up mixing that keygroup’s output signal with effects playing through MachFive’s main outs.
  9. You might want to use wrench > Save Program And Samples As to save a separate multi-output version of your kit.
  10. Back in your DAW, if you have your MachFive MIDI track armed, you should be able to trigger different notes in your kit and hear them play back through different input channels in your DAW. In Cubase, you can expand MachFive3’s folder under VST Instruments to see the different channels. I have renamed my channels here to indicate which instrument and MachFive output they represent.
  11. Now that all instruments are coming in via their own audio channels, you can add insert effects and apply EQ to each incoming channel independently. I took this snapshot while playing a MIDI clip on my kit. You can see that each sound group is coming in on its own channel and I have processing plugins on each channel.

VIDEO WALKTHROUGH


VIDEO BED MUSIC

I wrote this little track to serve as intro and bed music for my tutorial video. It's not really a full-on completed composition, but you can hear what I've got so far here:

Sunday, October 12, 2014

Native Instruments Acoustic Pianos Compared

Native Instruments has produced sample-based acoustic piano instruments in one form or another for quite some time. Because the company offers so many piano options, I frequently see people asking which ones are best, or what the differences are between the various piano products. I hope to answer most of those questions here. I'll also provide some audio demos of every current and recent Native Instruments piano- so you can hear the differences for yourself.



AKOUSTIK PIANO

In 2006, Native Instruments released Akoustik Piano, an instrument that included sampled versions of four different pianos. While it used the Kontakt engine under the hood, Akoustik Piano could run as a standalone application or a plugin. Native Instruments discontinued this product in 2009, however the sample content was reused in several ways in subsequent products.

You can learn more about Akoustik Piano and other legacy Native Instruments products at my Complete History of Komplete.

KONTAKT FACTORY LIBRARY

Kontakt ships with several basic pianos. They don't have fancy user interfaces, but they offer most of the standard tweakable parameters- and a number of not-so-standard parameters for pianos. Some of the piano samples in the Kontakt factory library come from Akoustik Piano, but the library also includes some piano sounds that don't appear anywhere else.

The Kontakt pianos are split across the Band and Orchestral categories, which have different feature sets. Despite their basic appearance these pianos do feature multiple velocity and microphone layers. Most of these pianos also have a very small memory footprint, partly because they are not one-sample-per-note.
  • Features (Band instruments): Mic and resonance control, compression, chorus, delay, convolution reverb, amp simulation, EQ, velocity curve, pitch bend range, transpose, tuning, parameter randomization.
  • Features (Orchestral instruments): EQ, tuning/scale, convolution reverb, velocity curve, pitch bend range, transpose, parameter randomization.
  • Presets/variations: None of the Kontakt acoustic pianos include presets or variations, although they are highly customizable.
  • Available in: Komplete 10, Komplete 10 Ultimate, Kontakt 5.

August Foerster Grand (Orchestral)


  • Original piano: Unknown model manufactured by August Foerster
  • Preset or NKI file used in sound demo: August Foerster Grand.nki
  • Sample data size: 0.38 GB
  • Sample rate/bit-depth: 44.1kHz/16-bit
  • Number of groups/zones: 16/605
  • Velocity layers: 10
  • Minimum Kontakt version required: 5.0.0
  • Notes: This is one of the oldest pianos in the Native Instruments catalog. Its default maximum voice setting was only 64, which was simply not enough voices for this sample clip, which includes a lot of sustan (making it a rather voice-hungry composition). I doubled the voice count to 128 for the demo recording.
  • Sound demo: Listen

Concert Grand (Orchestral)


  • Original piano: Steinway D
  • Preset or NKI file used in demo: Concert Grand.nki
  • Sample data size: 0.82 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 93/985
  • Velocity layers: 10
  • Minimum Kontakt version required: 5.0.0
  • Notes: This is a "lite" version of the New York Concert Grand.
  • Sound demo: Listen

Grand Piano (Band)


  • Original piano: Boesendorfer 290 Imperial
  • Preset or NKI file used in demo: Grand Piano.nki
  • Sample data size: 0.16 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 6/155
  • Velocity layers: 3
  • Minimum Kontakt version required: 5.0.0
  • Notes: This is a "lite" version of the Vienna Concert Grand.
  • Sound demo: Listen

Ragtime Piano (Band)

  • Original piano: Steingraeber 130
  • Preset or NKI file used in demo: Ragtime Piano.nki
  • Sample data size: 0.17 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 6/189
  • Velocity layers: 3
  • Minimum Kontakt version required: 5.0.0
  • Notes: This uses the same samples as Upright Piano.
  • Sound demo: Listen

Upright Piano (Band)


  • Original piano: Steingraeber 130
  • Preset or NKI file used in demo: Upright Piano.nki
  • Sample data size: 0.17 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 6/189
  • Velocity layers: 3
  • Minimum Kontakt version required: 5.0.0
  • Notes: This is a "lite" version of the Upright Piano from the Classic Piano Collection.
  • Sound demo: Listen


CLASSIC PIANO COLLECTION

From 2010 through 2014, these pianos were available for separate purchase or as a bundle, but they were dropped from Native Instruments' product lineup at the time of Komplete 10's release. These all take sample content from Akoustik Piano, like some of the instruments in the Kontakt library do- although the factory library versions are more compact and do not ship with any presets/variations. These versions utilize more individual samples than the Kontakt library versions, explaining their significantly larger memory footprint.
  • Features: Mic and resonance control, pedal style, velocity curve, tuning, convolution reverb, lid position.
  • Presets/variations: While the individual instruments do not use snapshots or have any built-in preset facility, each of these pianos includes several different NKI files, each representing different variations.
  • Available in: Komplete 9 and Komplete 9 Ultimate.

Berlin Concert Grand


  • Original piano: Bechstein D 280
  • Preset or NKI file used in demo: Berlin Concert Grand.nki
  • Sample data size: 2.56 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 93/984
  • Velocity layers: 10
  • Minimum Kontakt version required: 5.0.1
  • Notes: This is the only one of the Classic Piano Collection pianos that doesn't appear to have any representation in the Kontakt 5 factory library.
  • Sound demo: Listen

New York Concert Grand


  • Original piano: Steinway D
  • Preset or NKI file used in demo: New York Concert Grand.nki
  • Sample data size: 2.15 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 93/985
  • Velocity layers: 10
  • Minimum Kontakt version required: 4.8.0
  • Sound demo: Listen

Upright Piano


  • Original piano: Steingraeber 130
  • Preset or NKI file used in demo: Upright Piano.nki
  • Sample data size: 2.49 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 93/991
  • Velocity layers: 10
  • Minimum Kontakt version required: 5.0.1
  • Sound demo: Listen

Vienna Concert Grand


  • Original piano: Boesendorfer 290 Imperial
  • Preset or NKI file used in demo: Vienna Concert Grand.nki
  • Size in RAM: 141 MB
  • Sample data size: 2.96 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 102/1071
  • Velocity layers: 10
  • Minimum Kontakt version required: 5.0.1
  • Sound demo: Listen


DEFINITIVE PIANO COLLECTION

Introduced in 2014, these pianos are considered a higher-quality replacement for the "Classic" models that have since been dropped from the library, although they represent a different set of original pianos. These were produced by Galaxy Instruments, the creators of another Native Instruments piano, The Giant.
  • Features: EQ, transient shaping, compression, mic and resonance control, pedal style, velocity curve, tuning, convolution reverb, lid position.
  • Available in: Komplete 10, Komplete 10 Ultimate, Definitive Piano Collection.
  • Presets/variations: All of these pianos include different variations, but rather than using a built-in preset selector, these instruments use Kontakt's snapshot feature. To choose a preset you click the Snapshot button and then select the desired preset from the list:

The Gentleman


  • Original piano: Bechstein Model A Upright (1908)
  • Preset or NKI file used in demo: Basic Gentleman
  • Sample data size: 5.70 GB
  • Sample rate/bit-depth: 48kHz/24-bit
  • Number of groups/zones: 105/3148
  • Velocity layers: 16
  • Minimum Kontakt version required: 5.4.1
  • Sound demo: Listen

The Grandeur


  • Original piano: Hamburg Steinway D Concert Grand
  • Preset or NKI file used in demo: Basic Grandeur
  • Sample data size: 7.16 GB
  • Sample rate/bit-depth: 48/24-bit
  • Number of groups/zones: 105/3358
  • Velocity layers: 18
  • Minimum Kontakt version required: 5.4.1
  • Sound demo: Listen

The Maverick


  • Original piano: Bechstein Model A Grand (1905)
  • Preset or NKI file used in demo: Basic Maverick
  • Sample data size: 7.55 GB
  • Sample rate/bit-depth: 48kHz/24-bit
  • Number of groups/zones: 105/3282
  • Velocity layers: 18
  • Minimum Kontakt version required: 5.4.1
  • Sound demo: Listen


OTHER RELEASES

These items are all available as separate products.

Alicia's Keys


  • Original piano: Yamaha C3 Neo
  • Preset or NKI file used in demo: 01 Dry
  • Sample data size: 6.92 GB
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 46/6200
  • Velocity layers: ~12 (10-15 depending on the aspect of the piano)
  • Minimum Kontakt version required: 4.8.0
  • Developed by: Scarbee
  • Features: Mic and resonance control, pedal style, velocity curve, convolution reverb, attack/release adjust, repetition control.
  • Presets/variations: Preset selector in UI.
  • Available in: Komplete 10 Ultimate or separately.
  • Sound demo: Listen

Discovery Series: Cuba

This package includes two piano variations. At the time of writing, this is the only piano instrument in the Native Instruments lineup that has a groove/pattern playback system built-in. It is not very deeply sampled, but has a distinct and useful sound.

  • Features: EQ, compression, tape saturation, reverb, groove/pattern support.
  • Presets/variations: User interface has separate Mixer and Instrument preset selectors.
  • Available in: Komplete 10 Ultimate or separately.

GRAND PIANO

  • Original piano: unknown (possibly a Kawai KG-1C?)
  • Preset or NKI file used in demo: Grand Piano / Classic mixer
  • Sample data size: 6.92 GB (shared with upright piano)
  • Sample rate/bit-depth: 44.1kHz/24-bit
  • Number of groups/zones: 20/749 (shared with upright piano)
  • Velocity layers: 2
  • Minimum Kontakt version required: 5.4.1
  • Sound demo: Listen

UPRIGHT PIANO

  • Original piano: Steingraeber 130
  • Preset or NKI file used in demo: Upright Piano / Classic mixer
  • Sample data size: 0.57 GB (shared with grand piano)
  • Sample rate/bit-depth: 44.1kHz/16-bit
  • Number of groups/zones: 20/749 (shared with grand piano)
  • Velocity layers: 6
  • Minimum Kontakt version required: 5.4.1
  • Notes: This uses the same samples as the Upright Piano from the Kontakt Factory Library, although they have been converted to 16-bit.
  • Sound demo: Listen

The Giant


  • Original piano: Klavins Model 370
  • Preset or NKI file used in demo: Basic Giant
  • Sample data size: 3.49 GB
  • Sample rate/bit-depth: 48kHz/24-bit
  • Number of groups/zones: 98/2003
  • Velocity layers: 13
  • Minimum Kontakt version required: 5.4.1
  • Developed by: Galaxy Instruments
  • Features: EQ, transient shaping, compression, mic and resonance control, pedal style, velocity curve, tuning, convolution reverb.
  • Presets/variations: Preset selector in UI.
  • Available in: Komplete 10, Komplete 10 Ultimate, or separately.
  • Sound demo: Listen


ABOUT THE SOUND DEMOS

For each of the pianos described above, I recorded a minute-long excerpt of Felix Mendelssohn's Songs Without Words, Book 2, Op. 30: No. 1 Andante espressivo. This piece makes liberal use of pedal/sustain and is fairly dynamic, velocity-wise. The full playlist of clips follows, and I'll also provide links to individual clips in the descriptions below.

All clips were loudness normalized to -20 LUFS, and there is no processing or effects outside of what was already included with the instrument. For every example, I tried to use each instrument's "default" or "basic" setting. In the detailed instrument descriptions above, I list the presets used for each of the sample recordings. In cases where the instrument doesn't have a preset or snapshot facility, I simply list the NKI file I used, since Native Instruments sometimes includes separate NKI files as "presets."

SOUND DEMOS



CREDITS

Thanks to the following folks:
  • nielsdolieslager at the Native Instruments forum for filling me in on some details and recommending I check the voice count on the August Foerster piano.
  • kbaccki at the KVR forum for inspiring me to find a better metric to judge sample content size than the active RAM buffer.