Experimenting with SoundFonts
SoundFonts are like a gift that keeps on giving. For commercially-minded musicians, SoundFonts can open the door to a potential market of millions through the creation and sale of sample libraries. For beginners, using SoundFonts can serve as an ideal way to learn about sampling and synthesis. And for just about anyone, they can be an excellent resource to add to an audio arsenal.
In addition to being a very flexible format, SoundFonts are a great way to share your music with others. You can send a MIDI file and a SoundFont bank via email using less bandwidth than most MP3 files, and the fidelity will be better because there isn't any compression taking place. Think of the MIDI file as your score and the SoundFont bank as your orchestra, and then bundle the two together so that the recipient hears your music as you intended.
Another great benefit of SoundFonts is that they let you completely reconfigure your hardware using just a few mouse-clicks. You can turn your generic General MIDI (GM) sound card into an E-mu Proteus 1, Vintage Keys, or Planet Phatt module, all for less than $100. That's not a bad deal.
In this article, you'll discover that using and creating SoundFonts is simple. Thousands of sound banks, several bank editors, widespread application support, and the overall flexibility of the SoundFont format could make it the perfect “instrument” for your studio.
Checking the Compass
SoundFonts are a sampling file format developed by E-mu in the mid-'90s. SoundFont banks require a synthesizer or sampler (used as an engine) for playback and software to load them into the instrument and to edit them. Until recently, the synth or sampler had to be hardware from Creative or E-mu (for example, the Sound Blaster Live or Audigy line of sound cards and E-mu's Audio Production Studio). Software instruments, however, now have many of the same capabilities.
When a SoundFont bank gets loaded into a SoundFont-ready program, that program reads (parses) the sample and parameter data in the file and communicates it to the hardware, where it is rendered instantaneously into sound. Like any other patch, the sounds in the SoundFont bank are then accessible by your MIDI sequencer or controller.
The SoundFont file format is currently supported by Apple for software rendering in QuickTime 5 or higher, and is supported in hardware by nearly all Sound Blaster cards since 1997. Because Creative Labs has about 90 percent of the Windows sound-card market, there's a good chance that your studio already has SoundFont capabilities in one form or another.
At first, the SoundFont format was proprietary, and all development had to go through Creative Labs or E-mu. That clearly dampened proliferation of the format. After surviving challenges by rival sampling formats DLS and DLS-2, the format was opened up for development without license in the late 1990s.
SoundFont bank files contain audio samples and parameter information about how the audio is to be processed. The first version of the SoundFont file format (SoundFont 1) was designed only for the E-mu 8000 chip used on the AWE-series sound cards. Banks in that format, which used an SBK file extension, are no longer supported, and most, if not all, have been updated to the SoundFont 2 format. SoundFont 2 added dozens of new features, including essentials such as Instrument layering and Preset-level parameter changes. SoundFont 2 files have the extension SF2, and most current SoundFont bank editors, including Creative Labs' Vienna 2.3, will convert SBK banks to SF2. The current specification is SoundFont 2.1, which also uses the SF2 extension. Note that Vienna requires SoundFont-capable hardware from Creative or E-mu to function, and older, AWE-series cards do not support the format beyond SoundFont 2.0.
FIG. 1: Creative''s Vienna SoundFont editor allows you to assign multiple controllers to a destination and provides access to the full range of SoundFont features.
SoundFont 2.1 introduced incredible new features that take users to the limits of the MIDI specification and in some cases, beyond. For example, it allows up to 16 MIDI controllers to control up to 34 different parameters within a single Instrument. Each of the controllers can have its own curve coefficients (see Fig. 1, lower left, and the section in this article called “Below Deck”). That capability is accessible when creating or editing banks with Vienna 2.3; unfortunately, however, there are currently no Mac-based SoundFont editors that give access to the multiple-controller function.
In addition to the extra controller assignments within a bank itself, additional MIDI controllers, called E-mu Enhanced Controls, are made available on CC 21, CC 22, CC 23, and CC 24. Those Control Change messages can be called from any MIDI sequencer by sending controller data on the appropriate CC number and used for things such as assigning an LFO to Filter Cutoff. (A great example of that can be found at Creative's SoundFont Tutorial Web site at www.soundfont.com/tutorials/whysf21-4.html.) You can also create a keyboard split in which Pitch Bend messages impact the top half of the split with different curve characteristics than the bottom half. With SoundFont 2.0 or DLS2, you would need to use two MIDI channels to accomplish that, but SoundFont 2.1 delivers the goods on a single MIDI channel.
Browse the back pages of an issue of EM or visit music sites on the Web, and you'll find a huge world of ready-made SoundFont banks available for purchase. These include a wide range of sounds such as classical, pop, and ethnic instruments; vintage Roland synths; and electronic dance collections. There are some free banks online, but you generally get what you pay for.
A great place to start looking for quality banks is directly from the source that invented the format: www.SoundFont.com, the official home of SoundFonts at Creative/E-mu. That is where you'll find SoundFont versions of classic E-mu sound modules like the Proteus and Planet Phatt. You'll also find third-party banks, including a 4 MB Bösendorfer Piano, and banks of Sequential, Moog, Oberheim, and Roland synths.
Another great source is Sonic Implants, which offers a host of reasonably priced, professional-quality banks. Sonic Implants' catalog includes synths, pianos, guitars, brass, basses, and even vocals. For dozens of free SoundFont banks, be sure to visit www.Hammersound.net. Also look to www.samplecraze.com for European SoundFont libraries, www.analoguesque.com/soundfonts.asp for vintage synths and drums, and www.houseofsamples.com for a vast array of sample collections and SoundFont utilities. While at House of Samples, check out the link to the Free Samples site, where you can find some unusual samples to use as the basis for your SoundFonts.
DLS (and later, DLS2), a rival format created by the Interactive Audio Special Interest Group (IASIG), resembles SoundFont format in many ways. DLS banks are easier to render on slower computers, however, because they don't contain all of the parameter data that SoundFont banks contain. As a result, DLS banks don't require any hardware.
Once Creative opened up the SF2 format to the public, SoundFont-capable software synthesizers and samplers appeared on the scene, allowing SoundFont banks to be used without Creative or E-mu hardware. As a result, the relevance of DLS and DLS2 waned, and SoundFonts emerged as the predominant, affordable computer-based sampler format. Today, most software on Mac and Windows that supports SoundFont banks will also support DLS banks and vice versa.
Get on Board
Most modern operating systems (including Linux) have the ability to work with the SoundFont format. A vast number of Windows machines have a Sound Blaster card, which gives them built-in hardware-level SoundFont support. Mac users will be pleased to know that as of Mac OS X 10.3, Apple has added SoundFont support through the QuickTime Preference Pane. Most third-party SoundFont-capable synths are VSTi or Dxi based, so they play well with nearly all MIDI sequencers.
When working with SoundFont banks, there are distinct advantages to using Sound Blaster or E-mu hardware. The hardware renders the SoundFont banks and handles all SoundFont-related DSP functions (reverb and chorus, for example) on the sound card instead of using the computer's CPU. Using SoundFont-capable hardware virtually eliminates latency and frees up computer-processing resources, allowing you to use a greater array of other tools such as effects or instrument plug-ins. It also means that you have more voices (polyphony) to work with, because the sound card acts as a coprocessor. In addition, most SoundFont hardware has MIDI, analog, and (sometimes) digital I/O.
Older ISA-based Sound Blaster cards such as the AWE series had RAM on the card itself instead of using system RAM the way the newer cards do. ISA-based cards are far less desirable because that type of RAM is no longer produced in mass quantities. Moreover, if you're interested in SoundFont banks for music production and are still using a system with ISA slots instead of PCI slots, it's probably time to upgrade your PC.
Until recently, notebook users had no hardware rendering options for SoundFonts. The new SoundFont-capable SB Audigy 2ZS notebook, however, is a pint-size PC card and a bargain at $129, even though it doesn't include a MIDI interface.
If you are not using a Sound Blaster Live card from Creative (or don't want to), you can still use SoundFonts, but you'll need a software synth or sampler that supports SoundFont bank loading and rendering. There are a handful of choices for the PC, including MAZ Sound Tools' Vsampler 3, Cakewalk's Project 5, and Steinberg's Halion. Mac-based synthesizer/samplers include Bismark's BS-16, Pete Yandell's Simplesynth, and Apple's GarageBand 1.1.
Mac OS 9 users can get SoundFont hardware rendering by using Sound Blaster Live for Macintosh. Although discontinued, those cards are offered for less than $50 used on Ebay and come with a useful SoundFont bank manager/librarian and excellent SoundFont performance. Creative has no plans to update the card with OS X drivers, and it doesn't run in the Classic environment, so it's only for OS 9 users.
Although there's no hardware rendering option under Mac OS X, the host CPU has SoundFont support. And given the power of most modern processors, the impact on performance is minimal. The number of software programs that support SoundFonts under OS X is growing. In fact, it was only in the past year that Apple added native support for SoundFonts, so look for more Mac-based software development in the coming months, particularly in the area of SoundFont bank management and editing.
Regardless of platform, anyone who is serious about using SoundFonts should visit www.SoundFont.com. You'll find details available regarding the format itself, including a white paper, technical specifications, application notes, tutorials, and explanations of some of the unique features that make the SoundFont sampling format stand out among others (see www.emuscian.com for a list of additional SoundFonts resources).
Jen's Top SoundFont Tips
Since Sonic Implants began creating SoundFont banks almost ten years ago, the sampling industry has seen more than its share of innovation and change. Today, despite the proliferation of disk-streaming samplers, many musicians still rely on SoundFont technology for its simplicity, quality, and affordability. For those who find themselves constantly tweaking and tinkering with their commercial sounds, creating your own SoundFont banks can be a rewarding experience. With that in mind, Jen Hruska of Sonic Implants offers a few tips for helping you make the best SoundFont banks possible.
Get the best recordings that you possibly can. That might seem like an obvious consideration; however, like all processes that build outward from one critical stage, having a pool of quality source material will only enhance the caliber of the finished product. If you don't have the means to get high-quality recordings, consider creating variation programs from your existing SoundFonts. For example, adding new filter and other modulation settings to existing programs can make fresh new timbres for your music.
Consider creating multiple Velocity layers (soft, medium, and loud) for added realism. You won't have much use for that if you're sampling an old 909 or your uncle's B-3, but most acoustic instruments have timbral attributes that relate directly to the strength (or lack thereof) with which the instrument is played (for example, getting brighter as you hit harder). Capturing even some of those subtleties and layering them into your Instruments will have a significant impact on playability and feel. You can try that by assigning Amplitude to Velocity on multiple samples within an Instrument in your SoundFont editor.
Once you begin assembling your SoundFonts, it's important to understand the distinction between the Instrument level and the Preset level. Instruments are the place you want to do most of your parameter editing. Use Global Zones on the Instrument layer to sweeten all samples in the Instrument, and use Global Zones at the Preset level sparingly because they impact all Instruments in the Preset. Try assigning different parameters to more than one sample within an Instrument. For example, use different Pitch Bend values for sample A than you do in sample B within the same Instrument. That will make for a more expressive Instrument.
When working with sound samples in SoundFont banks, use traditional synthesis and sampling techniques to beef up your final Instrument, just as you would with other samplers. You'll find that all the goods are there to do what you want with almost any sample. For example, if you're sampling a saxophone, record six samples per octave: three distinct pitches with two samples per note (each pair of samples will represent left and right for a stereo sax). Import and assign samples at their appropriate key ranges in your SoundFont editor, then assign opposite panning for each pair of same-note samples. Still working at the Instrument level, add vibrato and apply reverb as needed.
Secure the Riggings
At their core, SoundFont banks start with a mono or stereo 16-bit, PCM audio file (WAV or AIFF) at any sampling rate. When imported into a SoundFont editor, these files are automatically copied, converted to the native SoundFont format, and embedded into a SoundFont file. In the SoundFont editor, the sample can be structured into Instruments and Presets. The Instrument layer is where you adjust parameter settings on a per-sample basis. It gives access to customization options such as amplitude, modulation, filters, LFOs, envelopes, and tuning. The Preset layer is where you assign patch numbers and names to individual Instruments and apply any global parameters that you want. Each Preset can contain multiple Instruments (via layering), and the amount of performance-parameter data that can be included in Presets and Instruments is extensive.
The most basic use of SoundFont banks, however, doesn't involve editing or knowing anything about what's inside them. You can get your feet wet just by replacing the default system GM bank (Bank 0) with a larger SoundFont bank. Bank 0 is the bank of sounds that came with your computer's operating system or sound-card installation. Accessing Bank 0 from within a MIDI sequencer should give you a GM sound set on most Pcs or Macs, provided that you are using the latest OS version. Depending on your system configuration, the default system bank included from Creative (through the sound card) or Apple (built into QuickTime 5 or later) is usually only 2 MB to 8 MB in size. Squeezing 128 samples into 8 MB compromises quality, and 2 MB of GM banks is even worse.
Companies such as Sonic Implants, Synergi, and EYE & I Productions (Voice Crystal) have 12 MB and larger SoundFont banks available that range in price from $18 to $80. Those libraries will work on Macs and Pcs and typically include higher-quality samples, more attention to parameter detail, and generous use of available RAM (see the sidebar “Commercial Collections” for other commercial banks). If you do a lot of work with Apple's built-in QuickTime synthesizer or you often use the default GM bank on a PC, a quality GM SoundFont upgrade bank is an excellent way to improve upon the basic GM instruments that came with your computer or sound card.
Users of Sound Blaster Live cards can find the actual default SoundFont bank on their system by doing a file search for “SF2.” You'll likely find at least one file with a name like “ct4mgm.sf2.” You can use the bank manager that came with the Sound Blaster Live card to substitute a new bank for the existing one in Bank 0.
FIG. 2: By placing a SoundFont bank in the Library/Audio/Sounds/Banks folder under Mac OS X, you can control the default GM sound bank using QuickTime''s Preference Pane.
The built-in GM bank on a Mac running OS X is a 2 MB DLS bank from Roland. The file itself is named “gs_instruments.dls” and is nested deep in the hierarchy of the OS X System folder. Mac users can upgrade the default GM bank used in QuickTime with an alternative bank by placing an upgraded GM SoundFont bank in the Library/Audio/Sounds/Banks folder. Then, open the System Preferences pane and choose QuickTime. When you click on the Music tab, you'll see the SoundFont banks that you placed in the folder (see Fig. 2). Select the desired bank using the Make Default button, and it will be inserted as Bank 0. At that point, it will appear as an alternative to QuickTime Music Synth in GarageBand 1.1 or higher, Logic, and other OS X applications.
To access a replacement GM bank in GarageBand, select Get Info on an instrument track, and then click on the pencil icon to the right of the Generator labeled DLSMusicDevice. When the window opens, choose your new GM bank from the drop-down menu.
If you're using Mac OS 9 and want to swap out the default GM Bank 0 used by QuickTime, you'll need to create a folder called Sound Banks (if not already present) in your System Folder/Extensions/QuickTime Extensions folder. Place any replacement SoundFont banks in this folder, then run the QuickTime Control Panel and choose Music from the pull-down menu. You'll see the default QuickTime Music bank next to your newly added banks with an option to select a new default.
Port of Call: Vienna
Vienna 2.3, the latest version of the program, provides access to some SoundFont 2.1 features that other editors don't have, such as the Modulation Properties screen. We'll use Vienna to take a close look inside a SoundFont bank.
First, a tech note: when a Sound Blaster Live or Audigy card is installed, it places a SoundFont Bank Manager directory (SFBM) on your system and puts a file called sfedt32.dll into that folder. The Vienna installer, on the other hand, currently installs an older version of the same file into the Vienna directory and uses that as the basis for editing. (According to Creative, that should be fixed in the next version of Vienna.) You'll need to copy the newer version of the file to the Vienna directory, or you won't get all of the cool editing options discussed in this article.
SoundFont's roots clearly derive from its E-mu hardware heritage, and if you frequently work with hardware samplers, you'll probably recognize many of the parameters shown in Fig. A.
FIG. A: Those familiar with digital sampling will find themselves at home with Vienna.
Vienna provides a bank tree on the upper-left side that illustrates the hierarchy used in bank creation. Key-range assignments are on the upper-right side; pitch alteration, filter, reverb, chorus, and panning are on the lower left; and envelopes and LFOs appear to their right. All parameter functions in the lower half of the screen can be applied at the Instrument or Preset level. Instruments contain samples with user-changeable parameters and optionally Global Zones, which affect all samples within the Instrument. Presets contain Instruments with user-changeable parameters and also support Global Zones, which affect all Instruments within the Preset.
Vienna uses the term Pool to describe groups of Samples, Instruments, and Presets. (The concept of a Pool doesn't appear outside of Vienna and is used only for organizational purposes while editing.) Finished Presets are displayed in Vienna as Melodic and Percussive Pools to help aid in organizing drum and melodic Instruments. The Presets in each Pool are accessed using different Bank Select messages. With a GM bank, you access the Melodic Pool through MIDI channels 1 through 9 and 11 through 16. The Percussive Pool is accessed through MIDI channel 10.
The Sample Section is divided into a User Sample Pool and a ROM Sample Pool. The ROM Sample Pool is a carryover from the days when ISA-based sound cards contained their own GM wavetable ROM containing 128 samples and is seldom used today. The User Sample Pool is where you import WAV or AIFF files for use in Instruments. The Instrument Pool is where you choose Samples, assign them to a key range, and have fun with parameter editing.
The Preset Section is where you chose one or more Instruments to play as a patch in your synth. When a new Preset is created, you must assign the Preset a bank and a patch number, as well as a patch name. Preset information is the only layer of a SoundFont bank that will appear in your synth and/or MIDI sequencer.
Right-clicking on a Sample within an Instrument or an Instrument within a Preset will provide access to the Modulator Properties option, where you can assign multiple controllers (see Fig. 1). In fact, right-clicking on nearly anything in the Pools sections allows access to further customization options. For example, right-clicking on any Instrument or Preset provides a drop-down menu to add Global Zones.
I created a file by modifying the Polysynth sound from Sonic Implants' 24 MB GM bank. As shown in Fig. A, I duplicated the sample synstb2.wav from the Instrument PolysynthL2. Note that it's the only sample represented twice in the same key range on the keyboard. I applied an LFO with a frequency of 2.13 Hz to Filter Cutoff (the base value was 1617), then assigned those settings to an identical sample within the Instrument but panned it to the opposite channel. The result is a new Polysynth that breathes with more life as it pans from speaker to speaker as its filter opens and closes (see Web Clip A).
Keeping track of which bank is loaded into the default GM Bank 0 and which are loaded into higher-numbered banks requires a bank-management system. A few MIDI sequencers, including Sonar and Cubase, have built-in SoundFont bank management. PC users with an Audigy or new Creative sound card also get a very functional utility called SoundFont Bank Manager, which lets you manage your sample banks. By clicking on the MIDI Devices button in this program, you can adjust the amount of RAM allocated for SoundFont use. The default is only 12 MB, so that would rule out some of the more robust GM bank alternatives, such as the 24 MB GM set from Sonic Implants. I keep mine at about 100 MB so I can switch among banks at a moment's notice. Users of software synths, including those under Mac OS X, will not need to allocate RAM, as any software synth you use should do it for you dynamically.
The View from the Deck
Now that you've tackled the default GM bank, you'll probably want to investigate adding other SoundFont libraries. Look for quality instrument samples followed by generous amounts of tweaking on the parameters. The SoundFont format supports layering, panning, and detuning Instruments, adding reverb or chorus, adjusting filter cutoff, Velocity switching, and much more. The best commercially available SoundFont banks will exploit these features to create professional-quality Presets. In general, most commercially available banks are likely to use better samples and be of higher quality than the free goods you'll find all over the Internet.
To load and manage a SoundFont bank other than Bank 0 on Mac OS 9, you'll need a Sound Blaster Live card for Macintosh. If you're lucky enough to have one, you'll need to install only the software that came with it. In addition to a bank manager and Preset editor called SoundFont Bank Manager 1.1, you'll have a handy Control Panel that will let you modify the amount of RAM that your SoundFonts can use.
FIG. 3: Swapping banks within
GarageBand is simple when using Andy Drabble''s SoundFont Synth 2.0.
A valuable download for Mac OS X users who want to load and manage banks is Andy Drabble's SoundFont Synth 2.0. It's an Audio Units (AU) plug-in that allows loading of any SoundFont bank within any AU-capable application, including GarageBand, Logic, and MOTU Digital Performer. Fig. 3 shows SoundFont Synth in GarageBand. Here it is being used to replace the Laser Shot sound from the default Apple GM bank (left) with the Lazer Gun Instrument found in Sonic Implants' 24 MB GM bank (right).
Under OS X, Apple's built-in SoundFont-capable synthesizer, DLSMusicDevice, is addressed as an AU plug-in. SoundFont or DLS banks can be swapped inside DLSMusicDevice, and because it's a plug-in, it shows up in any AU-capable host application, including Apple's EXS24 Sampler within Logic Pro 7, GarageBand, and Granted Software's Rax. (Rax is a great way to manage banks within Apple's built-in synthesizer and SoundFont Synth 2.0 simultaneously.)
Note that SoundFont bank managers on the Mac OS typically refer to Presets as Instruments, a convention used by the DLS specification (DLS support appeared on the Mac before SoundFont support). That can be confusing because, unlike Presets, the Instrument level in a SoundFont bank does not have a bank number, patch number, or patch name. When you see “Instruments” on most SoundFont synths/samplers while working with SoundFont banks in OS X, you're actually working at the bank's Preset level.
Under Windows, the process of bank management will vary depending on the Sound Blaster card you're using. (If you don't have a Sound Blaster Live card, you'll need to pick up a software sampler or synthesizer with SoundFont support to do bank management.) Sound Blaster Live or Audigy sound-card owners will find a SoundFont Librarian/Manager under the Creative menu in their Start menu.
If you're using a PC and are serious about SoundFonts, I recommend that you purchase a used or refurbished Audigy Platinum sound card (available on Ebay for less than $100) because it has MIDI In and Out. That card is also the most flexible in adjusting sample RAM and has the most up-to-date SoundFont management tools. Be sure to crank up the amount of available RAM assigned to SoundFonts by using the SoundFont Librarian/Manager, as the default is only 12 MB.
FIG. 4: Cakewalk''s Sonar has an option to attach a SoundFont file to a bank. The Attach menu (right) shows the SoundFonts currently assigned as banks for use in the Track area (left).
Windows users should note that Cakewalk's Sonar has a SoundFont bank manager conveniently listed on its Options menu. (That option appears if you have SoundFont hardware present. See Fig. 4.) Simply open the SoundFont menu item, select bank 1 (or any other available bank), click on the Attach button, then click on Close. Now assign the bank to any track's Bank field, and all of the Preset names will show up on that track's Patch drop-down menu. That makes bank management quick and easy, so check your sequencer of choice to see if it contains a similar feature. Sonar 4 users without SoundFont hardware can use the included DS864 software sampler to load a SoundFont bank as a Dxi instrument.
Although there are many high-quality banks on the market, you'll get the urge to make your own at some point. (See the sidebar “Jen's Top SoundFont Tips” for additional ideas on SoundFont creation from Jennifer Hruska, founder and president of Sonic Implants, a division of Sonic Network, Inc.) One of the first decisions you'll have to make is what sampling rate to use. The choice of rate when recording samples for SoundFont banks depends on the capabilities of the synth that will render the banks and whether you're trying to keep bank size to a minimum.
For the best-quality sampling on a Sound Blaster Live or Audigy sound card, sample at 16-bit, 48 Khz, before importing your files into your editor. Those cards work natively at 48 Khz, and other sampling rates will be converted up or down automatically. If you create banks with a high sampling rate and someone plays them back on a SoundFont synth that renders only at lower rates, they will be scaled as well. If you're using a software synth to render your SoundFonts, you may have more flexibility. For example, check with the manufacturer to find out if they support high sampling rates such as 96 Khz.
If keeping bank size small is important or, if artistic needs call for low-fidelity samples, use lower sampling rates. Your own tastes may vary, but most people won't hear a loss of fidelity until you dip below 22 Khz, especially if they're using multimedia speakers attached to their computer. Note that you can create stylized effects, such as a vocal that's supposed to sound as though it's coming from a tiny speaker or a looping scratchy-record effect if you use ultralow sampling rates.
If you know that you're going to be using large samples but want to keep SoundFont bank size low, an alternative to using lower sampling rates is to use compression. A utility from Melody Machine called sfark allows you to use lossless compression within a bank to save space. Although I haven't tried it, consensus from online forums and my conversations with E-mu is that it works well and is quite popular with size-conscious SoundFont bank authors.
When you're ready to sample, start with clean, quality mono or stereo samples in WAV or AIFF format. If you want sampled vocals in your SoundFont bank, be sure to use a good microphone and a compressor/limiter as needed and do any other processing that you want before adding the vocal to your mix. Once imported, you'll be able to create harmonies by doubling samples and changing their pitch, but you may find that using professional processing equipment for harmonizing prior to importing vocals offers more desirable results than simply changing a sample's pitch.
When your samples are ready, you'll need a SoundFont editor to finish the job. Editors are used to make modifications to existing banks or create new ones from scratch.
There's no full-featured editor for Mac OS X yet, but I recommend Best Software Design's Polyphontics, because it's as close as you can get. Polyphontics doesn't have all the command-line requirements of some other editors, and it allows you to import samples from existing SoundFont banks or record new samples and then use them to create new Instruments. Once imported, you can set loop points, assign multiple samples to different key ranges within an Instrument, add reverb, and adjust envelopes and panning. There's no support for Global Zones or tweaking of most other SoundFont parameters, but otherwise, Polyphontics does a solid job.
Meeting with Captain Thorn
I managed to spend some time with George Thorn, Worldwide Director of Creative Labs' Developer Relations. Some amazing advances are coming in 2005, when we'll see the first major revision since SoundFont 2.1 was introduced in 1998. The next spec, which will be numbered SoundFont 2.4, will include support for 24-bit sampling that is scalable to older, 16-bit SoundFont engines. That is great news because with scalability from SoundFont 2.1 to SoundFont 2.4, you'll be able to create your SoundFont banks in 24-bit as an author-once, render-everywhere solution. In addition, it appears that E-mu and Creative are going to be the first to bring 3-D positional surround MIDI controllers to the mix.
Although specifics are not available on what kind of hardware is going to power this new generation of SoundFonts, I'm sure that it will be equally amazing. Look for release of new products before the year ends.
Numerous editors exist for the Windows platform because SoundFonts are native to that OS. I recommend Creative's Vienna, which allows for full editing of all SoundFont parameters. (You can download Vienna free from the company's Web site.) Vienna is not overly graphic and uses numeric values for most parameter editing. See the sidebar “Port of Call: Vienna” for a closer look at some high-end editing techniques in Vienna.
There are a few alternatives to Vienna, one of which is Sound Faction's Alive. Alive has a more graphical interface than Vienna and sells for $39.
Note that if you somehow lose access to your original samples, they are not doomed to live their life inside a single SoundFont bank. You can extract the audio files from a bank and use them in another sampler or wherever you need them by using one of several utilities that offer that function. FMJ Software's Awave Studio is one of the best programs for extracting samples from banks and can convert SoundFont banks to other sampler formats and vice versa. It also serves as a capable alternative to Vienna for SoundFont editing. If you're using a Windows machine and deal frequently with multiple sampler formats, Awave Studio is a must-have tool.
Another great utility for converting to and from SoundFont banks is Translator Pro by Chicken Systems, Inc. Translator Pro runs on Mac and PC and supports dozens of sampler formats. It also allows you to extract various types of parameter information from a bank and use it in another sampler format.
Where the Hull Meets the Water
To integrate your new SoundFonts into your own music, you'll need a MIDI sequencer, software sampler, or synthesizer that supports SF2 files. Examples for Windows include Cakewalk Project 5, Steinberg Halion, Cyberware Music Waveplant CMI, and Maz Sound Tools Vsampler 3. Mac users will find SoundFont support in SoundFont Synth, Halion, and Simplesynth, among others.
You may find that after triggering a few sounds, your new bank needs some polishing. Not to worry: using the SoundFont Global Zones feature, you can make quick adjustments even after finishing the main round of tweaking (Global Zones are covered in the “Port of Call: Vienna” sidebar.) Global Zones give you access to the full range of synthesis parameters on the Instrument and Preset levels and affect all samples in a bank.
Let's say that you've created an Instrument that consists of 12 samples covering the entire keyboard range. You discover that you need the release time of all the samples to be longer. Adding a Global Zone to the Preset and adjusting the Release portion of the Volume Envelope lets you do that with just a few mouse-clicks. Global Zones are also a great way to add reverb or chorus effects to the Instrument or Preset and are an important part of making high-quality sounds.
Extending Your Stay
When you're ready to go the next step in your SoundFont explorations, Non-Registered Parameter Numbers (NRPNs) are a good place to look. NRPNs behave differently in SoundFont 2.1 than in Roland GS and Yamaha XG formats. For starters, there are two envelopes available in SoundFont banks versus one in GS or XG. Second, the LSB (CC98) values are different on nearly every parameter, and CC99 in a SoundFont requires a value of 127 instead of 1. Finally, the SoundFont specification includes many more parameters not covered by the other specifications. Although incomplete, you'll find a short list of commonly used SoundFont 2.1 NRPNs and how they differ from their GS/XG counterparts in Fig. 5.
FIG. 5: Using Non-Registered Parameter Numbers (NRPNs) with a SoundFont synthesizer requires sending different Control Change messages than with GS/XG synths. If you''ve already composed with NRPNs using another synthesizer, you''ll need to do some editing.
Bear in mind that NRPNs are nonregistered, so there are no standards for compatibility between synthesizers. With the exception of GS and XG synths, most synths interpret NRPN data differently from one another. If you've composed music that includes NRPNs using a synthesizer other than a SoundFont synth, when you play it using SoundFonts, your real-time expression data may not sound the same.
For example, parameters like Filter Cutoff in the SoundFont specification use a different frequency range than GS or XG. Thus, a Filter Cutoff value of 64 may result in a cutoff at 5 Hz on an XG/GS synth, whereas that same value might result in a cutoff of 4 Hz in a SoundFont synth. That is an unfortunate by-product of using NRPNs, not a shortcoming in the SoundFont specification. See http://atlas.csbnet.se/livecenter/showpage_pf.php?id=15 for details on this situation.
NRPNs that are available with SoundFonts but are not in the GS or XG specs include Envelope 2 ADSR, LFO1 to Pitch, LFO2 to Pitch, Envelope1 to Pitch, Envelope2 to Pitch, LFO1 to Volume, and LFO1 to Filter Cutoff. Using NRPNs in your music is trickier than simply jamming with the Pitch Bend wheel, but they can add life in ways that other controls cannot.
Enjoying the Treasure
Using SoundFonts is like having your own sampling buffet. You can eat lightly by simply swapping out your GM bank, or you can feast by sampling sounds and tweaking them in an editor. You can also use your SoundFonts in a live performance with a vast number of real-time controls.
When the SoundFont format designers drafted the technology's detailed specifications, they set sail to create something special. Nearly ten years later, the format is blossoming into the most readily accessible and widely supported sampler format in history. In addition, it appears that E-mu has some wicked new improvements in the works (see the sidebar “Meeting with Captain Thorn”). How many other sampler formats can claim an installed hardware base of more than 10 million?
Not everyone with a Sound Blaster Live card uses it for sampling, but nearly everyone who has an interest in sampling has Sound Blaster Live or access to a software synth/sampler that handles SoundFont banks. Thanks to recent advances in processing power for Mac and Windows systems, upcoming enhancements, and an ever-growing number of devoted third-party software developers, just about anyone can enjoy the plentiful fruits from the island of SoundFonts.
Kurt Heiden is an award-winning sound designer and composer who has worked for Roland, Creative Labs, and Interplay Productions, among others. His credits include The Bard's Tale II, Battle Chess, and Return to Krondor.
Andy Drabble www.macmusic.org/news/view.php/lang/EN/id/2489
Best Software Design www.bestsoftwaredesign.com/polyphontics.html
Chicken Systems www.chickensys.com
Creative Labs http://us.creative.com
Cyberware Music www.softwaresynths.com
EYE & I Productions www.voicecrystal.com
FMJ Software www.fmjsoft.com
Granted Software www.grantedsw.com
Melody Machine www.melodymachine.com/sfark.htm
Peter Hanappe www.fluidsynth.org
Pete Yandell www.pete.yandell.com/software
Sonic Implants www.sonicimplants.com
Sound Faction www.soundfaction.com/alive