The complete virtual studio comes a step closer with sophisticated software sampling. Derek Johnson & Debbie Poyser look at a cross‑platform program that aims to take sampling out of the rack and onto the desktop.
Sampling has been one of the most significant musical trends of the last couple of decades, and these days few hi‑tech musicians would feel their studios were complete without a sampling facility. Samplers have so many uses: fixing out‑of‑tune vocal lines, spinning in backing vocals, taking advantage of some of the thousands of sample CDs on the market, constructing unique loops and textures with the sound‑mangling facilities provided by the best units... the list goes on.
But a really good sampler is quite an investment, with top‑of‑the‑range models costing the best part of £3000. Could software sampling provide a satisfactory solution for impoverished musicians wanting to make an expensive computer pay for its keep?
Bitheadz should already be known to SOS readers from their Retro AS1 software synthesizer, reviewed in November 1998. Their follow‑up is the Mac‑ and PC‑compatible Unity DS1 which, they claim, provides all the facilities of a high‑spec hardware sampler in software — for a very compact £249.
To begin putting Bitheadz' claims to the test, we assembled a quick shopping list of features you'd probably want in a hardware sampler, to see how well Unity measures up from its printed spec.
First, you'd look for the basic but important things, like access to a variety of sample rates (Unity's sample rate is variable between 8 and 48kHz, and it supports variable bit depths of 8, 16, or 24); compatibility with popular sample formats (Unity can import 24‑bit Sound Designer I/II, AIFF, CD audio, WAV, SoundFont 2.0, SampleCell I/II and Akai S1000/S3000 formats, and can translate Akai keygroups); decent RAM capacity (the amount Unity can use is limited only by how much is in your computer and how much of that you're prepared to assign to the program); and stereo sampling (Unity can do that with its hands tied behind its back).
High on the list would be as much polyphony and multitimbrality as possible. Here the latest hardware units are certainly delivering, with current Akai and Emu models offering 128‑note polyphony and 32‑part multitimbrality. Unity doesn't do badly on this front: with a powerful computer and enough RAM, it should yield 64‑note polyphony, but its 16‑part multitimbrality is only average. Decent waveform editing is also important, and though modern hardware units have well‑honed editing procedures and nice graphic displays, a full‑size waveform display, as featured in Unity, is tough to beat.
Effects on samplers are now pretty common, and while Unity's effects are more basic than those offered by some hardware units, the program does have two global processors, plus two insert effects for every multitimbral part. If you've got the computing power, you could be using 32 effects, plus the two global effects, at any one time.
Good sample manipulation and DSP facilities would help persuade you to part with your money, and Unity comes up trumps here, offering most of the important ones — with the notable omission of time‑stretching and pitch‑shifting. You'd also want help with looping: Unity has an automatic loop‑on‑zero‑crossings facility and features tolerant crossfade looping. The best samplers offer synthesis facilities and decent filters: Unity's well‑specified synthesis engine is virtually identical to that of Bitheadz' own Retro AS1 software synth and even has a waveform generator.
Other features to look for when shopping for a sampler might include easy layering of samples with velocity crossfading, speed and ease of sampling, good sound quality, and as many audio outputs as possible. The 24‑bit Unity looks good on most of these points from its spec, though the last, fairly obviously, will depend entirely on whether you have an audio card in your computer.
A huge Unity bonus, and one that alone may make it worth the purchase price, is the fact that it comes with over 260Mb of sounds (see 'Fine Freebies' box) — but before you get too excited about Unity's feature list, stop and consider whether your computer is up to the task: this software works best on the most up‑to‑date, powerful computers, as explained in the 'Come Together' box.
Unity is actually a group of five applications: Editor, Mixer, Keyboard, MIDI Processor, and Control Panel. The sixth Beatle is the sample engine, a hidden resource shared by all the applications.
Because Unity is modular, you only need to load the applications you require at any given time. For example, if all you're doing is playing back sounds, you just launch the Mixer. It's only when you want to mess about with samples that you'll need the Editor loaded. And, amazingly, if you're playing Unity sounds from a sequencer running on the same computer, you don't need any elements of the program loaded at all, since the sequencer accesses the engine directly and plays sounds off disk.
PC users need a DirectX‑compatible soundcard to use Unity, while Mac users (this review was conducted using a Mac, by the way) don't require extra hardware, though Unity will operate with any ASIO‑compatible PCI audio card. Mac users looking for separate outputs will find that Unity can send a maximum of eight voices to a card's outputs. When voices are routed to individual outputs on a hardware sampler, these are removed from the main stereo mix, leaving the rest of the mix intact, but this doesn't happen with Unity. In addition, the program's effects are silenced when the individual outs of an audio card are in use, and if you have only one card installed it can't be used simultaneously by Unity and another ASIO program.
Having discussed Unity's features in general terms, let's take a look at its five component applications.
The Editor is where most of the sampling action takes place, and it has several sub‑pages:
- SAMPLES: Sampling is undertaken here, after certain parameters have been set — sample rate and bit depth, whether the sample will be mono or stereo, and so on. A pair of input‑level sliders and meters help with setting sampling levels, and the finished sample appears in a waveform display. The version we tested (1.1) recorded all samples taken through the Mac hardware and Sound Manager at 22.05kHz, regardless of the settings in the program and Sound Manager itself, and since they were played back at 44.1kHz, they were an octave too high and at double speed. This didn't apply to samples taken through a PCI card or direct off CD, and in any case Bitheadz have confirmed the problem and will fix it in version 1.2.
Samples can be as long as you have memory for — but if you've tried to record one that's too long for your RAM, an alert only pops up after the whole sampling procedure is finished, which can be frustrating! Once a sample is recorded, it can be looped. A crossfade option is available, and Unity will also automatically find zero crossings. A highlighted area of the waveform can automatically be turned into a loop, but there's no moving cursor to show you where you are as a waveform plays, so setting loop points by eye can be more time‑consuming than it needs to be.
Resampling is a piece of cake: simply entering a new sample rate causes the program to automatically resample the audio you've just sampled (at a lower rate, perhaps, to save memory, or for a special effect). Additional sample manipulation is offered by a list of DSP processes under a spanner icon labelled 'Munge' (old hacker slang for making large‑scale, irrevocable changes to a file or destroying something, usually accidentally!). In most cases, choosing a process from this list opens a dialogue, and it's possible to audition the process before OK'ing it. Memory permitting, you can Undo, by the way!
Unity can normalise a sample (to maximise its volume without distorting), change gain, fade in or out, reverse, invert phase, apply delay or parametric/shelving EQ, crossfade‑loop, crop (deletes unselected portions of a waveform), truncate audio after a loop end point, splice clipboard contents to the cursor position, mix audio in the clipboard with the selected sample, and split regions of audio in the waveform that are separated by areas of silence into separate sample files. A synthesize option generates waveforms from scratch — sine, triangle, sawtooth, pulse or noise — to which you can apply all Unity's processing power. When we tried the synthesize option, the program would only give us a waveform in a window which already had audio in it — which the waveform then overwrote. However, it's easy to get around this small bug.
It's possible to zoom a waveform to single‑sample level, for basic tasks like searching for a good loop point or locating an isolated click and removing it. For more detailed waveform editing, though — and time‑stretching/pitch‑shifting — the Launch Sample Editor button can call up your preferred editor and load the current sample into it — very neat.
- MULTISAMPLES: Here, samples are arranged into multisample groups on a graphic keyboard, above which is a zone display where samples are mapped. Key zones are created visually, by clicking and dragging on a grey box until it covers the required zone, or numerically, by entering low and high note limits for the zone. Velocity switching of sample layers is also set up here, graphically or using Low and High Switch sliders, which determine the velocity at which a sample layer sounds and the velocity above which it will not play. Velocity isn't the only option for bringing in layers — one of four MIDI controllers can also be used. The pitch of both velocity and key zones can be fine‑tuned on this page, and you can modify zone start points and set level and pan positions for different zones.
Some use of colour would be welcome in the multisample window, because all you see is overlapping grey blocks — though key and velocity zone data can be viewed as a text list instead, if you like! Overall, though, this is a great page which makes setting key zones and velocity crossfades as simple as it could be. The potential is vast: every note on the keyboard could be assigned its own sample, and samples could be assigned to all 128 steps of velocity on each note — that's a lot of samples!
- PROGRAMS: This is where a multisample is made into a Program you can play over MIDI — and it has its own sub‑pages offering detailed synthesis procedures and effects.
The Configuration page graphically represents an entire Program: its 'Oscillators' (the multisamples it's using), Filters, Insert effects and Global effects, with patch cords linking each element and a maximum of two of each element available. You build up a picture of a sound by adding elements into the signal path from a list. The Configuration page works in tandem with pages devoted to the elements making up a Program, and switching off elements in their dedicated pages removes them from the Configuration window.
Double‑clicking an oscillator icon in the Configuration window takes you to the 'Main' page, which shows oscillators and filters. Here you set which multisample is used by an oscillator, define whether velocity or MIDI controller switching will be used for multisample layers, and decide whether to use the basic FM option (which modulates an oscillator with itself, another oscillator or the filters). Sliders control Coarse and Fine tuning, add a Random pitch effect (simulating oscillator tuning instability), FM Amount, Volume and Pan for each oscillator.
The two resonant Filters have identical options and can be of various low‑pass, high‑pass, all‑pass, band‑pass and band‑reject types. Sliders here control Cutoff Frequency, Spread, Cutoff Modulation, Resonance and Overdrive. It's all very hands‑on and easy to work with, even if you don't know much about synthesis.
Just as double‑clicking an oscillator or Filter icon takes you to the Main page, clicking an effect icon accesses the Effects page, where treatments are chosen and tailored. The Global processors offer reverbs, delays and reflections, with various types available (Room, Chamber, Small and Large Hall in the case of the reverbs), and sliders for editing a few basic parameters — reverbs have Pre‑delay, Brightness and Decay. Insert effects comprise Chorus, Flange, Phaser, Delay, Overdrive, Distortion, and Parametric or Shelf EQ. Delays, whether Global or Insert, can be sync'd to MIDI clock, with various note values available.
The Modulation window is less graphically interesting than the rest of the program, but it is also one of Unity's more powerful areas. Here it's possible to set up modulation routings — the number limited only by your computer's CPU — between a wide range of sources and a long list of Unity parameters. Modulators include MIDI notes, velocity, aftertouch, four assignable MIDI controllers, 5‑stage envelope generators, LFOs, and the so‑called 'Ramp' and 'Random' modulators, which are hard to explain but are worth having for the novel and unexpected effects they can produce. Modulation destinations include pitch, pan, sundry oscillator and filter parameters, and many modulator parameters; if you find it necessary to modulate volume with an EG, the attack of which is modulated by an LFO, the speed of which is modulated by aftertouch, go ahead!
A positive or negative amount can be set for each modulation routing, and the onset of modulators can be delayed. The EGs are fairly flexible, and are editable using a graphic curve or five sliders. Also well‑specified is the MIDI‑sync'able LFO, which offers a wide choice of waveforms, with speed, symmetry and ramp parameters.
The final Programs page (Global) hosts parameters that affect an entire Program — such as global transposition, pan and volume, pitch‑bend range (up to 12 semitones), MIDI channel and polyphonic response. A Unity Program can be fully polyphonic, or monophonic with a choice of portamento options. There are also options for reserving polyphony and deciding which notes will be stolen if Unity's overall polyphony limit is reached.
Probably the most colourful and attractive of Unity's applications, the Mixer displays 16 MIDI channels of Programs. It's here that a multitimbral sequencer setup would be created and balanced. Each channel is equipped with a level slider and meter, mute and solo buttons, pan control, and send sliders for the two global effects. Usefully, global effects are accessible via the Mixer window, so you can continue to tweak them even while making multitimbral setups.
While the Mixer window looks really nice and is easy to use, it would be even nicer if the channel strips were resizable to be narrower, so that a screen could accommodate more at one time.
The first of these is simply an on‑screen keyboard for auditioning Unity sounds without the need for an external controller. Any Program in a bank stored in Unity's Banks folder can be auditioned, and with this window open, the Mac keyboard can also be used to play just over an octave's worth of notes.
In the MIDI Processor, quick two‑Program layers or splits of Unity sounds are set up — something like a simplified version of a Combi setup on a Korg synth — but this is also where the sophisticated arpeggiator is found. It can produce standard arpeggio patterns (up, down, up/down and random), and has a range of one to four octaves, with options for arpeggiating incoming chords, or generating and then arpeggiating a chord based on single notes; major, minor and more exotic chords are available. It's also possible to create custom patterns, by inputting notes, with velocity values, into a list. Playback of the pattern transposes according to whatever note you play and steps according to the arpeggiator resolution. Rhythmic patterns can be created by giving unwanted steps a velocity of zero — it's rather like writing a pattern on the basic sequencer of Roland's old SH101 analogue monosynth. Custom MIDI processor setups, including arpeggiator patterns, can be saved to disk and, of course, the arpeggiator will sync to MIDI clock.
Achieving the best performance from Unity and host computer relies to a large extent on the configuration parameters in the Control Panel. It's possible to set how many voices you want (up to 64), bearing in mind the power and speed of the host machine, and define the maximum CPU power Unity can take (10‑60 percent). This latter measure ensures that other software won't grab processing power Unity needs. The software's overall sample rate can also be set here, as can Buffer Length, which determines data throughput and has an impact on the sound‑quality‑and‑latency‑versus‑polyphony equation. In addition, the user decides here how much RAM is to be reserved for Unity. The program will usually want more RAM than you'd expect: for example, a 32Mb sound bank loaded into the Editor will also be loaded into the invisible sampling engine, requiring another 32Mb — at least 64Mb altogether.
Also set in the Control Panel are the four physical controllers you want assigned to the four MIDI controllers (A‑D) Unity makes available. This is a limited number, but since NRPNs can also be used to control any Unity parameter in real time (see 'MIDI In Control' box) we won't complain too much.
Because Unity's global effects can be accessed from different parts of the program, not all of which may be loaded at the same time, certain effects‑related decisions have to be made in the Control Panel. This is a bit complicated, but boils down to whether the effects settings in the Editor, the Mixer, or the current Program take precedence.
Finally, the Input/Output menu is where decisions regarding Unity's MIDI input and audio output are taken. MIDI can come direct from the computer's serial port, OMS or FreeMIDI (if installed). Audio output can be via Sound Manager, Digidesign direct I/O for Digidesign systems, or ASIO if a compatible PCI card is installed.
Unity is a very friendly program which almost anyone could get their head around. The clean graphic interface allows you to see everything and edit all parameters with ease, sampling and DSP functions are fast even on lesser Macs, setting up multisample key and velocity groups is pain‑free, and Unity's output sounds great — especially through the digital outs of a PCI card. The powerful synthesis facilities can hardly be faulted and it takes next to no time to process even unpromising source material beyond recognition and turn it into something wild and wacky. If you're not into wild and wacky, Unity's sample‑manipulation tools can be turned to more subtle ends, and the meaty filters are easily coaxed into producing gentle results.
Beyond the generous collection of supplied sounds, Unity's foreign‑format compatibility means that a world of third‑party samples is available to users of the program. Sampling with Unity is simple, but it's reassuring to know that you can access so many ready‑made libraries; importing audio from a CD is as easy as falling off a log with the program's CD audio window.
On the downside, pitch‑shifting and time‑stretching are not provided (though the former should turn up in the next update), and people working extensively with loops really need these facilities. Also, though you can import samples in lots of different formats, export is limited to AIFF, WAV and Sound Designer, and there's no SCSI or MIDI sample dump facility. Computer power is also an issue which will limit some people's ability to make the most of Unity.
Could the program really replace a hardware sampler? Well, there are people who will always prefer to have a dedicated box for the job, and there's a lot to be said for that approach, but for the increasing numbers striving for an entire studio in their (super‑fast) computer, Unity is a very attractive option.
On first installing Unity DS1 it's a very pleasant surprise to find over 260Mb of samples included free, made up of around 1827 Programs in 79 banks, plus a handful of examples in foreign file formats to import. This fine selection of real‑world instrument sounds, hip loops and raw synth material includes a GM sound bank, examples from established sample libraries, and a healthy selection from Emu's Proteus synths.
Bitheadz have implemented NRPNs — non‑registered parameter numbers — for real‑time control of Unity parameters. The manual lists all the relevant numbers, and while it'll be a drag, it should be straightforward to configure any hardware MIDI controller or software mixer map to tweak Unity parameters. NRPNs were chosen because they are channel‑specific, allowing Programs assigned to multiple MIDI channels to be tweaked in real time simultaneously.
Bitheadz suggest the following as minimum requirements for Unity:
- 32Mb RAM (64Mb+ recommended).
- 250Mb hard disk space.
- CD‑ROM drive.
- 800 x 600 or higher resolution monitor with 256 or more colours.
- MIDI interface and controller.
- For MacOs, 120MHz or faster PowerPC processor with at least System 7.6.1 (System 8 or higher recommended).
- For PC, 100MHz or faster Pentium processor, Windows 95/98, DirectX‑compatible soundcard.
One of Unity's best features is its ability to integrate with other applications, such as MIDI sequencers. Be warned, however, that system requirements will be higher in this case, and will get closer to the current state of the art than might be affordable if Unity is to run with a MIDI + Audio sequencer. If such a sequencer is run alongside Unity, both will have their own CPU and RAM demands, so if you have a less‑than‑ideal computer, be prepared to juggle memory allocations for both applications, and Unity's CPU reserve. It's fortunate that RAM is cheap these days, because 128Mb is probably the minimum needed for side‑by‑side operation.
We did some testing on a 266MHz G3 Mac with 160Mb RAM, and this ran Cubase VST and Unity simultaneously with little in the way of problems, bar one or two minor crashes, and up to 24 Unity voices. We got more than double that figure with Unity running by itself. The program displayed virtually no sluggishness when played direct, without a sequencer, but a slight delay was apparent when it was being used as a 'sound module' for VST.
On our own humble 250MHz 6500 with 96Mb of RAM, we had more trouble running both at the same time, though the 6500 was quite happy with Unity by itself, up to about 12 voices. Be aware that, as with many modern synthesizers, Unity's polyphony can be reduced in various ways: if all your Programs use two oscillators polyphony is halved, and adding filters and effects has implications too.
Unity's record‑to‑disk option will be welcomed by many users, especially those with under‑powered computers. It simply allows whatever Unity is doing to be turned into an 8‑, 16‑ or 24‑bit audio file, complete with effects, which can be imported into other audio applications or reloaded into Unity itself.
- Quick, easy sampling.
- Clean, tidy graphic interface.
- Wide sample import options.
- Large free sample library.
- Excellent sound processing and synthesis facilities.
- Good‑sounding output.
- Great value for the facilities on offer.
- Needs a very powerful computer for best results, especially to run alongside a MIDI + Audio sequencer.
- Currently no pitch‑shifting or time‑stretching.
- Manual in PDF format.
A really good sampling system, and one that rivals dedicated units in terms of facilities. The only rub is how much computer power it needs.