Up to this point, we've been describing HTTP streaming; the syntaxis slightly different for RealServer streaming. HTTP streaminghas several drawbacks. For example, you can't seek through the songwith the playback-position slider, live broadcast isn't supported, anddropouts are more common. But the price sure is right.You don't even have to get your hands dirty with HTML.RealProducer Basic can automatically create a Web page to linkto your newly created RealAudio file; just select Create Web Page fromthe Tools menu and fill in the blanks. You can even publish the pageyou created from right inside RealProducer. Click on PublishWeb Page, also in the Tools menu, and fill in the FTP coordinates andpasswords for your Web site. Within less than a minute, the music weencoded was linked to a Web page and ready to go.MP3 STREAMINGThe metafile trick works with MP3s, too. In that case, you just usethe extension M3U. (For a tutorial, see the link in the“Streaming MP3s for Free” sidebar.) You also have a numberof commercial choices for Webcasting music in MP3 format. The simplestis Shoutcast, which lets you use your local Shoutcast-compatible MP3player — including Sonique and Winamp forWindows, Audion for the Mac, and XMMS for Linux— along with additional drivers to link into the Shoutcastnetwork and provide your streaming music to the world.It's free and easy to install. Instructions and the softwarecomponents are available at www.shoutcast.com. You can even attach a microphoneto your computer and mix voice-overs into the broadcast. When you're upand running, you can get listed on the Shoutcast directory so listenerscan find you.Another option for streaming is Icecast, a free, open-sourcestreaming technology. Packages are available for Windows and Linux. Thesource code is also available for programmers.Live365.com has almost 40,000 stations running as of this writing,and you could become one of them, spinning your tracks. It supplies thetools, bandwidth, and 365 MB of storage space. All you do is go to thesite, register, download and install the software, and you're ready.Playback quality varies depending on the broadcaster's connectionspeed. Broadcasts can be received by Live365's Player365,RealPlayer8, Winamp, Sonique, MusicMatch, or Windows MediaPlayer. Listen.com provides a similar service.GO, STREAM, GO!There are many ways to get heard online. This is just the beginningof a new era of music distribution. If music is your passion, there'snever been a better time to share it. So build a Web site, encode somefiles, and give your musical gifts to the world.Eric Bell is a writer, programmer, and musician; Karen Bell is atechnical writer and artist. They live in Canada, where the streams areclear.Encoder/Format ComparisonMP3QuickTimeRealAudioWindowsMedia
/devzonewww.windowsmedia.comEncoderPricingvaries from free
to expensive$29.95 for QuickTimePro;
often included in
audio editorsRealSystem ProducerBasic
(free); RealSystem Producer
Plus ($149.95); often
included in audio editorsfree;
often included in
on Macsvaries from
easy to frustratingly difficultbuilt into newWindows;
easy if added onProsmore free toolsavailable
than any other format;
wide support on
portable playersserver source code
availability for four major
well for future viabilityflexible, freetools
for encoding and streaming;
good, expensive tools
for commercial distributionhigh-quality sound
with lower file size;
corporate supportConssell your music,
pay Fraunhofer; poorer
sound than other formats'
at low bit ratessmallest installed
base of playersproprietary playernags
users to upgrade to
paid versionconfusing encoder
interfaceCoolFeaturesability to embed a
graphic in the ID3 tagsupports looping
multiple tracks, video,
and much moreRealPlayerclients
slated for Sony's
PlayStation 2 and Nokia's
Media StationsupportsencryptionSELF-PLAYING MP3sAs the Napster (www.napster.com) debacle showed, MP3 files areimpossible to control once they're out there. An interesting sharewareprogram for Windows called MP3 to Exe (www.mp3toexe.com)addresses that issue by letting you convert an MP3 file to a standaloneplayer program. When the listener downloads and double-clicks on thefile, it opens a window with transport controls, meters, and aclickable link to your Web site (see Fig. A). You can alsospecify an expiration date after which the song will no longer play, sothere's an added modicum of security to this distribution method.
Your music isn't much use to anyone if it just sits on your desktop.It's time to deliver it to that huge online audience you know is outthere. This piece will cover the nuts and bolts of premastering yourtracks so they'll sparkle no matter which online delivery format youchoose. We'll guide you through the process of choosing a format andputting the new audio files onto your Web site. Don't have a site yet?Read this month's “Working Musician” for pointers oncommercial services that will host your encoded audio files; see“Construction Site” for tips about building a site.
WEB AUDIO PREPRODUCTION
The two primary ways to present audio online are as downloadablefiles or as streaming files. The basics of how these two methods work,along with the benefits and drawbacks of each, are covered in thesidebar “Web Audio Basics.” For now, suffice it to say thatstreaming files are similar to radio broadcasts: the listener hears thesound as it downloads; then it's gone. Downloadable files must betransferred to the listener's hard drive before they can be played.
If you have a Web site and are (or have access to) a competentWebmaster, downloadable and streaming delivery are options. If you havelimited HTML prowess, downloadable formats are your best choice. Inthat case, you will be distributing your music files through e-mail ornewsgroups, or perhaps providing them to others to make available.
COMPRESS FOR SUCCESS
The average CD takes more than a day to download over a standardmodem, so online music must be subjected to heavy data compression tobe accessible to the widest range of listeners. Standard losslessdata-compression tools, such as WinZip and StuffIt(www.winzip.com andwww.stuffit.com,respectively), yield at best about a 20 percent size reduction on audiofiles. Even specialized audio-data compressors such as DaxAif(www.dakx.com) manageonly 50 percent. The greater — than — 90 percent reductionrates yielded by formats such as MP3 are achieved with a lossycompression technique called perceptual coding; the end resultis close, but not identical, to the original.
Perceptual coding analyzes the source material using apsychoacoustic model and removes parts of the signal that the ears andbrain do not perceive. A simplified example of that is the maskingeffect. For instance, a listener might not perceive a quiet guitarpart at the moment a loud cymbal crash occurs, so the guitarfrequencies can be removed from the file at that point. In essence, theencoder breaks down the file into small chunks called framesand determines on a frame-by-frame basis how to allocate bits acrossthe frequency spectrum to describe a sound.
All audio-encoding schemes feature various levels of compressionquality. One common variable is the bit rate, which is roughlyanalogous to the sampling rate in noncompressed audio. In both cases,reducing the rate produces a smaller — and lower-quality —file. Whereas lowering the sampling rate simply removes highfrequencies, lowering the bit rate alters the character of the soundthroughout its frequency range.
What exactly is lost in perceptual coding is tricky to pin down— listeners describe encoded sound as squishy, metallic, smeared,or lacking in clarity and spaciousness. There's clearly some loss ofextreme frequencies and of dynamic range. To get a sense of thedifference, play around with an encoder and listen to its highestcompression rates so you'll know what types of artifacts to listen for.(The table “Encoder/Format Comparison” contains additionalinformation.)
Music destined for the Web should be prepared in three steps: first,create a clean premaster file in uncompressed, 16-bit, 44.1 kHz stereoWAV or AIFF format. Second, create a tweaked master with appropriateEQ, sampling-rate, mono-stereo, and dynamics adjustments to compensatefor the sonic degradation caused by the encoder. Finally, create theencoded file for distribution. This approach is especially helpful ifyou will be encoding the same music into a variety of formats, becauseit provides a common starting point for your processing.
The premaster file should be tightly cropped and as noise-free aspossible. Use your editing software to remove any DC offset, avertical shift in the waveform typically caused by poor groundingduring recording. A file with DC offset will be centered on a valueother than 0V, which leads to distortion when it's processed.
If you're preparing an excerpt rather than a full track, add anappropriate fade-in and fade-out or cut the file on the beat. It'soften effective to start the excerpt on the downbeat of a measure andthen fade out over the course of one or two measures. Sometimesextending the fade for an additional beat (adding the downbeat of thefollowing measure) adds a feeling of closure.
TWEAK AND YE SHALL FIND
As noted earlier, encoding audio for the Web reduces its sonicquality, in some cases only a little, but with high compression, a lot.Here are some tips for tweaking your premaster file to help your musicsurvive the encoding process with maximum fidelity.
EQ. Consider lightening the encoder's load by rolling offvery low and high frequencies with a shelving filter. For example, ifyou're fairly sure the typical playback system will be inexpensivemultimedia speakers competing with a whining computer fan, removefrequencies below 60 Hz and above 12 kHz. An MP3 at the standard 128kbps bit rate doesn't contain much information above 15 kHz, so it'ssafe to remove frequencies above that. For streaming files, you canstart the high-frequency rolloff as low as 6 kHz, depending on thetarget bit rate.
You may want to boost some frequencies to compensate for encoderlosses. For example, try boosting at 2.5 kHz to enhance presence and at200 Hz to aid the bass. Trial and error is the key here, but if certainfrequency bands are important to particular tunes, then your EQsettings should reflect that.
Stereo enhancement. Although encoders frequently reducespaciousness, applying stereo-enhancement effects to compensate canlead to the presence of swishy artifacts. It may be more effective toadd reverb or stereo echo; again, trial and error will tell. In fact,mixing your stereo file to mono may prove to be the best compromise,because doing so will reduce the file size by as much as half or allowthe encoder to create a smoother sound at the same file size or bitrate. (Some encoders automatically discard information that's common tothe left and right channels.)
Padding. If you're planning to encode a streaming file, youmay want to add a second or two of digital silence to the beginning ofthe premaster (see Fig. 1). That helps to compensate for thedropouts that listeners may experience while a streaming player loads afile. Some streaming servers also truncate the end of a file, so youmight want to pad that as well.
Dynamic compression. Limiting dynamic range by using alittle compression can improve the quality of your encoded file. Try a2:1 compression ratio with a threshold of -6 dB to -10 dB to start; youmay need to go as high as 4:1.
Sampling rate. If the encoder outputs a file at a reducedsampling rate, such as 22.05 kHz, you will often get better results byfeeding it a file that's already at that rate. The sampling-rateconversion algorithm in your audio editor may be superior to theencoder's.
Normalization. As a last step, normalize your tweakedmasters to provide consistency in playback levels from file to file andto improve encoding results. Leave a little headroom to avoidintroducing distortion at the encoding stage. In Sonic FoundrySound Forge, we use Peak Level normalization at 95 percent(see Fig. 2).
There are many Web-audio formats, but because you want to reach thegreatest number of listeners with the least hassle, we'll concentratehere on the most popular ones: MP3, RealAudio, Windows Media Audio(WMA), and QuickTime. All four formats support streaming anddownloading. At the moment, RealAudio is the most popular streamingformat and MP3 is the top format for playing downloadable files.
MP3. If there's a no-brainer format in the bunch, it'sstereo MP3 at 128 kbps. The sound quality is good, and the compressionrates are high. The format is broadly supported with tools and playbacksoftware on virtually all computer platforms, not to mention an arrayof dedicated external playback units such as the SonicBlue Rio.
MP3 technology is not open-source. The German agency Fraunhofer IIS(www.fraunhofer.de)owns the technology, and it'slicensed through the French manufacturer Thomson (www.thomson-multimedia.com). If you don't chargefor music distributed in MP3 format, that isn't a problem. But if youdo charge, be prepared to fork over some royalties. The details are atwww.mp3licensing.com.
Most MP3 encoders use one of three algorithms: Fraunhofer, LAME, orBladEnc. Many people believe that the Fraunhofer codec (compressionalgorithm) gives the best results; others swear by the open-source LAMEencoder, which is used in a surprising number of freeware andcommercial products. (Thomson recently unveiled a new version of MP3called MP3Pro. Files in MP3Pro format are about half the size ofequivalent-sounding MP3 files, but the licensing fee charged to encodermanufacturers is 50 percent higher, so the format may be slow to rollout. MP3Pro files will play on older players, but there will be noquality boost. See www.codingtechnologies.com for details.)
Your audio-editing software may have a built-in MP3 encoder, whichis convenient. Here's a description of the encoding process usingMusicMatch Jukebox (www.musicmatch.com; other programs have similaroptions). Select the Convert command from the File menu to open theencoding dialog. When creating a constant bit-rate MP3, you mustspecify the rate. Think of 96 kbps as a “budget” rate witheasily discernible artifacts; 128 kbps is a standard, high-quality ratewith just a few audible changes from CD quality; and 160 kbps (andhigher) can be considered to be a “premium” rate with veryhigh quality but a larger file size. (A Fraunhofer representative saysthat at 192 kbps, few listeners can differentiate between the MP3 andthe original WAV.) If file size is at an absolute premium, you canencode at 8 kbps. We shrank a song that was 4 MB at 128 kbps to 270 KBat 8 kbps, and it sounded awful.
To maximize the trade-off between size and quality, try selectingvariable bit-rate (VBR) encoding. With VBR, the bit rate is adjusted onthe fly to meet the needs of the source material. The theory is thatsome material isn't as demanding as other material. In MusicMatchJukebox, you can choose a rate from 1 to 100 percent toexpress how much material to leave at a constant rate. The 1 percentsetting renders a file that is less than half the size of the fileencoded at 100 percent.
Another way to save space is to select joint stereo if your encodersupports it. That scheme saves space by combining information that'scommon to both channels. Try it to see if the space savings are worththe sonic results; sometimes stereo imaging suffers.
Don't forget to tag your MP3 file with track information and yourWeb site's URL (see Fig. 3). The most widely supportedstandard is ID3v1, but ID3v2 offers more space for information, morepreset music-genre tags, and even the ability to hold a small graphic.It's less confusing to input the tag information before you encode theMP3; however, many MP3 players (Winamp, for example) let youedit the tags after encoding the file.
RealAudio. RealAudio is RealNetworks' streaming-audioformat. Although the company's tools and players focus more onmultimedia streaming, RealAudio remains one of the strongest choicesfor audio streaming because of the large installed base ofRealAudio-enabled players (200 million according to RealNetworks) and agood selection of flexible encoding tools.
Before digging into producing RealAudio files, investigate youroptions for serving them to your fans. If you have control of your Webserver, you will be able to use the RealSystem Server softwareto deliver the streams. The free version supports 25 simultaneousstreams. If your site is hosted, chances are good thatRealServer is already installed; you'll have to negotiateterms for use, however, and encode your files to match the host'ssetup. If RealServer is not available, don't worry. Anotherdistribution option, HTTP streaming, doesn't require a dedicatedRealAudio server.
Like most streaming companies, RealNetworks has a free encoder— RealProducer Basic for Windows, Mac, Unix, and Solarisplatforms. For more options, you can shell out $149.95 forRealSystem Producer Plus. Many audio editors now includeRealAudio encoders as well.
RealProducer Basic has both Wizard and DIY modes. TheWizard walks you through the selection process for choosing the file oraudio device from which to encode, the destination, and the type ofcodec. The main encoding screen lets you enter information to identifyyour music in the listener's player. That is a good place to includeyour Web site's URL.
When choosing a codec, carefully consider the number of simultaneousstreams you want to support and the total bandwidth available on yourserver (and the bandwidth therefore available to each audio stream);then, select the codec to match. Also consider the type of connectionyour listeners are likely to have. A 28.8 kbps modem can support a 20kbps RealAudio stream in stereo (see Fig. 4). Fasterconnections will support higher bit rates. The RealSystem 8Production Guide (available at www.realnetworks.com/devzone) provides theinformation you need to choose your codec wisely.
If you're streaming files with the RealSystem Server, youdon't need to choose just one bit rate. RealProducer'sSure-Stream option creates a single file containing audio encoded at asmany as eight rates. The listener's connection speed determines whichversion is streamed. (The freebie RealProducer Basic encoderlets you choose only two of the eight rates. If you want to use more,you'll have to purchase the Plus version.) If you use HTTPstreaming, you won't be able to detect the listener's connection speedautomatically, so it's wise to make two or more versions available andallow the listener to choose.
Windows Media Audio. The main competition to RealAudio isWindows Media Audio (WMA). When something becomes popular, likeWeb-distributed music, Microsoft usually muddies the waters by jumpingin and releasing a competing, proprietary standard that it touts asbetter. But if file size is your main consideration, Windows MediaAudio 8 deserves a look: a WMA file at 96 kbps is said to be comparableto MP3 at 128 kbps. In our tests, we found the 96 kbps quality to behigh — a good choice for online distribution.
WMA is getting increasingly wide support because the WindowsMedia Player is included with Windows. In fact, WMA support willbe an integral part of the upcoming Windows XP. A Macintosh version ofthe player is also available.
If you want to create downloadable WMA files, version 7.1 of theplayer is all you need. Unfortunately, that player isn't available onall key platforms — missing are versions for Windows 95 and NT.(Version 7.0 is available for Mac.) You can also encode WMA files withWindows Media Encoder 7.1 or Windows Media 8 EncodingUtility. The latter offers more flexibility, including batchprocessing; both are free downloads. Several audio editors support WMAexport as well. For streaming, download Windows Media Services4.1 from Microsoft's site. It's supported on NT Server 4.0 and builtinto Windows 2000 Server.
The free Windows Media Encoder isn't as user-friendly assome encoders; in fact, many of the options are downright confusing. Wetherefore recommend using its New Session Wizard. Select“Audio”; choose the input and output files; and finally,choose the codec. The 96 kbps codec provides excellent compression— about 95 percent — with few artifacts.
Microsoft has done some work toward maintaining content security.After all, if you want to receive compensation at some point, it willbe difficult with all those digital copies floating around. You can useWindows Media Rights Manager to lock digital copies of yourmusic. A license, specific to an individual's computer, unlocks thefile and makes it playable. That isn't a technology you can likelyimplement on your own; you'll have to go through one of the third-partycompanies listed on Microsoft's site. That said, be warned that hackershave broken most audio encryption and watermarking schemes to date.
QuickTime. The new QuickTime 5 is the latest iteration ofApple's popular multimedia authoring format; QuickTime Playersupports MP3 streaming directly at last. (Version 4 required listenersto copy and paste the MP3's URL into the player.) Needless to say,QuickTime is supported well on the Macintosh, but the player andplug-in are also easy to install on Windows.
Like products from Real Networks, QuickTime is primarily aimed atvideo (the file extension is MOV), but audio-only movies are a viabledistribution method for your music. QuickTime is really a containerformat; it supports a large number of codecs, including MP3 andnumerous video codecs. However, its ace in the hole is the QDesignMusic codec, which offers good quality at high compression rates. Toencode QuickTime files, you need the $29.95 QuickTime Pro oran audio editor such as TC Works' Spark that features built-inQuickTime encoding. If you want your QuickTime files to stream, checkthe Prepare for Internet Streaming and Fast Start-Compressed Headeroptions when you decode files.
You can snag a free program called MakeRefMovie from theQuickTime Tools section of Apple's developer site (go to http://developer.apple.com/quicktime). That 156 KBgem enables you to create a reference movie (actually just a minusculepointer file) that automatically selects the appropriate QuickTime filebased on the listener's connection speed. You simply upload thereference movie along with QuickTime files optimized for differentconnection speeds, and then you link to the reference movie on your Webpage.
LINK AND GROW RICH
Once you've squashed your audio files, upload them to your Webserver and create a Web page containing links to them. You'll probablyneed an FTP program to do the upload; plenty of freeware and sharewarecandidates are available. As an alternative, your Web host may providea Web-based interface for uploading files.
Here is the complete but simple HTML code for a Web page that linksto a downloadable MP3 file:
Click to download mysong.
Unfortunately, the action triggered by clicking on the link dependson how the listener's browser is configured to handle the file type.The file may be downloaded; played by a plug-in, opening pop-uptransport controls; spawn a dialog box asking how the visitor wants tohandle it; or even spew meaningless text in a new window. To ensurethat the file downloads, you can provide instructions for Macintoshusers to Option-click and Windows users to right-click on the link andthen choose the Save to Disk option from the resulting dialog box.
If you want to be a little slicker, explore the HTML Embed command.That command lets you assign a sound to a Web page or to a link in aWeb page. The parameters for the command determine the size andbehavior of the playback controller.
The following example embeds a QuickTime audio-only movie file,displaying a transport control that is 120 pixels wide by 16 pixelstall:
Setting autoplay to “true” would have caused the soundto start playing as soon as it was loaded. In the next example,additional parameters specify volume, back-and-forth looping, and apage that opens if the visitor doesn't have the required plug-in:
“true” volume=“100” width=“160”height=“16”
For creative and well-documented QuickTime-embedding examples, visitwww.mousejam.com(see Fig. 5). For examples geared to other audio formats,enter “embed html” into your favorite search engine. (See“Desktop Musician: Web Audio Action” on p. 96 for moredetails.)
STREAMING ALL OVER
Making files stream involves a little trick: you link to a text filethat points to the audio file, not directly to the audio file itself.You can create this pointer file (or metafile) in a texteditor such as Notepad or SimpleText. It shouldcontain just the URL of your target audio file. For example, if youtitle your encoded RealAudio file mysong.rm and stored in your site'sAudio directory, the contents of the metafile would be:
You would then save the metafile as mysong.ram and put the followinglink on your page:
Click here to play mysong.
When your visitors click on the link, the RealAudio player willlaunch and play mysong.rm. You can put pointers to more than one songin a metafile, which will cause the songs to play sequentially. Justadd a return between each URL in the metafile.
To have the stream played by the RealAudio plug-in insteadof the player, substitute the RPM extension for the RAM extension inthe metafile and the link; then, use an embed tag to call themetafile:
width=375 height=100 controls=all>