Building on their modular software instruments, Yellow Tools' Independence is a combined software sampler and workstation synth. But it faces a lot of competition. What makes it stand out from the rest?
Software samplers are rapidly becoming staple tools for many musicians. Kontakt, Gigastudio, Halion and EXS24 are amongst the best-known of these, and now German company Yellow Tools are making their bid for megasample stardom with Independence, a 'modular sonic workstation' designed to stream large sample libraries directly from hard disk in similar fashion to the above-named titles. Independence promises not only a highly detailed and customisable level of control over your sampled material, but also superior ease of use and intuitive operation — so does it live up to its promises?
Yellow Tools are clearly determined to impress from the outset — the box (shown above right) is absurdly huge, occupying twice the shelf space of standard software packaging! Within its capacious interior are one software installation CD, three DVDs carrying the 16GB Independence library (of which more below), a 144-page manual and a USB dongle (which is usually sold separately). The dongle is used in conjunction with the included Yellow Tools Key Manager software, and is Yellow Tools' chosen method of combating software piracy. The combination also provides a convenient means of product activation for their range of virtual instruments. The range can be installed on as many computers as you like — as long as you have that dongle with you, the program can be run — and only one dongle is needed to run any Yellow Tools program. If your sample library is located on an external Firewire/USB drive, you can install the main program multiple times, and carry the library and dongle around with you. However, Yellow Tools warn that if you lose your dongle, they will not replace it, so if you don't plan on buying Independence a second time, you'll need to guard it with your life.
The instructions for installing the software and supplied library and 'activating' the dongle are ambiguous (an unfortunate by-product of the user manual's less-than-perfect English translation) but once understood, the procedure is straightforward, if long-winded. The Independence program is installed first — you'll need at least 512MB of RAM, a 1.4GHz Pentium PC or 1GHz Mac running Mac OS 10.4, and 16GB of disk space for the library — and VST, DXi, RTAS and stand-alone versions are provided. I chose to install the VST, DXi and stand-alone versions. During the program installation, you will be asked if you wish to install the ' Independence Basic Path' to your main drive. This tells Independence where your main sample library resides. However, as it's now common practice for people to have dedicated drives for sample streaming, I recommend saying 'no' to this, and setting the Basic Path to the drive of your choice from within Independence after installation is complete.
Next, the Key Manager should be installed. When this is done, you insert the dongle into a spare USB port and run Key Manager. If your computer is connected to the Internet, activating the dongle is simply a matter of clicking the 'Activate Product' button and typing in the Activation Key which is subsequently generated. If your studio computer is without a Net connection (like mine), Key Manager saves a small file which has to be emailed to Yellow Tools for activation (in my case, they mailed it back within half an hour). You then put the activated file back into the Key Manager folder on your music computer, run Key Manager again and click on 'load file' to authorise the program for your specific USB dongle.
Installing the supplied 16GB sample library is simply a matter of copying the files from the three DVDs to the hard drive of your choice — which should also be the location you specify as your 'Basic Path'. The library is of consistently high quality, though the choice of instruments is slightly lacking in variety considering the disk space they occupy, and contains little in the way of surprises. There are orchestral strings, woodwind, brass and percussion (all derived from the Kirk Hunter orchestral library), acoustic and electric pianos, guitars and basses, alto and baritone saxophones, a selection of world, tonal and ethnic percussion, electric and acoustic drum and percussion kits, some synth waveform building-blocks, and a handful of the above instruments with Indian or Turkish tuning models pre-applied. The orchestral strings, brass, woodwind and saxes make good use of keyswitching, although I encountered some severe glitching with these instruments, making their use a rather hit-and-miss affair.
Since the main body of this review was written, Version 1.0.4 has been released, bringing compatibility with Logic v7.2, Digital Performer and Pro Tools 7. Also included are features designed to enhance live performance. Firstly, there's now a 'pre-cache' option which (to quote Yellow Tools), allows you to 'pre-load Layers into Independence which are available immediately when you activate them, without any additional loading time' These pre-loaded Layers can then be instantly activated using MIDI program changes. Two pre-caching options are available for Layers: 'All' and 'My Favourites'. I tried the 'My Favourites' approach first — and sure enough the three patches I had saved to that folder opened instantly when selected from the drop-down menu. Frustratingly, though, I could find no way of calling them up using program changes. The 'All' option fared less well; after an interminable wait my computer slowed to a crawl, was eventually brought to its knees, and had to be shut down.
Improvements to the 'Slice Mode' are also mentioned, but apart from the addition of an automatic BPM calculator, no details are given; otherwise, this appears to function exactly as before. The promised new MIDI indicator is easier to spot (there's just the one for an entire instance of Independence) and a MIDI panic button is now included, which effectively halts all Independence activity and mutes further MIDI input. It could certainly be useful in a live situation.
When started, Independence defaults to the Modules view, which is divided into three panes: the left pane is where Layers, or instruments, are loaded. Adjacent to this is a list of parameters that apply to the overall Project and the currently selected Layer Set and Layer. The larger panes on the right offer six available views: Modules (the default view seen opposite), Mapping (shown above), Performance, Mixer, Preferences and Key Status. Most of the detailed editing is done from the Modules and Mapping views. The Mixer view (shown on the last page of this article) affords access to Independence 's output, buss and auxiliary effects-routing options, whilst Performance view deals with the setting up of note repetitions (referred to as 'Alternates') and Advanced Legato mode (see overleaf for more on this). Key Status informs you which Yellow Tools products are currently activated on your dongle.
Like any sampler, software or otherwise, Independence has a hierarchical structure. The largest element is the Project — that's everything loaded into the current instance of Independence. This divides into Layer Sets, Layers, Sections/Alternates and Zones. When you load an instrument from the library, it appears as a Layer which can be assigned its own MIDI channel, output and other settings. Layers reside in turn within Layer Sets,of which 16 are available, labelled A to P, and each can contain an unlimited number of Layers, although only 16 MIDI channels are available to each instance of Independence. The Layer/Layer Set arrangement is among Independence 's strongest features, and allows the construction of some very complex and detailed instruments, especially when employing keyswitch functions, which are typically used to jump between different articulations of one instrument.
In programs such as NI's Kontakt, keyswitches trigger different groups of samples from within a single instrument patch. This requires either having such a patch already designed, or custom-building one from scratch. Independence operates this way too, but has an additional trick up its sleeve — you can also keyswitch complete Layers. So you could load separate marcato, arco and pizzicato instruments (Layers) into one Layer Set, then configure those complete Layers to be keyswitchable. Repeat use of such a setup is very easy — saving Layer Sets to disk enables you to recall that 'super-strings' setup at will.
Each Layer has its own set of global parameters. Besides the standard volume, pitch, pan and MIDI channel settings in the Basics section, you can select from a library of more than 50 special tunings, among them Arabic, Indian and Chinese scales.
Disk streaming can be turned off individually for any Layer. That Layer's samples are then loaded into RAM, which reduces the workload on your overburdened hard drive! Another nice touch is RAM Auto-Clean — when activated, samples not being used in a song are deleted from RAM, again reducing the load on your computer's resources. A global Auto-Clean switch would have been useful to clean up all Layers in a Project at once, rather than having to treat each individually.
MIDI Basics include transpose, MIDI channel, and the controller number assigned to Hold (sustain pedal). MIDI Extended parameters allow the setting of velocity range, key range and delay (in other words, the time elapsing before a Layer sounds after receiving a 'note on' message). The Scale parameter defines a Layer's response to velocity within a restricted range, and is useful for matching 'switchover volume' between two velocity-switched Layers.
Dynamic Range parameters further tailor a Layer's volume response to velocity, including the response curve of the Layer itself and the received MIDI velocity curve from an external MIDI controller keyboard, which can compensate for weighted keyboards with particularly heavy actions or steep velocity curves. This is also where you specify trigger keys to enable keyswitching between complete Layers, as mentioned earlier.
Finally, the Polyphony parameters dictate maximum polyphony for a Layer, release time for 'killed' voices when that polyphony is exceeded, the maximum number of voices played by any single repeated note (independent of the maximum polyphony) and release time for those 'killed' voices. Both these release times eliminate unpleasant 'clicks' when voices are killed by excess polyphony, and can even be used creatively to ensure monophonic sounds move from note to note in a smooth, legato fashion, particularly when using slow attack and release envelopes.
Whilst it's possible to obtain basic monophonic legato effects by restricting a Layer's polyphony to one voice and adjusting the Layer Release parameter to 'paint over the cracks', Independence has a purpose-built Advanced Legato Mode that deals with this in great detail. Found in the lower pane of the Performance view, the parameters for this address a variable set of conditions.
'Key Range' restricts the key range to which the legato effect is applied; legato notes are monophonic, but notes outside this range retain their normal polyphony. 'Skip' adjusts the sample start time for incoming legato notes in milliseconds, so bypassing any initial attack and allowing smooth note transitions ('Random' provides a variation on this, unpredictably adjusting the Skip time for a less predictable sound). Finally, 'Threshold' sets the attack time of the incoming legato note, and 'T Curve' adjusts the attack time response curve.
This alone would satisfy most applications — but Independence has grander ideas! Legato can be applied not just to an entire Layer, but to individual Sections and Alternates — and with that in mind, the additional Option and Target parameters offer some very neat tricks. In the Option line, for example, you can specify the behaviour of additional sonic details such as the guitar finger noises, breaths and squeaks that might occur between notes. It's even possible to decide which noise variations are heard depending on your keyboard playing direction — eg. upward or downward fret slides on a guitar. For really realistic legato, the Target line allows you to specify a further sample layer (eg. hammer-ons, pull-offs) as your 'destination' legato notes — assuming you have the appropriate samples at your disposal. And as icing on the cake, a 'ghost' note, such as a creak, click, or even a sigh, mutes the final note of your phrase. How's that for detail?
Layers can be subdivided into Sections and Alternates. Sections are collections of samples (Zones) within one Layer, used to sub-divide it into easily manageable 'groups'. For example, a single Layer might contain a complete drum kit with the drums 'sectioned' by type: cymbals in one Section, toms in another, and so on. Each Section can then be edited separately, making it easy to apply the same filter, envelope, insert effect or modulator to all samples within that Section. Multiple selections and editing of Sections are also possible.
Alternates are collections of Sections that help to create realistic-sounding note repetition by 'cycling' several different sampled variations for each consecutively played note. A typical application would be the up and down bowing strokes of a violin. Here, you would assign 'up' strokes to one Section and 'down' strokes to another, then set an Alternate to step sequentially from one Section to the other each time a note is played. Independence also lets you define a maximum time-frame outside which the 'alternation' will not occur, so that only notes played above a set speed will cycle between samples. The 32 steps available enable this technique to introduce natural-sounding tonal variations, for example, by cycling through 10 different samples of a loud snare drum. Cycling can also be randomised to inject further tonal unpredictability. Alternates are manipulated just like individual Sections, so when selecting an Alternate for editing, you must further specify which Sections used in that Alternate are to be included in the selection. Subsequent edits will then be applied simultaneously to all selected elements. It looks horribly complicated in print, yet it's easily understood with the program in front of you!
The lowest level of hierarchy is the Zone, which is basically a single sample mapped to one or more keys. Layers, Sections and Alternates can be saved and reloaded as independent items. Maybe this was the inspiration for the program's title?
Although it's not currently possible to import third-party sample libraries directly into Independence, Yellow Tools have been working in tandem with Chicken Systems, the makers of the sample-conversion software Translator. The result is Translator Independence Edition, which Yellow Tools are recommending as an add-on purchase. Windows XP users currently stand to benefit more from this, as the XP version supports quite a number of formats; the Mac OS X version supports fewer.
If you own any of Yellow Tools' other sample-based virtual instruments (eg. Culture, Candy or Majestic) Independence is capable of loading sounds from these instruments, offering enhanced editing flexibility as well as a handy means of rationalising those sounds into a single program. WAV and AIFF files can also be imported, mapped, and resaved as Independence files. However, owing to an insufficiently clear conceptual explanation in the manual, this initially caused great confusion. This is because Independence can only import files that are located in the 'Audio Files' folder, itself located in the Independence Basic Path. But surely that doesn't mean that you have to duplicate all of your mega-huge library in this folder just so that Independence can use it? Fortunately not!
However, what you do have to put there is what Yellow Tools call an 'alias' for the files you wish to import into that folder. Unfortunately, the manual omits to explain (for the benefit of PC users like me) that an alias is the Mac equivalent of a shortcut on a PC. But an alias of what? The actual wave files? No, that would be a very messy way of dealing with even a modestly sized library, and it doesn't work anyway. A trawl through the Independence web forum came up with the answer — it needs to be an alias of the folder(s) that the required samples normally live in. And it worked — after copying shortcuts to all my sample library folders, the samples inside them became accessible from the Independence browser pane.
To assist in the keymapping of imported samples, Independence offers various Auto Mapping options. These options include Chromatic (for assembling a collection of loops on adjacent keys), Multi-key (for assembling a multisampled instrument), One-Key (multiple samples assigned to one key with predetermined velocity layers) and 'X-Y-Z'. Of these, the Multi-key option requires that your sample names include either note names or key numbers. If they do, Independence can work out how a multiple selection of samples should be mapped based on that information. The 'X-Y-Z' option is even more clever, but requires a very specific naming convention to work. It's a bit like 3D mapping — Independence works out all the Zones, Sections and velocity layers required to create an up-and-running instrument from a bunch of imported samples, with just a single mouse-click. However for this to work, your samples must be named exactly to an X-Y-Z convention, where X is the key number, Y is the velocity zone and Z is the Section/Alternate number. Curiously, drag-and-drop from the browser onto the key map is not supported, so importing samples individually involves selecting a sample, setting its root key and clicking 'execute'. Clicking and dragging on the upper, lower or side boundaries of a mapped Zone adjusts its velocity range and key range — the same method used by NI's Kontakt. Velocity crossfades per Zone can also be set using the relevant value fields, with the added enhancement of adjustable curves for each fade area. Sadly, positional crossfading of Zones does not appear to be possible — a curious omission.
Basic sample editing tools are provided in the Mapping view; click on a single Zone and its sample waveform appears above, with adjustable markers for sample start, end and loop points. There is no provision for multiple loops or loop crossfading, although alternate looping is supported. There are no real-time timestretching functions either, although Independence does include Beat Slicing, which works in a virtually identical manner to the Beat Machine in NI's Kontakt, subdividing loops into individual beat slices, which are then automatically mapped to the keyboard. An accompanying MIDI file for each sliced loop is saved to disk, and when you re-import this to your sequencer, it triggers the slices sequentially to reconstruct the original loop, allowing playback at a varying range of tempos. Independence 's automatic beat detection is not as accurate as Kontakt 's, though, and requires a fair amount of manual fine-tuning to achieve good results.
Independence features a useful and versatile selection of built-in effects that can be used both as Insert effects (to a Layer, Section or Alternate) and as auxiliary effects in the Mixer section. As per the Independence philosophy, a potentially unlimited number of effects can be applied if your computer can cope! Their interfaces are a combination of 'knobby' graphics and numerical value fields, and each effect can be minimised to a 'strip' to conserve screen space. Even though you would not normally use effects such as pan or compression as auxiliary effects, the flexibility is still there to do it if that's what you want. Space restrictions preclude a detailed description of every one, but here's a brief rundown of what's on offer.
EFFECT TYPE COMMENTS
- '4-band parametric' High/low shelving + two sweepable.
- '6-band parametric' High/low shelving + four sweepable.
- '3-band vintage' Control over gain (up to 3x) and frequency.
- 'X-filter' Variable response, from low-pass to band-pass to high-pass.
- Filter follower Cutoff follows gain curve.
- 'Low-cut' Shelving with variable dB-per-octave slope.
- 'High-cut' Shelving filter with a variable slope.
- Multimode A mix of low-, band- and high-pass.
- Compressor Up to 5ms 'look-ahead'.
- Limiter —
- Gate —
- Chorus —
- Flanger —
- Phaser —
- Vinyliser Noise effects overlay.
- 'Time clipper' —
- Bit reduction —
- Dual-band distortion Control over gain (up to 2x), crossover frequency and 'colour'.
- Tube distortion —
- Delay Stereo delay.
- Echo Mono, with delay count and ping-pong width.
- Volume —
- Panorama Left/right balance + stereo width reduction + autopan.
- 'X-Y panorama' Combined stereo width and overall left/right position.
- Phase invert —
- Sample delay Individual left/right delay times, five seconds maximum.
- Level meter A handy visual reference.
- Reverb A basic reverb, with simple parameters.
- Reverb two Additional early-reflection parameters.
- Origami LE Convolution reverb.
Worthy of special mention is Origami LE, the convolution reverb. Its surprisingly low CPU usage and low latency mean you don't have to shy away from using this one! A small library of reverb impulses is provided to get you going, but happily Origami LE can import any other impulses you may have — as long as they (or aliases of their 'home' folders) are present in the Audio Files folder in Independence 's Basic Path. Editing is limited, yet enough basic tools (including EQ and a room 'positioner') are provided to achieve excellent results.
Regarding effects automation, there appears to be no facility for this. By contrast, NI Kontakt allows for MIDI automation of its effects when they're applied as either insert or send effects within an instrument. It's not so in Independence, which is a shame.
Numerous modulation sources and destinations can be applied, both globally to a complete Layer and on a more detailed level by delving into the individual Sections and Alternates. This is done from the Modules view, in the lower left section of the right-hand pane (see above). You select the item you wish to edit (the whole Layer, a Section or an Alternate), click on the 'new modifier' drop-down menu, then select your desired source (mod wheel, velocity, MIDI controller, and so on) and it appears in a box in the window below. In this box you choose the destination, percentage range and response curve of the modulator.
Amongst the usual mod sources (such as velocity, mod and pitch wheels and aftertouch) are exotica such as freely definable (sync'able) envelopes, LFOs, glide, MIDI controllers and a step modulator. If an internal source such as an LFO or an envelope is chosen, a corresponding control box appears in the window to the right, containing appropriate parameters for that source. Edits and modulation assignments can also be simultaneously performed on several Sections/Alternates. By clicking the Content button, an overview of all existing Sections and Alternates appears on the left, allowing for multiple selection of the Sections/Alternates you wish to include in the editing process. Insert Effects (see the box on effects opposite) can similarly be applied to a whole Layer or just to selected Sections or Alternates.
Independence has nine filters, comprising low-, high- and band-pass types in 2dB-, 4dB, and 6dB-per-octave variations. Setting the cutoff and resonance is accomplished either by positioning a dot on the 2D 'pad' or by using the mouse to scroll the numerical values up and down (the second method is the most common way of altering values in Independence).
A global Filter can be applied to the overall Layer or selectively to specified Sections; when applying a filter to a Section, an additional ABS (absolute) box appears. When activated for a Section, this allows you to 'separate' that Section's filter settings from the global filter setting — it operates independently (that word again...) from the overall Layer's filter setting. When the filter ABS is not active for a Section, its settings are added to (or subtracted from) the Layer's filter settings. Five additional filters are also provided amongst the complement of Insert Effects.
Another strong feature of Independence, the Mixer section allows for unlimited channels, busses and Groups. Each Layer is automatically provided with its own Mixer channel, and Sections within Layers can be individually routed to their own Custom channels if desired. Effects can be inserted directly to each Layer or Custom channel, as well as being inserted to buss channels for use as auxiliary effects. If a serial chain of several Effects is inserted to one channel, that chain can be saved as a Bank and conveniently recalled at any time. Groups function just as they would on a hardware moving-fader mixer; a selection of channels can be linked so their faders move in parallel. Sensibly, Grouped faders move relatively to each other, maintaining their correct volume ratio. The possible setups and routings are almost limitless, allowing virtually any mixer environment to be created. One limitation, however, is that no more than five buss sends are available for each channel, although the number of actual buss channels is theoretically unlimited. Annoyingly, it's not possible to give channels or busses custom names — they are always cryptically referred to by names such as 'A Layer 01', 'Custom 04' or 'Buss 2', which makes navigating the mixer rather slow if you're working with a large number of channels and effects. Being able to name channels and busses as 'Piano' or 'Reverb' would clarify matters considerably!
Independence can be further turbo-boosted with the addition of optional software Extensions. However, at the time of writing, scant information is provided on Yellow Tools' web site concerning the three available: the Pro Groove Extension ('tempo-independent grooves with unique manipulation of speed, sequence and length') the Pro Surround Extension ('support of any professional surround format up to 8.1') and the Pro Effekt Extension ('an additional insert bank' of enhanced effects). These software modules are sold separately, and the price is quoted on the Yellow Tools web site as US$99 per module.
Independence compares favourably with the competition, with NI's Kontakt perhaps being its closest rival. Reservations come to mind, however — some personal, some practical. In the personal department, I found Independence 's user interface to be cosmetically rather cold and uninspiring — and like it or not, the look of a program has a lot to do with the way you respond to and interact with it. Programs that employ knobs, faders and other hardware analogies arguably have a more 'friendly' feel, providing immediate and meaningful visual feedback. On the other hand, those 'hardware' graphics take up a lot of screen space, and Independence's largely numerically-based parameter displays allow more information to be visible at once. Secondly, I tend to greet overly frequent claims of 'worldwide unique' features with scepticism (Independence 's supposedly 'very unique' Beat Slicer comes to mind).
Nevertheless, Independence can lay claim to some unique implementations of certain features, such as Advanced Legato mode and their method of setting up Alternates. Yellow Tools should also be commended for their 'unlimited everything' design philosophy, and are clearly looking ahead to the imminent proliferation of 64-bit, dual-processor computers that can actually take full advantage of this 'unlimited' headroom. Certain performance issues should be mentioned — namely the inexplicable and occasionally severe glitching that occurred when playing certain sounds. These glitches sounded characteristic of disk streaming errors, yet they persisted even when the Read Model was changed from disk streaming to RAM. Curiously, this could occur with only a single sound loaded, while playing very few notes, and seemed to affect sounds including keyswitchable Sections more than others. Also, when switching between Read Models, Independence occasionally displayed a tendency to get 'stuck' — sometimes for a couple of minutes — whereafter the whole computer would slow to a crawl and a restart was necessary.
Finally, despite trying every conceivable audio I/O combination, I wasn't able to get so much as a peep out of my Mixtreme soundcard using the stand-alone version — a problem not encountered with any other stand-alone program I own. Otherwise, Independence seemed solid and reliable enough, coping bravely with the nonsensical test pieces I threw at it, and even seemed happy to stream samples simultaneously alongside Kontakt, Kompakt and Intakt. It's also very kind on CPU usage, barely reaching 35 percent on my machine even when playing six busy multitimbral parts and with a number of effects, including Origami LE, patched in.
On a more general note, it would be nice to see some of those Translator routines integrated as part of the Independence program, much as Kontakt supports third-party sample libraries. There's only so much mileage in the supplied library, and although the importing and remapping of your own samples is possible, it's not always the no-brainer that Yellow Tools would like it to be, and certainly not how most people would choose to allot their precious time when musical inspiration is chomping at the bit! The bottom line? Whilst Independence 's workmanlike user interface may not be to everyone's taste, there's no denying that it has a lot to offer the adventurous samplist. If you're looking to invest in a software sampler, you should check it out.