|Accelerate Your Mac!|
Bring in the Noise
Mac Audio Column
by Thad Brown
Unity DS-1 Review
Hey Folks, back with another installment of Americas most tardy audio reviews, and possibly the most tardy of the world. Today under the xlr8 microscope is the Unity DS-1 software sampler from Bitheadz. Most of you know what it is does, but for those who have been living under a rock regarding the world of audio, here's a description.
A sampler is something like a tape deck. You play a key on your keyboard, a sampler plays back a note that has been stored digitally as a sample. In an ideal world, there would be multiple samples for each possible note (since notes are stuck, blown, plucked, or bowed differently), but often that is not the case. Because of this, samplers allow a smaller number of notes to be used and assign key regions so that, say 10 samples can be used for the entire keyboard. In this case, the sample is transposed to the correct pitch as it is played. To continue with the tape deck metaphor, the tape moves a little faster or slower. The tape deck metaphor breaks down after that, since storing the sample digitally allows a number of unique things to be done. First, the sample can be started from any place in the file, it can be played backwards, and of course, all kinds of DSP and filtering can be done on it when it is played back. For years, samplers have been expensive and severely limited in RAM capability. Like everything else in the audio world, desktop machines have become fast enough to do some of the stuff in real time on a computer that most people can afford and might already own.
Though this is possible, it's a lot to ask of a host processor. Samplers, like synths, generally use dedicated DSP silicon and dedicated RAM. With a software based system and a host processor, the general purpose processor is asked to do a whole lot of floating point math, particularly if there is DSP and filters and reverbs and such like going on. Since every software based sampler save the Gigasampler have to read the samples into RAM (as always, no virtual memory is allowed), the host system also has to have plenty of hardware memory
-What it is and what it does-
The Unity DS-1 is actually a couple of different apps. There is one app that is for editing and preparing sample banks, one for keeping track of system resources, one to use an on screen keyboard and so on. Once installed, none of this needs to be running to use the sampler, if OMS is running, just starting a sequencer opens the audio engine and no other precious system resources need to be used.
Bitheadz also includes and impressive variety of built in sample banks. There is a General MIDI bank for playing bad SMFs and sketching out tunes, plus strings, electric and acoustic keyboards, drum kits, loops, and demos from various third party companies. The DS-1 is also capable of importing samples (but not much else) from Akai and Samplecell CDs, and it also imports SoundFonts though I didn't test this all that much. Those of you with big bucks in Akai or Roland sample CDs should look at Osmosis, their translation software to turn those CDs into Unity banks with much more of the sample information included than is brought over with Unity import alone.
-The Test System And Ratings Scale-
My audio box is STILL a Umax S900 with a Powerlogix 220/110 card running at 325/117. I've now had this machine for over 18 months, and it still rocks, and I only paid $1300 for it new WITH the G3 card. Lucky me, eh? I used both Vision and Cubse during this review. I monitor with PARIS, a Korg 1212, and Audiowerk2, or on occasion the built in 16 bit audio. It's a nice little rig, particularly with PARIS on the PC and everything slaving up properly. Software synthesis and sampling on the Mac and the multi track audio on its own box. It's a beautiful time to be a desktop musician
I decided to use a weighted ratings system with six categories, where the total points possible are an easy to value 100. They are:
Installation and Configuration
Unity includes everything on one CD. The installer puts the apps and preset banks in one folder, three extensions and an alias in the extensions folder, and a custom driver in the OMS folder if it is present. If you are using OMS, this a very nice thing, as I'll mention later. The installer demands a password to unpack the cab files, and a serial number to authorize the app. Everything went fine, and I like the serial number authorization. The CD is supposed to be requested on occasion for re-authorization, but in my experience it wasn't. Strange.
Once installed, it is no mean task to configure Unity, but this is a result of necessity, not poor planning or programing--it's alot of power and capability and needs some care to get it working right. For MIDI, the config is quite simple. Run the OMS studio setup, and the custom driver is detected and added to your studio. Unity instruments then become selectable in the sequencer. Names configuration proved to be one of the biggest problems with Unity. Bitheadz includes a utility to scan installed banks and generate a text file that can be pasted into the names setup, which in theory can then be pasted into a names document in an OMS compatible application. Problem is, it doesn't work terribly often. The app seems particularly sensitive to having a bank with no presets, but sometimes it doesn't work correctly no matter what. For a while I was thinking it was just that I was too stupid to get it right, but others have had similar problems. Unity can get MIDI from any one of a number of places, including OMS and FreeMIDI, but it also comes with its own serial driver. The serial driver offers significantly lower latency, but of course you can't record into your sequencer when using it.
The most complex and critical config with Unity is the RAM and processor bandwidth config. It's not easy, but it allows the program to be customized to whatever is necessary with the particular setup and machine. Like all apps, Unity needs a RAM partition do store samples, and it also needs RAM for the sound engine and any of the other apps, the editor for instance, that might be running. What the means is that all of the open banks, any Unity apps, and the engine have to fit in the RAM partition set aside for Unity. This is further complicated by the fact that like almost every audio app, the samples are stored as 32 bit floating point samples for DSP and playback. Most samples are 16 bit linear, and a 16 bit sample takes half as much memory as a 32 bit sample, just like you would expect with 32 being twice as big as 16 and all. So, one of the choices in the config is what Unity does when a bank of samples are opened. It can expand them into 32 bit float samples and thereby save CPU bandwidth since they are already optimized for processing, or it can leave them as 16 bit samples and expand them on the fly as needed, which takes less memory but taxes the processor more since it has to work on the samples before processing them. This stuff demands some effort and thought, but it is both a useful and necessary part of running such complex software. It's not unnecessarily complex, and Bitheadz spends a great deal of time explaining how to set things up.
Great installation, a few problems with the config, no unnecessary complexity. 9 out of 10 points
Features and Audio Quality
Well, it's a sampler first of all. That alone makes it nearly unique in the world of Mac audio. Managing the samples is fairly straightforward. The most common window used in Unity is the editor window. Unity organizes its world into banks, programs, multisamples and samples. In Unity-speak, a sample is a single piece of audio, a mulitsample is a group of samples that are mapped across the keyboard, a program is a multisample with all of the other parameters available like modulation and envelopes and filters and effects. A bank is a group of programs. So, in real simple English, if you are thinking of a Fender Rhodes piano (and what a nice thing it is to think about), a sample would be a single sound of a key being struck. A multisample would be a group of these so that no single sample would have to be transposed too far away from its original pitch, which can include very many or very few samples and velocity switches. A program would be a multisample that has some Tobasco--chorus or reverb or some such. A bank would be a group of programs, some dry, some chorused,. some reverbed. That's the hierarchy in the editor window.
Editing these is made comparatively easy. One of the HUGE advantages that a host based sampler has is that you get a nice big screen for editing. Even the most expensive samplers have pretty severely limited screen real estate. Not so with Unity. At the sample level, Unity offers basic editing, certainly not anything that will keep you from using your favorite sample editor, but editing multisamples is one of the best things about Unity. The multisample editor has a graphical representation of a keyboard, and key ranges are edited by dragging handles. Programming velocity switching is also stupid simple. The editor is really really easy and intuitive, and very fast as well.
Program editing is also quite easy. The samples are thought of as oscillators, and effects and modulation are added by dragging them into a page and connected with wires. It's easy to do and the graphic interface makes it quite intuitive Certainly easier than a lot of hardware samplers.
Most of the time, Unity will gets its MIDI input from a keyboard or a sequencer, but Unity has a keyboard app built in. Programs can be selected from the keyboard app. There is also a mixer app to route the outputs of the banks and add global effects if they are necessary.
Sound quality is a mixed bag. As a sample playback system, Unity is fantastic. Just expanding a 16 bit sample to 32 bits doesn't make any difference in the sound quality, but it plays back the samples quite nicely.. However, the internal resolution offers the possibility of very high quality effects, but the sound doesn't deliver on that potential. The designers told me that it is largely to save CPU resources for the "normal" sampler tasks, and that makes sense. My advice is to bounce down to audio tracks and use your normal effects boxes or programs. The filters and such are supposedly derived from the Retro AS-1 engine, and sound about the same. They aren't my favorite software filters, but they certainly don't suck.
The one problem I had, consistently, was the names manager in OMS. As I said, the Applescript that Unity includes to just doesn't seem to work, or will work very unpredictably. I spent lots of time trying to figure out what I was doing wrong, but found that others (a lab at Yale) have had the same problems and thus gave up. So, the only thing I could do was use the included names document for the presets, and then manually edit anything I did to change them. That's not horrible, but for some reason it's more irritating when the tool doesn't work than when I get no tool at all.
I'll knock off a few points for the less than inspiring effects, and a few more for a lack of sample editing tools or beat munging and the like. Three points off for the names problems. 23 out of 30
Often, when using an audio app, it will remind me of some other application. When I started using Unity, I knew it reminded me of some other program, but I couldn't think of what audio app looked like Unity. Then it hit me, it's not an audio app that Unity resembles, but instead the industry standard Mac development environment Codewarrior. The unity editor uses an almost identical "tab" based navigation system that is fantastic. When working in the editor window, all of the "subpages" that deal with samples, multisamples and programs are one tab click away at all times, and they are also duplicated in menus for the GUI intransigent. As I said before, the mutli-sample window is beautifully designed and a great deal easier to use than what you get on most samplers.
There are a few unpleasant things. First, I would get confused what window had the function that I needed on occasion ("is that in the multisample or sample window?"), and some of the graphics seemed to follow an analog metaphor more than necessary, as in the mixer window. Then again, I bet most people will prefer that. Multisample editing is made somewhat tricky on occasion by a very limited "zoom resolution." I often needed to be a little more or less zoomed that Unity would allow me to be. At one level I couldn't get the tool to grab the right boundary, at a different level, I couldn't see enough of the keymap.
Strangely, there isn't all that much to the interface. You would think that there would be more to it, but I guess it's just what you need. Also, the interface doesn't run (and shouldn't to save CPU resources) if you just need the audio engine running.
Very nice interface, two points off for the zoom thing, one for the occasionally confusing placement of controls. 17 out of 20.
Very good. Support for nearly everything, and promised support for most everything else. Unity currently supports both OMS and FreeMIDI, with a custom OMS driver for your studio setup. It also supports ReWire for integration into most sequencers, and also supports the MAS equivalent (get the idea somebody at Bitheadz uses Digital Performer alot?). Rumor has it that they will support VST 2.0 and Direct Connect as well, though of course I wouldn't buy it for that until it was finished. Finally, the whole package is cross platform, so if you have a Win95 box, you can use it there as well. No go with WinNT or the current beta of Win2000 though.
10 out of 10.
Unity comes with documentation in .pdf format on the CD. It's big and well done. There is extensive discussion about the most difficult part of the config process, setting up the memory partitions. Bitheadz also goes through the structure of the sampler at length, which is good, since no two are exactly (or sometimes even remotely) the same. The only knock is that for a manual this big, a hard copy would be appreciated. Even so, very nicely done.
9 out of 10
That depends. Unity works ideally when it has its own computer for two reasons. First, it can easily take an entire CPU to get high polyphony numbers, and second, latency when using it with a sequencer and OMS is not all that great. In fact, I noticed it enough that I tracked parts with a hardware synth sometimes, and then used the sounds from Unity after I was done recording. So, in an ideal world, you would have Unity on its own machine running with the Bitheadz serial driver which is much much faster. So, if you have a spare fast G3 with a good sound card already, Unity is a great choice. For $449 you have a nice sampler. However, if you don't have a machine to dedicate to Unity, you have to decide if your current machine can handle the load, and if the latency will be a problem for you. If you decide no, then you have to buy a machine to dedicate to it, and in that case, you are starting to spend the amounts that you spend on nice hardware samplers. Now, there are reasons to prefer software, but a nice hardware sampler has a couple of things going for it, mostly prefab sample libraries and that you can use it live very easily and it doesn't get Type 11 errors.
Don't get me wrong, you can use Unity on a Mac with other apps running, but CPU bandwidth does run out pretty fast. The sounds that Bitheadz includes certainly increases the value of the package. The preset sounds are very good, and the GM bank they include to replace a "utility" synth is much better than most such banks sound. The best argument for Unity in value is that it does work with a few caveats, and the presets are good enough that you have added significantly to your sonic palate just by installing. I guess what I am saying is that host based software sampling is still bending end stuff, don't expect to just get 64 voices and a ton of filters and no noticeable latency no matter what you do. There are tradeoffs, and you should think of them. But props to Bitheadz to spelling out how to get around these as best as possible, and for including some very nice samples with the app.
17 out of 20.
Unity gets a very respectable 85 points. The biggest things it has going for it are that nothing else on the Mac does what it does (the only other commercial soft sampler I know of is from koblo, and it is a very specialized thing, not a replacement for a general purpose sampler), and it includes some very nice sounds out of the box. I recommend it to anybody with a fast machine who doesn't mind some hassles with OMS names and some occasionally irritating latency. Bitheadz is an excellent company, and I'm sure with faster Macs and a few more of the rough edges polished off, Unity will be the de facto soft sampler on the market. Maybe the de facto soft sampler anywhere.
Your Source for the best in CPU/SCSI/VIDEO card reviews, daily news, and more!
All brand or product names mentioned here are properties of their respective companies.