Hacks #52-60

Based on feedback from other work I have done, I know many web designers have a common misapprehension about sound, and it goes something like this:

I am not a fine-art painter, but that does not stop me from being able to draw pictures or design graphically compelling web sites. I am not a musician, and that does stop me from creating sounds and making music files for my web sites.

That attitude is fine for an HTML site designer who doesn't have to do much with sound, but when it comes to web motion graphics, a lack of sound-authoring ability can be a big disadvantage. Sound is fundamental to animation and interactivity. Try navigating a few Flash sites with the sound turned down or playing Quake with the sound amp set at 2 instead of 10. It is just not the same!

The alternative to creating your own sounds is to buy a few sound source CD-ROMs, but the content from these are usually either of the "so overused that it will appear all over the Web in no time" or "so way-out wacky that nobody will want to use this" variety.

The problem is that sound is not well supported as a subject in its own right within web design. We all know how to optimize a bitmap for the Web without causing too many jaggies or stippling/banding/coloring noise, but sound optimization rarely extends beyond setting the MP3 export bit rate to give us a smaller filesize. In fact, sound optimization technology also has its own "jaggies" (aliasing frequencies) and noise effects (quantization noise), and you need to know about them to generate the best filesize-to-quality ratio.

Sound is much more bandwidth-heavy than anything except video, so it is very important that sound is optimized as much as possible in any web content.

So, the main thrust of this chapter is to show hacks that allow you to create sounds for Flash without having to go to a (usually very costly) off-the-shelf sound source CD-ROM and without having to nurture any music talent. We also look at a number of issues that can stop Flash sound from working as advertised (and which have put off many Flash sound experimenters in the past).

A secondary aim is to present a few sound-related hacks that are not normally attempted. These techniques are hacks because they are sound applications that are not mainstream, such as Flash-based spoken word input and output.

Many of the routes to creating complex sound rely on recent additions to Flash (such as the Microphone class and more subtle enhancements like the ability to provide better timing and the overall stability of the Flash Player). This means that some of the sound hacks have really been viable only with recent revisions of Flash.

For the basics of using sound in Flash in the standard ways, refer to the ActionScript Cookbook by Joey Lott (O'Reilly). This chapter covers some of the nonstandard or lesser-known sound techniques, plus techniques for authoring raw sounds suitable for web use.