www.ethanwiner.com - since 1997

Striving For New Lows
(Low Cost, Low Latency, Low Maintenance)

By Ethan Winer

(This article first appeared in May, 2000 in ProRec, the online audio magazine.)

There are many good reasons to consolidate all recording and mixing into a single computer. It eliminates all hum and noise caused by ground loops and flaky cables, avoids the hiss inherent in older outboard gear, and allows complete mixdown recall and automation. In this article I explain why I chose the SoundBlaster Live card as the core for my new recording setup, and along the way describe many useful tips for creating and editing samples in the popular SoundFont format.


Several months ago I was mixing a symphony I had sequenced for a local composer when I noticed the French horns were fuzzy in one channel. It was that unmistakable sound of a bad connection, the kind that goes away when you wiggle the wires. I have a fairly complex setup comprising seven external synthesizers, a computer with dozens of audio programs and two sound cards, a rack full of outboard effects, and a 48-input mixer to combine all the outputs.

The fuzzing horn patch was coming from my Yamaha SY77 synthesizer, so I reached in the back and unplugged and reseated both stereo pairs of phone plugs. The fuzz was still there, so I fiddled with, in turn, the wires from the SY77 to the noise gates, the noise gates to the mixer, and the mixer to the power amp. Nothing helped, and all I could do was ignore it for the time being. By the next day, when I was finishing the mix, the fuzz had disappeared as mysteriously as it had appeared. But this experience confirmed what I'd long been considering: It was time to abandon my aging gear and start working entirely within the computer. There are many good reasons to consolidate all recording and mixing - both MIDI and audio - into a single computer. Modern software samplers, audio recording programs, and plug-in effects are very high quality, and computers are finally powerful enough to handle an entire mix in real time. Keeping everything in the computer eliminates all hum and noise caused by ground loops and flaky cables, avoids the hiss inherent in most older outboard gear, and allows complete mixdown recall and automation. And with current computers you can handle 24 or more audio tracks - you don't need to buy three ADATs or an expensive stand-alone hard disk recorder.

Using a computer-based sampler also simplifies patch editing because there's only one operating system to learn. With my seven synthesizers, making even a small change to a patch requires a frustrating trip to the owner's manual and time wasted squinting at a tiny LCD display. Compare that to using a single computer program that presents an attractive interface on a large video monitor. Further, a computer-based sampler is easily upgraded with new sounds, as opposed to the latest must-have hardware synthesizer that must be purchased again and again. Perhaps most important of all, with a computer you can mix directly to a Wave file and burn that to a CD as the final product - without ever leaving the digital domain.

CHOOSING A SAMPLER

I already own IQS's excellent SAWPlus32 multitrack recording program, Sound Forge 4.5 for Wave file editing and mastering, a slew of DirectX plug-ins, and the excellent DreamStation software emulation of classic analog synthesizers. All I needed was to play back sampled sounds from my sequencer. I tried several shareware software samplers but found them inadequate, and I rejected the high-end commercial programs because they all use copy protection.

Because I already have a Creative Labs SoundBlaster Live card, it was an easy decision to use its built-in sample-playback capability. The SB Live sounds great, it is powerful and inexpensive, and it has one huge advantage over software synthesizers: The sound generation is handled entirely by hardware on the card itself. So there is no latency delay, and there's no load on the computer's CPU or hard drives even when playing a very complex MIDI sequence. Further, the Live card has two complete 16-channel synthesizers, for a total of 32 separate instruments and 64-note polyphony. Even more voices can be played through the Creative Synth, though those sounds cannot be edited.)

Many people wrongly believe that the SoundBlaster Live card is cheesy, based on the puny 2 MB GM sample set installed by default. However, I have done careful listening tests of this sound card and found the fidelity to be excellent. Samples played back by the SB Live are based on Wave files, so whatever quality is in the original recording comes through exactly. You can allocate up to half your system RAM to hold sample banks, offering the potential for truly professional results on a well-endowed computer. My sound card test is described in a separate article on my web site. Also see Pete Leoni's article Is it Live, or is it Sampleblaster? on ProRec.com that discusses other aspects of using a SoundBlaster Live card as a sampler.

As a typical project studio owner I don't need 8 or 16 sound card inputs and outputs. I use MIDI to sequence as much as possible of a project, and then overdub live instruments one at a time as mono or stereo audio tracks in SAW. For the occasions when I do need to record more inputs at once, I have a second sound card, a CardD Plus, for a total of four simultaneous channels. Unless you record entire bands or need to transfer many tracks at one time to an external tape or hard disk recorder, most project studios need only a SoundBlaster Live and possibly one additional sound card. And if you really do need many input and output channels, you can buy a multi-port interface for that and still use a Live card for its sample playback.

SOUNDFONTS

The SoundBlaster Live uses a sample format called SoundFonts. Several SoundFont banks are included when you buy the card, and hundreds more can be downloaded for free on the Internet (see the list of web sites below). Commercial SoundFont libraries are also available, and most cost much less than similar libraries for the "pro" format samplers.

The SB Live comes with 2 MB, 4 MB, and 8 MB General MIDI SoundFont banks. The 2 MB bank is installed by default but, depending on how much of your computer's main memory you are willing to allocate, you can instead load the 4 MB or 8 MB version. Each is progressively better because the instrument notes play for a longer time before looping. But the real action is in 32 MB (and larger) SoundFonts, and dozens of them are available for download or purchase. One common misconception about SoundFonts is that they are limited to a total size of 32 MB. However, SoundFont files can be nearly any size; the 32 MB limit applies only to the amount of Wave file data that can be sounding at any given moment.

Since I write both pop and classical music, many of the large SoundFonts I found were of little use to me. I need good strings, oboes, clarinets, and so forth. Most of the large GM banks improve on the pop music instruments only, and contain the same cheesy classical instruments in the SB Live's original 8 MB bank. Indeed, many of the free sounds I found are lame, or merely contain minor variations on the stock sounds that already come with the SB Live. But there were some real gems among all the garbage, and I set out to create my own large GM SoundFont, based on the best samples I could find.

For less than $100 and about ten hours of download time, I ended up with a collection of sounds that are much better than all of my current hardware synths combined. (Plus I can always record a favorite sound from an existing synth and add it to my master bank.) In fact, I found so many great sounds - harp glisses, ethnic instruments, drum sets, even sound effects - that I created several additional SoundFont banks I can load as needed to access those additional patches. I also bought from the E-mu web site a SoundFont version of their Proteus/2 synthesizer. At only $29 this is a great value compared to what I paid for the hardware version just a few years ago!

Creating a custom SoundFont bank was a huge project that took more than three months to finish. Most of the work was done in Vienna, the SoundFont editor Creative Labs offers for free in the LiveWare Downloads area of their web site. When samples needed to be edited or relooped I used Sound Forge 4.5. But the real effort was auditioning the hundreds of electric basses, clarinets, harps - you name it - and deciding which were best and thus deserved to go in my master file. Along the way I learned a lot about building and editing SoundFonts and looping samples, and that is covered in the second part of this article below.

I have not yet found a grand piano SoundFont as good as my Yamaha PFp-100. The stereo Grand Piano in Fluid is the best I have come across so far, and it's noticeably better than the piano patches in most hardware synthesizers. But for now, when I write a tune where the piano is prominent and I need the highest quality possible, I'll simply record my PFp-100 as an audio track.

Table 1: Web sites that offer SoundFonts for free downloading

Hammer Sound: http://www.hammersound.net
Fluid: (now at HammerSound above, in the Collections section)
Personal Copy: http://www.personalcopy.com
SF Upload: http://plaza19.mbn.or.jp/~sfwire/soundfont.html
The Sound Site: http://thesoundsite.ismi.net/

Many of the web sites that offer SoundFont files for downloading use SFPack and/or SFArk. These ZIP-like programs are designed specifically for compressing SF2 files to make them download faster. All of the sites that use these utilities also have links to download them.

Hammer Sound is run by Thomas Hammer, and this is a great site with tons of SF2 files. All of the files are organized by category, and many of the sounds are rated by previous downloaders.

Fluid is a work in progress by Frank Wen, and the site has only the 35 MB Fluid.sf2 file. But this is a very good collection of instruments and it's well worth the download time.

The Personal Copy site does not contain a huge collection, but according to "JimR," the site's host, "If a SoundFont isn't outstanding, I don't post it."

SFUpload is run by Kyosuke Takahashi, and contains mostly pop instruments as well as some complete drum loops.

The Sound Site is the most comprehensive of all the SoundFont sites I have found. There are several gigabytes of SF2 files you can download for free, and they also offer every file on the site on a four-CD set for $39 postpaid.

CREATING, EDITING, AND USING SOUNDFONTS

As I mentioned earlier, I used the Vienna SoundFont editor to organize the patches in my master SoundFont file. The first step was to build a series of "audition" files, so I could compare the dozens of similar instruments side by side. Vienna includes a bank manager that lets you copy patches from one SoundFont file to another, so I built one file with every clarinet, another with every electric bass, and so forth. Unfortunately, many of the instruments were programmed to play in the wrong octave. So before I could compare them, I had to transpose the Coarse Pitch for those instruments up or down an octave, and then adjust the key range each sample occupies in the Instrument definition to compensate.

Once I had chosen the best patches in each category, I loaded the 8 MB SoundFont that came with my Live card, and one by one replaced sounds with the better versions. In some cases I kept the original patches, if they were good, and added the new instruments to other banks. For example, I ended up with three different xylophones from which I can choose in my sequencer.

Besides making all of the instruments play in the standard octave, I had to balance the levels so they would play at the same volume. I also stripped out the entire SFX percussion bank and all of the other sounds not needed for serious music making like the Bird and Helicopter. This saved about 1.5 MB of sample memory in the file.

Some of the instruments I downloaded were badly looped; others had Wave files that extended beyond the loop end points. Except in special cases, any sound past the loop end is never played and thus wastes memory. So I exported those samples and edited and relooped them in Sound Forge. Further, since saving memory is important, I converted many of the Wave files to a lower sample rate. For example, electric basses don't really need the full 20 KHz. frequency response a 44.1 KHz. sample rate offers. So I resampled them down to 22,050 KHz., which reduced the memory requirement of those instruments by half.

When a Wave file is exported from Vienna to resample or otherwise edit it, the exported file retains the loop points. This feature allowed me to use the superior editing features of Sound Forge to fine-tune the loop points. When I later brought the file back into Vienna, all of the loop information was intact.

LOOPING TECHNIQUES

If you listen carefully to the open A string on a real electric guitar, you'll hear the initial plunk as the note is hit, followed by a slight twang or "wow" sound that continues as it fades out. To squeeze all the sounds needed for a full GM bank into only 2MB, most notes play for only the first half second or so, and then loop (repeat) the last cycle over and over for as long you hold down the key. So while the instrument is recognizable as an electric guitar, it has no ambience and sounds static and artificial. Only by using much more of the original recording - at least a second or two, hopefully longer - can a sample-based synthesizer sound realistic. But the longer a sample extends before looping the more memory it requires, and samples recorded in stereo require twice as much as mono.

There are two main methods for looping. The simpler approach is to play some initial portion of the sample, and then loop a single cycle of the waveform. Figure 1 shows an electric bass Wave file that has been looped this way in Sound Forge's Loop Editor. (Loop editors like the ones in Vienna and Sound Forge can be confusing at first because the left pane shows the ending portion of the Wave file and the right pane shows an earlier region.)

Sound Forge's Loop Editor

Figure 1: The very last cycle in the Wave file (identified as Sustaining Loop at the top) is set to repeat for as long as the note sounds. The bottom window (left) shows the trailing edge of the wave as it is spliced to the start (right) of the looped region.

The big problem with single-cycle looping is that the instrument loses all of its ambience as soon as it enters the looped region. Further, after resampling to a lower rate, sometimes the ideal loop points no longer fall on exact sample boundaries. This is a problem especially with high notes because the new, sparser, loop points don't encompass exactly one cycle. In this case the note may buzz or become sharp or flat when it enters the looped region.

You can often solve these problems by auditioning the looped region continuously while you move both points one "sample tick" at a time until the buzzing is at a minimum. This preserves the basic frequency of the looped region, while finding the spot where the mismatch in level or change in pitch is at a minimum. If the problem can't be solved, you must go back to the original Wave file and resample at a slightly higher rate and try again. SoundFonts can use any arbitrary sample rate, so you are not limited to the standard rates of 44100, 22050, and 11025.

A much better method for looping is to encompass one or two seconds of the "wow" sound within the loop. This is much harder to do, especially with stereo files where the ideal loop points for one channel are not necessarily ideal for the other channel. Further, if the timbre is not identical where the loop points are spliced you'll, hear a "bang bang" sound rather than a smooth continuation of the note. Note that when looping stereo samples, you must export them as a single stereo file. Otherwise the image will shift to the left or right when the samples enter the looped regions. Right-click on the User Sample Pool folder, select Export Sample(s).. and then Shift-Click to select both samples in a left/right stereo pair. Note that you can specify the destination folder, but not the file name.

AUDIBLE IMPROVEMENTS

Some of the instruments I downloaded or bought used samples that were recorded in stereo, but most were recorded in mono. Obviously real stereo samples are better, but there are a few tricks you can use to simulate stereo. In fact, these techniques have the advantage of not needing twice as much memory like real stereo samples do. I'll describe two very different methods, but first you need to understand how samples are organized within a SoundFont.

SoundFonts are based on a three-level hierarchy: The original samples are used to define an Instrument, which is where you specify in Vienna the range of notes each sample should play. This is also where you establish the ADSR and filter settings, how much vibrato to apply, and so forth. One or more Instruments are then assigned to a Preset, which is the patch you ultimately select from your sequencer.

One method for creating a fake stereo effect is to assign the same Instrument twice to a single Preset, but with one panned hard left and pitch-shifted 1-5 cents high and the other panned hard right and shifted low by the same amount. The more the pitch is shifted the wider the stereo effect. Although this creates a very effective stereo image - especially with electric pianos and organs - it can also create a problem if the song is played in mono. In that case the instrument may sound as if it were processed through a flanger or Harmonizer.

Another - and I think superior - technique is to assign two different samples to play the same range of notes. If an instrument uses several samples to cover the entire range, simply assign the next adjacent sample to each range in addition to the sample already in use. When you then pan one sample hard left and the other hard right, you are using two different recordings for each note, which gives the illusion of width. (You can also use layering to thicken a patch even when leaving it as mono. For example, a thin string section will become much fatter if you layer the adjacent higher sample because the lowered pitch yields a thicker sound.)

I used this technique to create faux stereo on the Pizzicato 1 patch from the Proteus/2 SoundFont with great success. To my ears it yields a more convincing stereo effect than simply pitch-shifting and panning the same samples, which I also tried. And since the left and right channels are derived from different samples, there will be less of a flanging effect if the entire mix is reduced to mono. This layering method is less effective when the samples are very similar, like an electric piano or bass recorded direct rather than through a microphone. And, of course, it doesn't work at all for instruments that use only one sample for the entire range of notes.

As much as I admire the SoundBlaster Live, the only thing I find less than first rate is the quality of its on-board reverb. Don't get me wrong, it sounds fine when applied to an entire mix, and on sustained instruments like strings and horns. But when you add a lot of reverb to, say, claves or wood blocks, you can hear the familiar boingy sound common to most software plug-in reverbs. In fact, I recorded a Wave file (1 mb) of a very bright clave hit which I use whenever I try out a new reverb plug-in. Nothing reveals a poor reverb algorithm as well as a sharp impulse with a quick decay that gets out of the way so you can hear the reverb tail.

I disabled (set to Zero) the reverb and other effects on the Live card's Environmental Audio control panel. Although this results in a dead sound during mixing, you can always turn it on until you're ready to create the final mix, or add reverb with an external unit. But I simply wait until mixing and add reverb to the final Wave file with Sonic Foundry's excellent Acoustic Mirror reverb plug-in. I often add reverb in two passes: The first applies a small-room ambience to give a sense of "being there," and a second pass adds a more traditional Hall or Plate reverb. For instruments that need a huge wash of reverb, or require a reverb very different from the rest of the mix, they can be recorded dry as audio files and processed separately before or during mixdown.

USING SOUNDFONTS

Once you have created a new GM master bank, you can replace the existing bank using the SoundFont control panel. Simply select the current bank, click the Clear button, then click Load to locate and load the new file. You will also have to click the Options tab to allocate enough memory to hold the new bank. In fact, you should allow more memory than the bank requires if you plan to do further work in Vienna while the bank is loaded.

You can also load multiple banks at one time. From the SoundFont control panel's "Select Bank" list you pick a bank that is marked as Empty, and then load a new SoundFont into that bank. In your sequencer you'll specify the bank number into which you loaded the additional file, and the patch number then selects the instrument(s) within that bank.

Once you have the new SoundFont file loaded, you can easily get at all of the sounds from your sequencer. If you have variations in alternate banks, simply pick the primary instrument, and then specify the bank. Note that the concept of MIDI banks can be confusing. Usually, a bank of instruments implies that a bank is the master group that holds the various instruments within it. But with SoundFonts (and many synthesizers), the General MIDI instrument number is the group, and the other related patches are kept in alternate banks.

Finally, there is the issue of combining MIDI samples played by a sequencer and audio files played in a multitrack recorder. Many programs do both, such as Cakewalk and Cubase, but I still prefer to use a separate sequencer. I have an Opcode Studio 64X MIDI interface with built-in SMPTE capability. So first I create the sequence, and then record it as an audio file into SAWPlus32, with SAW serving as the SMPTE master and my sequencer as the slave. If I decide later to change the MIDI mix, I simply record it again as audio; the SMPTE sync guarantees that the new audio file is aligned properly, even if I have already recorded additional audio tracks.

If you don't have a SMPTE-capable MIDI interface, you can still change the mix later. Just make the changes, record the result as audio again onto a new track, and slide the new track forward or back in time until it lines up visually with the original version. Then you can delete the original Wave file to free up the space on your hard disk.

POST SCRIPT

May 17, 2001:  Since writing this article I bought a second sound card, the M-Audio Delta 66. The main reason I bought this card was to allow recording more inputs at once, though now that I have it I appreciate its excellent quality and truly silent noise floor. I still use my SB Live for sample playback, but now the Delta 66 serves as the main audio conduit into and out of my computer.


Entire contents of this web site Copyright © 1997- by Ethan Winer. All rights reserved.