Steinberg HALion Workshop

Published in SOS October 2002
Bookmark and Share

Technique : Sampler

There's so much to Steinberg's software sampler that it's easy to miss some of the more powerful features, so here are some tips to help you realise its full potential.

Mark Wherry

Steinberg's marketing department must have really slapped themselves on the back for coming up with a name like HALion for a product that was released in 2001. In case you didn't know, HAL was the computer on board the spaceship in Arthur C. Clarke's science fiction classic 2001, that annihilated the entire crew after becoming confused about protecting the mission objective.

Fortunately, HALion appears not to share the same psychological problems as HAL. However, given that it's possibly the most advanced VST Instrument available, and one of the most flexible samplers (hardware or software), there's plenty of room for confusion. So this article will take a look at some of HALion's features, and offer some practical advice on how you can get the best from this powerful plug-in instrument, whether you're a modest sample-playback user, or a hardcore sound designer.

Fine-tuning Performance

In addition to being one of the most advanced VST Instruments available, HALion is also one of the most demanding, and although there are many ways to optimise its performance (which we'll look at shortly), there are certain hardware improvements you can make to your computer that will make your life easier. Having at least one dedicated hard disk for HALion to stream your samples from makes sense, but the importance of having ample memory can't be stressed enough.

"More memory?!", I hear you say. "Wasn't the whole point of HALion that it didn't load samples into RAM, but streamed them directly from a hard disk?" Well, yes, but in order for this to work effectively, the first part of every sample has to be held permanently in RAM, so there's no latency when the required sample is played. The more Programs you load into HALion, the larger the amount of 'preload' memory that's required (because there are more 'first parts' of samples to store in memory). And when you consider how many velocity layers are contained in many of today's sampled instruments, which pride themselves in sampling every note, it's easy to see how the requirements multiply.

Although the disk light in the HALion window flashes red if HALion has trouble reading all the data it needs from your disk in time, the commonest source of audible clicks and pops when using HALion is not preloading enough of each sample into memory. You can configure how many seconds of each sample get preloaded into memory with the Preload Into RAM slider in the Options View Page. If you drag this slider all the way to the right, you'll set the preload amount to Always, which tells HALion to preload the entire length of every sample into RAM. If the samples are too big to be fully preloaded, HALion will give you a warning and preload as much of each sample as possible.

Just below the Preload Into RAM slider is the Voice Buffer slider, which sets how much RAM is dedicated to buffering each voice from disk when notes are played. Each voice requires about 256K of RAM, so the minimum 16-voice setting uses 4MB of memory, and so on. Even the default 32-voice setting is often too low, so setting the Voice Buffer to 64 voices is usually a good idea.

Using The Program List

Before we start manipulating instruments and samples in HALion, I want to take a short moment to explain the Program List, the aptly named list of Programs that appears in the far left of every HALion Page View except the default Macro Page View. The Program List takes the appearance of a 'tree view', and each Program entry can be expanded to show the list of samples contained in that Program.

A Program can also contain folders, which have nothing to do with the way the Program or samples are stored on disk, but instead allow you to organise samples within a HALion Program. You can create a new folder in a Program by right-clicking (or Control-clicking on the Mac) a Program name and choosing New Folder from the pop-up menu — it's even possible to create subfolders. Folders are useful because parameters within HALion can be applied to a folder of samples, saving you from having to apply parameters to individual samples.

It's worth noting, particularly when you have many subfolders, that the Program List can be resized horizontally when you're in the Keyzone Page View by dragging the dividing line. Notice that the arrow on the divider turns bright green when the Program List can be resized, and you can right-click or Control-click (Apple-click on the Mac) this arrow to toggle the Program List between the minimum and maximum widths.

At the bottom of the Program List are the All/Select and Edit Absolute/Relative buttons, and the All/Select indicator. By default, the All/Select button will be set to All and the All/Select indicator will show Program. This means that any changes you make in the other Page Views, except the Waveloop view, will be applied to every sample in the selected Program, regardless of the actual samples that might be selected. In order to make a change to a specific folder or sample within a Program, you need to click the All/Select button so it changes to Select. In this mode, if you have a single sample selected, the All/Select indicator will display Sample, whereas if you have many samples, a folder, or many folders selected, the All/Select indicator will display MultiSamp.

The Edit Absolute/Relative value sets whether values are changed absolutely or relatively when you have more than one sample selected. This is important because sub-folders and samples always inherit parameters from any folder they're contained in. For example, say a Program contains two folders, Folder A and Folder B, and Folder A contains a subfolder, Folder C. Both Folders A and B can have independent settings, but Folder C will inherit settings from Folder A.

  Importing Giga-format Libraries  
  Although import of Giga-format libraries has been possible since version 1.1 of HALion, there are a few things about this process which can cause problems. As mentioned in the main text of this article, Metatrigg provides an alternative system for Gigastudio's conditional playback features, allowing HALion to successfully import Keyswitch settings and so on. One of the main Gigastudio abilities that HALion currently offers no alternative for is a way to crossfade samples with the modulation wheel. This means that Giga instruments that use these facilities won't import correctly and play as originally intended in HALion, although Steinberg are apparently working on these areas for a future update.

The other big stumbling block for Mac users is that many Giga-format libraries are on CD-ROMs intended for computers running Windows, which isn't unreasonable given that Gigastudio isn't available for the Mac. Despite the Mac's ability to read Windows CD-ROMs, the actual libraries are often compressed and stored within a self-extracting Windows application. While Mac users could install the files on a computer running Windows for transferring, the resulting GIG files are often too big to fit back onto a CD-ROM again. At the end of the day, always try to find out as much as possible about a Giga-only library before purchasing, and use on-line forums to hear if any other HALion users have any experiences with it.


Program Change Problems

One problem many users have experienced occurs when sending MIDI Program Change messages to HALion during the playback of a song, something you might do a great deal in Cubase VST, for example, where each part can be assigned a different patch very easily. If you try to do this, often the first couple of notes after the Program Change don't sound, or, worse, the system grinds to a halt while HALion sorts itself out. The reason this happens is because, as mentioned earlier, HALion needs to preload a small portion of each sample used in a Program before the Program itself is ready to play. Only the initial Program on each of HALion's 16 channels is preloaded by default, so when you switch to a Program not used on one of the 16 channels by default, HALion needs to preload parts of the samples used in the new Program before it can start playing that Program.

As you'll notice from when you load Programs normally, the preloading process takes a few moments — often longer if large samples are involved. So it's this process that causes a delay and a degree of extra disk access — in a nutshell, it isn't something you want to happen during playback. However, there is a solution. If you look at the Program List, you'll notice that some Program names appear in orange text and some in blue. If a Program's name is coloured orange, this indicates that the Program has already been preloaded — if it's coloured blue, the Program hasn't been preloaded.

To prevent HALion from preloading a Program during playback, identify a Program that you change to during the song, which is currently displayed in blue. Right-click on the Program's name and choose Preload from the pop-up menu, which manually forces HALion to preload the Program, even though it isn't currently used by one of the 16 channels. When you change to this Program during playback now, there'll be no problems because the Program is already preloaded. You can avoid this process of manually persuading HALion to preload Programs every time you reload the song by right-clicking (or control-clicking on the Mac) the Program in the Program List and making sure the Always Preload option is ticked.

Multiple Outputs

Every instance of HALion adds four stereo and four mono channels to the mixer window, which you can make use of in two different ways. Firstly, you can simply route the instrument loaded on each channel to a different output using the Chan/Prog Page View. Simply click the Out pop-up menu for a channel and choose the output you want to route that channel to on the mixer. However, you'll notice that the default output for each channel is always set to Program, since it's also possible for different samples (and therefore folders) to be routed to different outputs. For example, in a drum Program you might want the individual drums routed to different outputs to add EQ and effects separately.

To route specific samples to an individual output, make sure that All/Select is set to Select and choose the relevant samples (or folder) in the Program List. In the DCA group of the Env/Filter Page View, choose the required output from the Out pop-up menu. Remember to set All/Select back to All when you've finished. It's important to remember that the individual output assignments within a Program only function if the output for the channel where the Program is selected is set to Program. If a channel's output is set to a specific output, this overrides the individual output assignments within the Program, which means that every sample is routed to the global output selected for that channel.

  HALion Default Bank  
  If you originally installed HALion from a v1.0 CD-ROM, you might not know about HALion's ability to automatically load a bank of Programs when you add the VST instrument to a song. By saving a bank called Haliondef in the same directory as the HALion plug-in (for PC users, this will probably be C:\Program Files\Steinberg\Vstplugins\Halion; for Mac users this will be the Vstplugins/Halion folder within your host application), HALion will automatically load this bank when it runs. If you installed HALion from a v1.1 CD-ROM and wondered why HALion always loads a selection of Programs by default, a ready-made default bank file is automatically installed with HALion. To get HALion to open with a blank set of Programs, simply delete or rename the Haliondef bank file in the directory where the HALion plug-in is stored, as described above.  

Grouping Tricks

HALion offers all of the modulation capabilities you'd expect in a modern sampler, but one area that often causes confusion is the grouping facility, located in the Mod/Tune Page View. Groups allow available polyphony to be specifically allocated to Programs and samples, and each Program can use a maximum of 16 Groups. The simplest and most common example of Groups in action is given in the manual where, in a drum Program, you want the closed hi-hat samples to 'choke' the open hi-hat samples. If you assign the open and closed hi-hat samples to the same Group and set the polyphony for that Group to one with the Voices control, so only one hi-hat sample can play at a time, the open and closed hi-hat samples will 'choke' each other when played.

By default, all the samples in a Program are assigned to Group one, and all 16 Groups are assigned an initial polyphony of 16 voices. This means that although HALion's overall polyphony is 256 voices, each Program only has a maximum polyphony of 16 voices by default — fine for some instruments, but maybe not a sampled piano. If you notice notes cutting out on a regular instrument, it's worth changing the polyphony for Group one to 32 via the Voices control (the maximum setting is 64 voices) with All/Select set to All. Conversely, if you have a lead synth sound that you want to play in 'mono' mode, you can use HALion's Voices control for this purpose as well, by setting the Group's polyphony to one.

When you're working with one-shot samples, such as drums, it's important to make sure that Drum Mode is enabled, which is also located on the Mod/Tune Page View. This option forces every sample to play for its full duration, no matter how long the trigger key is held down for, and you'll need to activate Drum Mode when importing drum libraries from a non-HALion sample format since it won't be enabled automatically. Activating Drum Mode also activates Raw Mode, which bypasses all of HALion's playback parameters, with the exception of the DCA settings in the Env/Filter Page View. Raw Mode can also be used independently of Drum Mode and can be useful if you want to save your computer's processing resources, since HALion's playback parameters, like the filter, can be quite demanding on less powerful systems.

  Merging Akai Volumes Into One Program  
2 3
generally has no problem in importing any S1000 or S3000 Akai CD-ROM you throw at it, but you need to take a little care when merging Programs from one Volume on an Akai CD-ROM into one HALion Program. This procedure is especially useful when importing drum libraries, for example, like Wizoo's Platinum 24 Acoustic Drums, where each kit is contained in a Volume where the kicks, snares and so on, are stored as different Programs. If you import the Programs with the default options, you end up with the Programs loaded onto different instruments in HALion, leaving you the task of manually copying and pasting each imported Program into one master drum kit instrument.

So, instead, when you want to import Programs from one Volume as a single HALion instrument, first select the Programs you want to import and click Import. In the Import options, make sure all the lower four boxes are ticked and click Import. HALion will now import each Program into a folder within a single instrument.


Who's Afraid Of Metatrigg?

Metatrigg is an advanced modulation feature that allows you to set specific conditions for when particular samples are triggered. In the case of a sampled piano, for example, a HALion Program could contain a folder of 'sustain pedal up' samples and a folder of 'sustain pedal down' samples. Using Metatrigg, the first folder can be told to play when the sustain pedal is up and the second folder when the sustain pedal is down, preventing notes from the two folders of samples being triggered at the same time.

You can set Metatrigg parameters for the current selection by pressing the Metatrigg button at the bottom-left of the Modulation group in the Mod/Tune Page View. The Metatrigg options are easy to understand: you can configure three controllers with specific ranges, and the actual play condition is set by a series of pop-up menus making up the Play If statement.

Here's how you set up HALion's Metatrigg Play If options to play a certain set of samples only when the sustain pedal is down.

In the case of the piano example, for the 'sustain pedal up' samples set All/Select to Select and choose the folder with the pedal up samples in the Program List. In the Metatrigg options, set the Play If statement to Play If Note On And Pedal On and click OK. For the 'sustain pedal down' samples, with the All/Select button still set to Select, choose the folder with the pedal down samples, and in the Metatrigg options set the Play If statement to Play If Note On And Pedal Off and click OK.

Thanks to Metatrigg, HALion has no problem importing Keyswitch settings from a Giga instrument, or creating keyswitching from scratch in a HALion Program. This means that you can effectively load many Programs into a single Program space and switch between them by pressing assigned keys on your MIDI keyboard (keys that don't normally trigger notes, of course). In a string patch you could switch between legato and pizzicato articulations, or in an electric guitar patch you could switch between sustained and muted playing styles.

To set up keyswitching, set All/Select to Select and choose the folder you want to apply a keyswitch to in the Program List. Click the Metatrigg button in the Mod/Tune Page View, set Controller 1 to Switch Key and Controller 1's Hi and Lo parameters to the MIDI note number of the key you want as the keyswitch trigger (middle 'C' is 64). Now set the Play If statement to Play If Note On And Controller 1 and click OK when you've finished. Repeat this procedure for any other folders, and remember to allocate a different MIDI note to each folder.

As an aside, if you have full-range instruments in folders, the Keyzone Page View can become very difficult to navigate. To make things easier, you can hide and show samples contained within folders on the Keyzone Page View by right-clicking (or Control-clicking on the Mac) a folder and choosing either Hide or Show. A hidden folder will be displayed in italics in the Program List.

Here's how to set up the Metatrigg window if you want to use middle 'C' to switch to a certain bank of samples.

The downside to Programs with many keyswitch layers is that the preload memory overhead increases. This is especially annoying in ready-made libraries if you only want to play one instrument from the whole file. There's also an extra issue to bear in mind: when you reload a project with an instrument that uses keyswitching, there'll be no sound until you trigger a keyswitch. This is particularly frustrating, because you have to go through manually and play the relevant keyswitch for each Program every time you load a song, and it's especially annoying if you forget which keyswitch you were using. For this reason, incorporating the required keyswitch note in a track's name is a good idea, and you could also record this MIDI note into the first bar of the appropriate sequencer track.

In the spirit of killing two birds with one stone (you can tell I'm not a member of the RSPB), if you're never going to make use of all the instruments available by keyswitching, you could simply delete the ones you don't want and resave the instrument file under a new name. However, it's also possible to save out the folder containing the instrument you want to use as a Program in its own right by right-clicking (or Control-clicking on the Mac) the folder and selecting Save Folder from the pop-up menu. Save the new instrument file in the same directory as the instrument file containing all the keyswitches. Alternatively, you could save the new instrument file with all the required samples by selecting Save Folder With Samples instead.

After you've reloaded the saved folder as a Program in its own right (or deleted the other folders and resaved the original Program), you'll need to check that keyswitching is disabled for that single folder. This is easily done in the Metatrigg window by making sure the Play If statement reads Play If Note On and all the other options are off. Since keyswitching is no longer involved, the Program now plays back automatically when you reload the project and no additional memory is used for folders of samples you won't use.

  An Amnesiac Sampler?  
  Another interesting (yet incredibly frustrating) problem seems to be that HALion can occasionally forget to load all the samples used by the chosen Programs when you reload a project. You'll know this has happened when various notes seem to be 'missing' during playback, which is further confirmed by the Preload Memory Used indicator (in the Options Page View) reading considerably lower than it should do. The problem seems to occur when the amount of physical memory available on your computer is limited (it doesn't seem to be an issue on systems with vast amounts of memory installed, for example), even if you had the same number of samples loaded and playing back fine only an hour ago.

One solution is to reload all the instruments manually, but a much quicker workaround is to simply nudge the Preload Into RAM slider, forcing HALion to refresh its buffer and load all the required samples. If the Preload Into RAM setting is 2.0, I'd usually change it to something like 2.1, for example.


Cyberspace Odyssey

I hope this workshop will have helped you to understand HALion a little better. If you want more information about HALion, check out the official link page at www.halion.de for Steinberg's HALion product information. The VST plug-ins forum at www.cubase.net can be a good place for HALion-related discussion, and there's an unofficial HALion support page at www.halion.co.uk offering a useful collection of information, sounds and utilities. But for now, what about sampling those pod bay doors? "I'm sorry, Dave, I can't do that. Dave? Dave...?"

DAW Tips from SOS


Home | Search | News | Current Issue | Tablet Mag | Articles | Forum | Subscribe | Shop | Readers Ads

Advertise | Information | Digital Editions | Privacy Policy | Support | Login Help


Email: Contact SOS

Telephone: +44 (0)1954 789888

Fax: +44 (0)1954 789895

Registered Office: Media House, Trafalgar Way, Bar Hill, Cambridge, CB23 8SQ, United Kingdom.

Sound On Sound Ltd is registered in England and Wales.

Company number: 3015516 VAT number: GB 638 5307 26


All contents copyright © SOS Publications Group and/or its licensors, 1985-2014. All rights reserved.
The contents of this article are subject to worldwide copyright protection and reproduction in whole or part, whether mechanical or electronic, is expressly forbidden without the prior written consent of the Publishers. Great care has been taken to ensure accuracy in the preparation of this article but neither Sound On Sound Limited nor the publishers can be held responsible for its contents. The views expressed are those of the contributors and not necessarily those of the publishers.

Web site designed & maintained by PB Associates | SOS | Relative Media