8
www.ethanwiner.com - since 1997 Home & Contact Audio & Music Bio Programming Wisdoms & Quotes Funny Names Magazine Articles Cello Page Ethan's Tunes Oxymorons Family Photos Vienna SoundFont Studio by Ethan Winer (This is an edited version of my article in the May 1999 issue of Recording magazine.) When you mention the name SoundBlaster to most audio professionals, the first thing that comes to mind is a low-cost sound card more suitable for computer games than serious audio recording. The original SoundBlaster card helped establish this reputation with its marginal audio fidelity and cheesy FM synthesizer sounds. But Creative Labs, Inc. changed all that in early 1997 when they quietly released the SoundBlaster AWE 64 series of audio cards. With the now-current SoundBlaster Live they upped the ante even further. This sound card is fully professional in both its features and audio specs, and it comes bundled with an impressive collection of software for use with Windows-based computers. In this article I will explain the Vienna SoundFont Studio sample management program that comes bundled with some versions of the SB Live. If your Live card did not come with Vienna you can download it for free from the Liveware Downloads area of the Creative Labs web site. VIENNA SOUNDFONT STUDIO The Vienna SoundFont Studio is a comprehensive sample management program that lets you import Wave files, loop them, add reverb and other effects, and define split points based on both note range and key velocity. Once you have defined all the parameters for a SoundFont bank, you can save the bank to disk and upload it to the AWE 64's User memory. Theoretically, you can have up to 128 sound banks - including the General MIDI sounds stored in ROM as bank zero - all accessible simultaneously from your sequencer's Voice menu. However, the amount of User RAM will likely limit you to fewer banks, depending on the size of the Wave files used within each bank. You can add any of the SoundBlaster's pre-looped ROM samples to the SoundFont banks you create, and these ROM samples will not impinge on the available User memory. Also, any Wave files you import can be exported later, so there's no need to keep the original files on your hard drive if you are short on disk space. Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html 1 of 8 11/23/2013 1:58 PM

Vienna Soundfont Studio

Embed Size (px)

DESCRIPTION

vienna soundfont studiodigital music softwareinstructions

Citation preview

Page 1: Vienna Soundfont Studio

www.ethanwiner.com - since 1997Home & Contact Audio & Music Bio Programming Wisdoms & Quotes Funny Names

Magazine Articles Cello Page Ethan's Tunes Oxymorons Family Photos

Vienna SoundFont Studio

by Ethan Winer

(This is an edited version of my article in the May 1999 issue of Recording magazine.)

When you mention the name SoundBlaster to most audio professionals, the first thing that comes to mind is alow-cost sound card more suitable for computer games than serious audio recording. The original SoundBlaster cardhelped establish this reputation with its marginal audio fidelity and cheesy FM synthesizer sounds. But Creative Labs,Inc. changed all that in early 1997 when they quietly released the SoundBlaster AWE 64 series of audio cards. Withthe now-current SoundBlaster Live they upped the ante even further. This sound card is fully professional in both itsfeatures and audio specs, and it comes bundled with an impressive collection of software for use withWindows-based computers. In this article I will explain the Vienna SoundFont Studio sample management programthat comes bundled with some versions of the SB Live. If your Live card did not come with Vienna you can downloadit for free from the Liveware Downloads area of the Creative Labs web site.

VIENNA SOUNDFONT STUDIO

The Vienna SoundFont Studio is a comprehensive sample management program that lets you import Wave files,loop them, add reverb and other effects, and define split points based on both note range and key velocity. Once youhave defined all the parameters for a SoundFont bank, you can save the bank to disk and upload it to the AWE 64'sUser memory. Theoretically, you can have up to 128 sound banks - including the General MIDI sounds stored inROM as bank zero - all accessible simultaneously from your sequencer's Voice menu. However, the amount of UserRAM will likely limit you to fewer banks, depending on the size of the Wave files used within each bank. You can addany of the SoundBlaster's pre-looped ROM samples to the SoundFont banks you create, and these ROM sampleswill not impinge on the available User memory. Also, any Wave files you import can be exported later, so there's noneed to keep the original files on your hard drive if you are short on disk space.

Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html

1 of 8 11/23/2013 1:58 PM

Page 2: Vienna Soundfont Studio

Creating a custom SoundFont bank is reasonably straightforward if slightly tedious. The biggest hurdle isunderstanding how the banks are organized. Figure 1 shows the Vienna main screen, which is divided into severalsections. The upper-left area displays a tree view of the sound font bank, showing both the User (imported Wavefiles) and ROM samples being used in the current bank. The key ranges for each sample are set in the upper-rightportion, although the key range display can be toggled to instead show the velocity switch points. The lower sectionof the screen is where you define the various synthesizer voice parameters, such as reverb, LFO rate and intensity,ADSR values, filter Q, and so forth.

KEY AND VELOCITY SWITCHING

All modern synthesizers and samplers employ multiple samples for each voice. For maximum realism, it is ideal torecord a separate sample for every note playable by the instrument being sampled. However, a huge amount ofmemory would be needed to store all those samples. It is therefore common to record samples at selected intervals -perhaps at every three to five half-steps - and then pitch-shift those samples up or down during playback toreproduce the in-between notes. Instead of having to record all 88 possible notes for a piano patch, the samplerecording of middle C could serve the range from B-flat below middle C through the D-natural above, and so forth. Ifyou try to cover too broad a range with a single sample, the notes at each extreme will sound unnaturally affected.This is especially true for instruments that have a lot of inherent body resonance like violins and acoustic guitars. Thepitch of the note is raised and lowered, but the natural resonances of the instrument's body are also shifted. Thus, ahigh violin note, for example, could sound as if it's being played on a violin only five inches long! Another problemcaused by not sampling at close enough intervals is the sudden change in timbre that results when you play a scale

Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html

2 of 8 11/23/2013 1:58 PM

Page 3: Vienna Soundfont Studio

as it crosses a sample boundary point.

Vienna lets you use as many or as few samples as you want for each voice, and you can control the range of notesfor which each sample or group of samples will be used. You can also use more than one sample or group ofsamples for one note range, and you can switch between samples depending on the MIDI key velocity. Mostinstruments change their timbre when they are played loudly, so you could use one sample of a snare drum that wasplayed lightly for note-on velocities of, say, 1 through 70, and then switch to another sample of the same drum struckharder for higher velocities. The note pitch ranges in the main screen of Figure 1 show which notes each sampleserves.

You can also set an exclusive class for note groups, so that one note automatically terminates another in the samegroup. The classic example of this is when programming hi-hat samples. When a closed hi-hat sample is triggered, itshould immediately turn off the open hi-hat sample if it is currently sounding. To program one or more samples to turneach other off, simply assign them the same class number. There are 127 exclusive class groups available, thoughit's doubtful you'd ever need more than two or three.

SAMPLE LOOP POINTS

Looping is a technique that lets a synthesizer sustain anote for longer than the original sample recording. Mostpercussion instruments are not looped; when you strike adrum or cymbal, the sound goes through a predictablecycle of attack followed immediately by a decay until ithas faded out completely. But most pitched instrumentsrequire you to define the start and end loop points if theyare to be played in a sampler.

Loop points let you establish how much of the sample's waveform is played initially, and what later portion of thesame wave will be repeated continuously for the remainder of the note's duration. Thus, you hear the start of thesample when the note first sounds, and then the area within the loop boundaries is played repeatedly for as long asthe note is held. This is shown in Figure 2. Without looping, every sample file you record would have to extend for atleast as long as the longest note you intend to play later. Looping lets you record only the first few seconds of eachnote, and any notes that need to sustain longer will do so by continuously repeating a portion of the Wave file. Yousimply tell Vienna where to set the loop boundaries - typically encompassing one or more cycles near the middle orend of the wave - and the AWE 64's hardware handles the rest. The loop point settings window is shown in Figure3a.

Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html

3 of 8 11/23/2013 1:58 PM

Page 4: Vienna Soundfont Studio

Setting loop points is easy for simple waveforms such as an acoustic guitar or saxophone: You establish where theloop begins and ends, being careful that the splice makes a smooth transition back to the earlier part of thewaveform. However, for complex waveforms, such as a string or horn section, or a vocal group singing "Aah," thewaveform will not repeat predictably within a single cycle. And if the loop ending point does not segue smoothly backto the starting boundary, you'll hear a repeated thumping or buzzing sound each time the loop repeats. Vienna makesit easy to set up looping by displaying the entire waveform, as well as the loop's start and end points. You can alsozoom in and out on the wave to better see exactly where the boundaries lie. At the bottom of the Loop window isanother zoomable display that shows the end of the loop region butted up to the region's beginning, along with thesample numbers of each boundary.

As you can see in Figure 3a, sample number 107898 isascending in value through zero, and sample number99363 (earlier in the Wave file) resumes at zero andcontinues positive. This is, therefore, an ideal place toset the loop for this particular Wave file. If you click theUp and Down buttons next to the loop End and Startvalues, the displays scroll horizontally helping you findthe ideal boundary points. Figure 3b shows the sameloop values but zoomed in to better see the splicedetails. You can click the Play Loop button at any time to

hear the wave played back with the current loop values, using the Key Number field to control which MIDI notenumber triggers the sample.

SOUNDFONT BANK ARCHITECTURE

SoundFont banks are organized in a tree-like structure, as shown in Figure 1. The basic building block is the SampleSection, which contains the samples you import as Wave files and identifies any ROM samples you plan to use.Instruments are built from these samples, and the patches you call up in a sequencer are built from the instruments.

For Wave files you import, you can double-click on the name in the Sample Section to call up the Loop Points

Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html

4 of 8 11/23/2013 1:58 PM

Page 5: Vienna Soundfont Studio

window discussed previously. Note that this sets what Vienna calls Global loop points, and the loops you define herewill affect every instrument that uses the sample. If you want to have access to a sample both with and withoutlooping, you can leave it unlooped here and, instead, establish Local loop points later in the Instrument Pool. Forsamples that will be looped, it generally makes sense to set the loop values in the Sample Section; you can do thatonce per sample instead of repeatedly each time a sample is used in a different instrument. However, when called upfrom the Instrument Pool, the looping dialog adds an extra checkbox to specify how notes release when a MIDInote-off is received. The note ends by fading out while playing the looped portion; when checked, it resumes playingthe Wave file after the looped region reproducing the natural sound of the note decaying. Of course, this assumes thesample recording includes the natural decay of the note.

The next level is the Instrument Pool, and it comprises the ROM and RAM samples you specified in the SampleSection. It is here that you name your instruments and specify which samples they use and what range of notes andkey velocities each sample will serve. You can also define a large number of effects parameters for the instrument,such as coarse and fine tuning, LFO (vibrato) values, and envelope and filter settings. As with the Global and Localloop settings, you can set the effects parameters globally here or locally later on in the Melodic Pool section. Anyeffects you add here will have to be entered for each and every sample. If you add them later in the Melodic Pool, theeffects apply to all the samples for an instrument in one operation. However, it makes sense to set some parametersglobally in the Instrument Pool. For example, if some samples are slightly out of tune, you can correct them by theproper amount individually, as opposed to settling for a single correction for all samples. Likewise, for stereo samplesyou'll want to set the global panning hard left and right respectively because the local pan settings applied in theMelodic Pool will shift the entire stereo image. Many sound building blocks, such as ADSR and filter values, need tobe set here at the instrument level.

The last branch on the sampler tree is the Preset Section, which holds both melodic and percussive instruments.Percussive instruments are those that respond to MIDI Channel 10, while melodic instruments respond to all otherMIDI channels. The patches in both pools are based on instruments defined in the Instrument Pool, and it is here thatyou can apply global pitch correction, reverb, and chorus effects to all of the samples in an instrument at one time.

CREATING A SOUNDFONT

Now that you understand how SoundFont banks are organized, let's go through the process of recording a series ofsample files and creating a new bank from scratch. For this exercise I'll describe the steps as I go along, using theCreative WaveStudio program that is bundled with the AWE 64 card. You can, of course, use any recording programyou may have. My main axe these days is the cello, so I'll create a stereo sound bank that handles the first fewoctaves of this instrument. You can use a guitar or flute or whatever as you follow along. I prefer to record solostrings using two microphones, with each a few feet away from the instrument but aiming at different places. For theleft mic I'll put an audio-technica AT4033 on the player's left and point it below the f-hole; for the other I'll place anAKG C451 on the right side pointing toward the cello's bridge. The mics go to a Mackie 1202 mixer, with the micpreamp direct outs fed into the AWE 64 card's left and right line inputs. This places as little circuitry as possible in thesignal path and keeps the left and right mic channels completely separate.

Record the sample files

For brevity I'll record only five notes, though it would be best to record every other note or even every note. I couldalso record the open strings separately and store them in their own bank, because they sound different than fingerednotes. But the point here is to show how to create a SoundFont, not to record the ultimate solo cello samples. Forsimplicity I'll play without vibrato because it can be added using an LFO later. Although it is sometimes better tosample with vibrato, that requires finding the best single loop point for both the note frequency and the vibrato rate.The notes recorded and the pitch range they will cover are shown in Table 1. I'll also create two patches that imitate avintage analog synthesizer because that type of voice uses very different parameters than those for a sampled cello.

Wave File Name Note Recorded Note Range Covered

CELLO1.WAV D on C String C through E

CELLO2.WAV G on C String F through A

CELLO3.WAV C# on G String A# through D#

CELLO4.WAV F# on D String E through G#

CELLO5.WAV B on A String A and higher

Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html

5 of 8 11/23/2013 1:58 PM

Page 6: Vienna Soundfont Studio

Table 1

Rather than record five separate files, it's easier to record a single file containing all the notes and split it upafterwards. WaveStudio's Options menu lets you set the sample rate and frequency, and control the mixer recordinglevels. Clicking the red Record button brings up the Recording dialog, where you enter a file name and test therecord levels. To avoid noise I set the mixer's Line Input to maximum, all other inputs to minimum, and muted allinputs so nothing comes out of the PC's speakers. I then used the mic preamp trim controls to set the actualrecording level.

Figure 4 is the Creative WaveStudio screen; both windows are displaying the initial recording, including two falsestarts (the third and fourth blips) plus some chair squeaks. The lower window in WaveStudio always shows the entirefile, and the upper window is zoomed in here to show the first cycle of the first note. To extract the samples, I'll markand delete the regions immediately before and after each note, and then use the File..Save As dialog to save thenote and reload the original file, repeating these steps five times. To mark a section, click and hold the left mousebutton at one end of the region, and then drag the mouse to the other end. The scissors icon on the toolbar cuts themarked section, and you can repeat this as needed by zooming in on the exact start of the note. If you cut out toomuch, you can use Edit..Undo to restore the cut section and try again. To avoid a click, the cut before each note ismade at a point where the wave for both channels crosses the center line. Since the recorded notes ended up atslightly different levels, I'll also use the Special..Amplify Volume feature to raise them closer to maximum forconsistent playback later.

Import and Loop the Samples

We're now ready to start Vienna and import the five Wave files. Right-click on the User Sample Pool folder icon in theSoundFont tree, select Import User Sample(s), and locate each file in turn. Since we're also going to create someanalog synth patches, right-click ROM Sample Pool..Add ROM Sample(s) and select SquareWave (near the end ofthe list). Now is a good time to use the File..Save As menu to establish a name for the bank and save what you haveso far. But first call up the File..Information screen and enter Cello for the Bank Name, so you can identify the bank

Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html

6 of 8 11/23/2013 1:58 PM

Page 7: Vienna Soundfont Studio

when you upload it to User memory later. Next, double-click on the left channel of the first sample to call up the loopeditor screen. If you click on Play Loop now, you'll hear the entire sample played repeatedly; therefore, the next stepis to set the loop end point. Adjust the slider at the right of the bottom window to zoom in until you can see severalcomplete cycles of the waveform, as opposed to the smaller ripples that represent the note's harmonics. Then clickon and hold the down-arrow button that controls the loop end point, until the wave at the middle boundary line isgoing upward and passing through zero.

To set the loop start point, either drag the green line in the upper display to the left or enter a value between, say, 500and 10000 less than the end value in the bottom window's Global Loop Start field. Now zoom in a little more to seethe exact splice point more closely, and adjust the values until they make a smooth transition. You can just as well setthe splice point to where the waveform is going negative, and it doesn’t have to be at a zero crossing. Just be surethat the start point resumes in the same direction and at the same level as the end point leaves off. Although you canloop around a single cycle, many instruments will sound more lifelike if you encompass a few hundred cycles withinthe loop. Experiment until you are satisfied with the sound, and then loop the right channel using the values you justset as a starting point.

Define the Instruments

The next step is to create the Cello and Analog Synth instruments. Right-click on the Instrument folder and selectNew Instrument. Enter Cello as the name, then click cello1(L) and shift-click cello5(R) to select all five stereo samplepairs at once. Now repeat this entering Analog Synth Sweep for the instrument name and SquareWave for thesample name. To make the analog synth patch more interesting, we'll use two square waves - with one detunedslightly to fatten up the tone and make it richer sounding. Right-click on Analog Synth Sweep, select New Zone, andagain select SquareWave for the sample. Since all of these samples will use looping, there's an extra step needed.Double-click on the Instrument Pool icon, then again on each instrument name, and yet again for every sample,clicking the Enable Looping field each time.

You can now define the note ranges that each sample will use. Click on the first sample - the low D recording incello1(L) - then grab and drag the left boundary to the C two octaves below middle C and the right marker to the Eabove. Do the same for the right channel. Repeat this for the remaining four sample pairs, with cello2 covering Fthrough A, and so forth as shown in Table 1. Since the square waves will serve all notes in the analog synth voices,they can remain spanning the entire range. If you click on the Cello name in the Instrument Pool, you can test thenotes using the on-screen piano keyboard. Note that a left-click sounds the note for only as long as the mouse buttonis pressed, and right-clicking sounds until you click the same note again. Also observe that the velocity increases

when you click closer to the bottom of the key.

Since Vienna has no way to know what pitchyou played originally when recording eachsample, these notes will not be in tune. So thenext step is to set the Root Key and fine tuningoffsets. Right-click on the cello1(L) name andselect the Properties dialog. Now you cancoarse-tune the pitch by clicking a note in thecello1 zone with the on-screen keyboard.Compare the pitch you hear to a knownstandard and adjust the Root Key field until it isclose to proper pitch. You can then change theFine Tune value in the Pitch window at thebottom of the screen to adjust the pitch inone-cent intervals. (The instrument's Propertiesdialog is also where you assign the optionalExclusive Class group number mentionedearlier.) Repeat these steps for all of the

remaining samples, using the same values for the left and right portions. The SquareWave ROM sample in my AWE64 was in tune when I used 79 for the Root Key and -45 for the Fine Tune. Use those values for one of theSquareWave samples, but use -35 for the other's Fine Tune value. Finally, make a clone of the Analog Synth Sweeppatch and call it Analog Synth Shimmer because all of the parameters entered so far apply to this patch as well.Highlight the Analog Synth Sweep name and click the Copy icon on the toolbar. Now highlight Instrument Pool andclick the Paste icon. When Vienna asks for the name of the new instrument, enter Analog Synth Shimmer.

Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html

7 of 8 11/23/2013 1:58 PM

Page 8: Vienna Soundfont Studio

Create and Upload the Patches

The final step is to create the actual patches that are called up from your sequencer. We'll also add reverb to theCello patch; and filter, LFO, and ADSR effects to the analog synthesizer patches. In the SoundFont tree, right-clickon Melodic Pool in the Preset section and select New Melodic Preset. Both the bank and preset (patch) numberscome up as zero, which you should accept; all you have to enter is the preset name Cello and select thesame-named Instrument as the preset's source. Although you can store more than one bank in a SoundFont file -needed only to allow more than 127 patches - the first one should always be 0. These numbers are relative, and theabsolute bank numbers are assigned sequentially when the bank is loaded into the AWE 64's User memory later on.Now add another melodic preset, this time naming it Analog Synthesizer Sweep. As you can see, Viennaautomatically assigns the next available preset number, which in this case is 1. Repeat this once more for the AnalogSynth Shimmer patch.

The cello patch requires only reverb, so let's do that first. In the Melodic Presets section double-click on Cello, andthen highlight the Cello instrument to enable the effects settings at the bottom of the screen. Click on the Reverbvalue (zero initially) to call up the Reverb dialog, and set the value to 50 percent or whatever sounds good to you.Then do the same for the two analog synth patches. For an enhanced stereo effect, you can optionally crank up theChorus effect on both analog synth patches.

The analog synthesizers will use filter, ADSR, and LFO effects as well as reverb, so let's take care of those now.Unfortunately, you can't set these once for every instrument used by a preset in the Melodic Pool; rather, the valuesmust be assigned repeatedly for each zone in the Instrument Pool. Double-click on Analog Synth Sweep, and thenhighlight the first SquareWave zone name. In the Effects window, set Filter Q to 18 and Filter Cutoff to 500 Hz.; in theModulation Envelope window, set Attack to 3.5 seconds and To Filter Cutoff to 3000 cents; and in the Vibrato LFOwindow, set Delay to 0.5 seconds, Frequency to 4.5 Hz., and To Pitch to 20 cents. Then repeat the same settings forthe second SquareWave zone. Of course, these are meant just as a starting point, and you could even use differentvalues for each zone. For the Analog Synth Shimmer voice, we'll apply the LFO to the filter's cutoff frequency, insteadof sweeping it linearly. Again set the Filter Q to 18, but this time adjust the Filter Cutoff frequency to 5000 Hz. Nowset the Modulation LFO Frequency to 6 Hz. and the To Filter Cutoff value to 1000 cents. Finally, click on the Disk iconto save the completed SoundFont bank to disk.

Banks are uploaded to User RAM in the AWE Control applet's User tab. Set the Current State field to the firstavailable value (001 if no other banks have been uploaded), and then click the Browse button to navigate your harddisk for the CELLO.SF2 file. When you select that file and click Apply, the Cello bank name will appear in place of001. You can now click the Playback tab and verify that the bank is loaded, by specifying the Cello bank and clickingnotes on the keyboard picture. Since there is now only one User bank in memory, it will be bank 1 because thedefault GM sounds are in bank zero. If you want to replace the default GM bank with your own samples, click theSynth tab, select User Synth in the Available Synth listbox, and use Browse to find the file. In case you change yourmind later, reinstate General MIDI as the Available Synth and set the file name to C:\WINDOWS\SYSTEM\SYNTHGM.SBK.

ACCESSING A SOUNDFONT FROM YOUR SEQUENCER

Although using bank switching to exceed the MIDI limit of 127 sounds is not a new concept, there is no standardizedway to specify banks that works for all synthesizers. Indeed, the Master Tracks Pro sequencer I use supports fourdifferent methods. (To access the default GM sounds in bank zero you don’t have to specify a bank.) The AWE 64hardware uses the two-byte method, where a 32 is sent as the low byte, and the bank number (1-127) is passed inthe high byte. To access the banks you uploaded to User memory from Master Tracks, enter the bank number andselect 0/32 for the method. The MIDI Orchestrator Plus sequencer bundled with the AWE 64 Gold card requires youto specify each byte separately, so put a 32 into the BkLsb (Bank Least Significant Byte) field and the bank number(1-127) in the BkMsb (Bank Most Significant Byte) field. Understand that the CELLO.SF2 file described hereincomprises a single bank with three patches, so you can get at all of the sounds by specifying bank 1 and patchnumbers 1 through 3.

Ethan Winer, a retired computer programmer, lives in New Milford, CT. He plays the cello in several local orchestras, and never worries aboutsamplers taking work away from "real" musicians.

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

Vienna Sampler Software: The AWE 64's Well-Kept Secret http://ethanwiner.com/vienna.html

8 of 8 11/23/2013 1:58 PM