QuickTime Closeup
Apple's multimedia dynamo takes a quantum leap in power

by Neil Leonard
www.neilleonard.com

published in Electronic Musician, 2001

QuickTime 3 is finally out, and you might be asking why this is news. After all, there are other technologies for playing synchronized audio and video, namely AVI, DV, and MPEG. Isn't QuickTime just another set of operating system drivers and a standard file format? Quite the contrary! QuickTime is a suite of over 175 different software components that includes a wide range of tools for the presentation of audio and music.

QuickTime 3 supports MIDI-triggered software synthesis and a wealth of audio codecs to keep Web bandwidth requirements and audio file sizes to a minimum. Included in the array of audio tools are leading-edge codecs by QDesign and Qualcomm. By using these codecs in combination with the Sorenson video codec, QuickTime delivers near full-frame and full-motion video, without specialized video hardware.

At present, over 11,000 products are based on QuickTime, including Microsoft's Encarta encyclopedia and popular interactive CD-ROM games, such as Cyan's Riven. 6,000 of these applications are for Windows only. In addition, there are over 80,000 Web sites that currently offer QuickTime content. According to Apple, over 50 million computers use QuickTime.

It took 100 in-house programmers to create QuickTime 3, and it's a major upgrade in every respect. Within the first month of its release, Apple reported that about one million downloads were recorded. If you will be creating music and audio for CD-ROM or Web delivery anytime soon, chances are that you'll consider using QuickTime 3.

On the Mac, QuickTime 3 is implemented as a collection of system extensions. System 7.0 or later is required. It can run under a CPU as old as a 68020, provided that Color QuickDraw is installed. On Windows 95/NT, QuickTime 3 is implemented as a dynamically linked library (DLL) that works with Microsoft's DirectDraw and DirectSound. A 66 MHz 80486 or faster processor is required, along with a sound card (a Sound Blaster card is recommended). With Java, QuickTime is implemented as a set of classes and methods that programmers can use when writing applets.

How to Get It

QuickTime is downloadable for free from www.apple.com/quicktime. Downloading the 7 MB self-extracting file gets you the latest versions of QuickTime, MoviePlayer, PictureViewer, the QuickTime Plug-in for Web browsers, and a few sample files. Documentation is not included, but there is a wealth of documentation available on Apple's Web site.

If you would like to gain access to the Save and Export features of MoviePlayer or save movies that are embedded in Web pages, you must purchase QuickTime 3 Pro. It's available online for $29.99. The basic version of QuickTime is actually an encoded version of QuickTime Pro. When you upgrade to the QuickTime 3 Pro version, you buy a de-encryption code to unlock all of its features. If you do not purchase the Pro version, QuickTime will display a dialog box (no more than once a day) prompting you to buy it.

Software publishers can distribute QuickTime free of charge with their products, provided that they sign a licensing agreement and allow a promotional banner for QuickTime 3 Pro. The banner runs during software installation and when you use the provided MoviePlayer and PictureViewer utilities or the QuickTime plug-in. Publishers can spare users the inconvenience of sitting through promos and cluttering their desktops by paying Apple a one-dollar licensing fee for each copy of QuickTime that they distribute.

Let the Movies Play

To get a feel for what you might expect from an application that supports QuickTime 3, lets look at MoviePlayer 3, which comes bundled with QuickTime. This application is only 238 KB in size and showcases standard media-handling features and user-interface tools.

MoviePlayer imports and exports data in more than 70 formats. It can create movies using many types of data, including digital video, still images, low-bandwidth vector animations, multiple sound channels, MIDI, 3-D objects, virtual reality panoramas and objects, and text. Media in all of these formats can be synchronized with a minimum of effort.

MoviePlayer can play an unlimited number of audio tracks simultaneously. Each track has an independent audio format, resolution, and sample rate. MoviePlayer also has tracks for MPEG audio and time code (although MPEG is only supported on Power Macintosh models at present).

When MoviePlayer imports an audio file, it creates an audio-only movie. QuickTime provides separate software "components" to import AIFF/AIFC, Red Book audio (CD), DV, MPEG Layers 1 and 2 audio, Sound Designer II, Mac OS System 7 sound resources, µLaw (AU), and WAV files. The movie playback window has Play/Pause buttons, as well as a pop-up volume slider and frame jog buttons.

If QuickTime Pro has been installed, the playback locator is displayed as a hollow rectangle, indicating that QuickTime editing functions are enabled. You can then shift-drag the mouse to select a region to cut, copy, and paste (see Fig. 1).

Copying and pasting data within MoviePlayer does not immediately increase the file size, because MoviePlayer uses pointers to selected regions in the audio data, instead of actually duplicating the data. In QuickTime parlance, files that use pointers to audio regions are said to have "dependencies." Saving a file with the "Make movie self-contained" option will eliminate dependencies and increase the file size.

The Get Info command in the Movie menu gives a track-by-track description of the movie's contents. Each audio track can be examined separately to obtain a readout of its resolution, sample rate, duration, byte allocation, data type, compression algorithm, and data transfer rate. Within the Info dialog box, you can now individually set the volume, pan, and mute settings for each track.

MoviePlayer 3 can be used to export tracks and provides options for saving them in a variety of file formats using different codecs. That makes MoviePlayer 3 a powerful utility for authoring. Audio tracks can be exported in AIFF, System 7 resource, µLaw, or WAV formats. Selecting different file types yields different compression, sample rate, resolution, and channel number options (see Fig. 2).

Selecting the AIFF format yields the widest range of compression options: IMA-ADPCM, MACE, µLaw, Qualcomm PureVoice, QDesign Music Codec, or none. Selecting the Qualcomm and QDesign encoders opens an additional dialog box for entering encoding options. System 7 resources can be encoded with IMA-ADPCM, MACE, µLaw, or no compression. MoviePlayer does not provide any way to encode a WAV file, which seems to be Apple's way of discouraging the use of this standard Windows file format.

Sound Management

QuickTime 3 ships with Apple's Sound Manager 3.3. It handles all digital audio playback functions. On the Macintosh, Sound Manager is a separate system extension file. Installing QuickTime on this platform will also update the Sound Manager extension in the System folder.

We interviewed Peter Hoddie, Apple's Chief QuickTime Architect, via the Internet. Regarding the Windows version, Hoddie explains, "Sound Manager is part of the QuickTime library delivered on Windows, but it is not implemented as a separate file. On Windows, QuickTime uses either WaveOut or DirectSound for the final audio output. However, all other audio processing [on both platforms], including decompression, compression, rate conversion, and mixing, is done by Sound Manager."

Sound Manager can mix together and synchronize an arbitrary number of audio channels in real time. The exact number of channels is only limited by the performance of the host computer. Sound Manager also contains software services to mix down any number of audio tracks to stereo on the fly. Furthermore, Sound Manager can work hand-in-hand with hardware accelerators for enhanced performance.

While Sound Manager is most commonly used for real-time tasks, these same functions are also available in off-line mode. For example, even if an application cannot mix down 32 channels of QuickTime audio in real-time, it is conceivable that the same application could render a version of the same music to a stereo file.

Who Is In the Drivers Seat?

Software developers reap immense benefits by using QuickTime's Application Programming Interfaces (API) to perform audio services. An API is a collection of software utilities, which programs can use to make the operating system perform low-level tasks. QuickTime's API is comprised of approximately 1,200 system-level C functions and is essentially the same with Windows, Macintosh, and Java.

By using QuickTime's API, programmers avoid spending hours re-inventing audio and MIDI features. In addition, they provide the user with an interface that is identical, across platforms, to all other QuickTime programs. That drastically lowers the learning curve for musicians.

For example, let's look at QuickTime's Apple CD-ROM driver. How many Macintosh programs would let you import audio from a standard audio CD before the widespread use of QuickTime? I only used one, and it was not cheap. Now, a music software developer who wants to build this feature into an application does not have to learn how to directly access an Apple CD-ROM drive. Instead, the program can request that QuickTime import the audio by using its API functions.

QuickTime's toolbox presents the user with a series of standard dialog boxes to help choose the track, region, resolution, sample rate, and number of channels. It then makes the sound available as a QuickTime movie and/or saves it to an AIFF file. The programmer can accomplish all this without directly accessing the CD-ROM player, designing an interface, or creating code to write an AIFF file.

The House of MIDI

QuickTime Musical Architecture (QTMA) includes a note sequencer, music synthesizer architecture, instrument library, and MIDI importer/exporter. By defining these tools at the OS level, musicians can now expect their MIDI files to sound exactly as written on any computer that supports QuickTime.

The desktop synthesizer uses QuickTime Musical Instruments (QTMI). Its wavetables are licensed from Roland and are the same ones found in Roland's popular Sound Canvas synthesizers (see Fig. 3). This is a collection of 128 General MIDI instruments, seven GM drum kits, and more than 100 additional GS sounds. (For more on the GS standard, see the sidebar "Extending the Orchestra with GS.")

Consider how this standard architecture affects game composers who have been writing music for Windows machines. Until now, these musicians could not count on a particular sound card or synthesizer being available. As a result, they sometimes created multiple versions of their General MIDI files, with different Velocity values tailored to match different synthesis cards or external sound modules. By using QTMI, the same musicians know that each user's system will be able to access the exact same instrument set, regardless of their system configuration or location.

The combination of a laptop computer and a good desktop synthesizer has the potential to change the way musicians and composers think about music, in much the same way that the advent of the portable cassette recorder did two decades ago. For example, on the train from Boston to New York, I used a laptop computer and MIDI sequencer to compose a rhythmic motif for a QuickTime drum kit. I saved this polyrhythm as a standard MIDI file, then loaded in MAX, a graphical programming environment for interactive music. Minutes later, I enhanced my algorithmic music software to use QuickTime's GM instruments and created variations of this rhythm.

When I arrived in New York, I played my algorithmic music for a group of musicians that included Ornette Coleman. At their suggestion, I made modifications on the spot. Later that night, I connected the audio output of my laptop to a standard car stereo and generated algorithmic music for my drummer and me to listen to as he drove me home. Granted, QuickTime's synthesizer and the audio outputs on my laptop do not sound as good as my Kurzweil K2000. However, I never played my Kurzweil while driving down the Merrit Parkway.

QTMA supports stereo wavetables and synthesis parameters. Surprisingly, QuickTime can use QTMA to render a MIDI track as a digital audio file by substituting the Sound Canvas sounds for MIDI note messages.

As expected, the number of simultaneous notes is only limited by the CPU. In regard to the practical limitations on today's machine, Hoddie points out that, "multiple MIDI tracks can be present in one movie. On older machines, it might be as few as six, but on newer machines it can be several dozen."

If you do not want to listen to the QuickTime instruments, use the QuickTime Settings control panel to route the MIDI data to an external GM synthesizer. Try making this change prior to launching games like Disney's Toy Story, and you can hear the same music played on your favorite hardware synthesizer.

Atomic Synthesis

At present there is only one editor dedicated to creating QuickTime Musical Instruments, the QTMA Atomic Editor 0.971 (see Fig. 4). QuickTime's internal data structures are referred to as Atoms by programmers, hence the name. The editor can be downloaded from www.quicktimefaq.org/software.

The updated Atomic Editor which is now available supports the importing of DLS instruments (see the sidebar "Beyond General MIDI Wavetables"). This is how the Roland Sound Canvas instrument set was created. Apple believes that tools to create custom instruments are something that third party vendors will be providing. As Hoddie points out, "With the new DLS standard, we expect a variety of tools to be available for creating custom instruments. The Atomic Editor is a tool we developed internally to support our instrument development. We make it available to our developers as a way to help jump start their products, but it was never intended as a professional production tool."

Apple provides no documentation for the editor, and does not have links to it on the Apple Web site. Earlier versions were said to be prone to crashes, although I had no trouble getting the latest version of the editor to work on first try.

To edit a QuickTime instrument that is already part of the QTMI instrument library, simply launch the Atomic Editor. Select Pick Instrument from the Instrument menu. After you have edited the instrument's parameters, select Save from the File menu, and the editor will output a system extension with your instruments in it.

Rather than distributing your movie with the necessary extension, it would be ideal to store the sounds in the movie itself and have QuickTime download the sounds to the synthesizer in real-time. This would make distribution easier and eliminate the need for restarting the computer to load sounds.

According to Hoddie, it is possible to save the instruments as part of a QuickTime movie. Unfortunately, there are no good tools available to do that right now. It isn't necessary to reboot to hear the sounds, though. You can simply drop the extension on Reinstaller (available on the QuickTime Web site) to make the instruments immediately available. The Mac system extension doesn't work on Windows, however, although a similar file can be created that will work there. Clearly, the lack of tools is currently the main obstacle to fulfilling QuickTime's true potential.

While the QTMA synthesis engine is not as feature-laden as a top-of-the-line GM synthesizer, it is still a great leap forward. For example, it supports a separate amp, filter, LFO, and envelope generator for each instrument. "We don't try to emulate the top-of-the-line Sound Canvas," explains Hoddie. "That would be impossible in real time on today's CPUs. We have had to make a number of tradeoffs to provide acceptable performance on a range of CPUs. Of course, we scale the synthesizer features so that it sounds better on a more powerful machine than on an old Quadra."

While this version of the QuickTime synthesizer feels like a quantum leap beyond the synthesizer included with QuickTime 2.5, it is not yet as bulletproof as a hardware Sound Canvas. I found that sending MIDI patch changes to QuickTime 3's synthesizer while notes were sustained could result in hung notes. The MIDI controller for All Notes Off (123) did not always cause it to release these notes. To remedy this situation, I had to send a Note Off command for every possible hung note, or reset the computer.

Interestingly, many of the aforementioned parameters that can be accessed by the Atomic Editor can be accessed in real-time. QuickTime 3 implements parametric controls called Knob events, that can be imbedded in a sequence to perform tasks, such as modifying the envelope or LFO parameters of an instrument.

Component Culture

The power and flexibility of QTMA is largely based on the component architecture of QuickTime. Components are software tools that perform very specific tasks, such as compressing an audio file or directing MIDI to a particular synthesizer. This component-based architecture makes it easy for Apple, or third party developers, to extend QuickTime's functionality in the future.

Components can interact with each other to accomplish tasks that a single component cannot execute alone. The QTMA components work together to provide a robust set of MIDI playback features. Key components of QTMA include a sequence player, single note allocator, and several synthesizer drivers.

For example, the QuickTime sequence player outputs its MIDI event list to the note allocator, which in turn sends the note to one of four components that drive different synthesis engines. QuickTime has separate components to handle sending MIDI events to QuickTime's built in synthesizer, an external General MIDI synthesizer, a non-GM synthesizer, or a PCI-based synthesizer.

The note allocator keeps track of how many voices are currently being used by each synthesizer and manages global voice allocation. So, if a PCI synthesizer has been designated as the primary synthesizer, additional notes can be directed to QuickTime's software-based synthesizer when the PCI synthesizer's polyphony has been exceeded.

Support for external synthesizers is quite impressive. There are components to route MIDI to Opcode's Open Music System (OMS), Apple's MIDI Manager, and Mark of the Unicorn's FreeMIDI. Each one of these MIDI drivers is referred to as a separate MIDI transport mode. The Music Control panel is comprised of two dialog boxes. One can be found under QuickTime Settings. Selecting Edit List from this window calls up a second panel that lets the user edit and configure the list of choices.

The Power of Perception

To deliver audio at low transfer rates and reduce disk space, several approaches to encoding audio data have evolved. The piece of software that encodes and decodes sound is called a codec. (For more on codecs see "Space Savers: Bend, Twist, and Crunch Your Audio Files for the Web" in the July, 1998 issue of EM). Until now, QuickTime's primary music codec has been IMA-ADPCM. It can sound fantastic and reduces 16-bit file sizes by 75 percent. (It was used as the primary audio compression algorithm in Riven.)

IMA-ADPCM and all the older QuickTime codecs, including ALaw, µLaw, and MACE, were waveform codecs. These were well-suited for delivering audio via CD-ROM, but inadequate for Web delivery, where greater data reduction ratios are required. Perceptual codecs, such as Dolby Labs AC-3 and MPEG, employ a psychoacoustic model of the human auditory system to determine what parts of the signal are masked or inaudible. These parts of the audio signal are eliminated to reduce the amount of stored data. Perceptual codecs are called "lossy" because they reduce audio quality in favor of increasing transmission rates. (In other words, some data is "lost" during the compression/decompression process.)

Until now, access to perceptual codecs was often expensive and might require a dedicated server for delivery. By contrast, QuickTime Pro is affordable, requires no special server software, and supports perceptual encoding, which dramatically raises the ante for Internet audio delivery.

In addition to MPEG, QuickTime 3 ships with two perceptual codecs that Apple has licensed from established developers. The flagship codec, QDesign Music Codec (QDMC) is designed to deliver the highest possible audio quality at the lowest possible bit rates. It claims to support the transfer of 16-bit, 44.1 kHz, stereo audio over a 28.8 Kbps modem connection.

With QuickTime 3 installed, MoviePlayer can play and encode any QDMC-compressed files, however to encode files you must have the version of MoviePlayer that comes with QuickTime 3 Pro. There's also a professional version of the QDesign encoder, which is available from the Apple store. The QDesign encoder that is included in QuickTime 3 Pro compresses sound to one of nine data transmission settings between 8 Kbits and 48 Kbits and seven sample rates between 8 kHz and 48 kHz (see Fig. 5). According to QDesign, Opcode's Studio Vision 4.1 is being written to take full advantage of QuickTime 3's audio export features, making Studio Vision an excellent tool for Web-audio development.

Another new QuickTime-related product comes from Terran Interactive. Its MediaCleaner Pro 3 is among the first post-production tools that are designed specifically for use with QuickTime 3. In addition to supporting all available QuickTime audio codecs, it provides media protection keys and batch support for use with the QDesign Music Codec.

QuickTime 3 also supports Qualcomm's PureVoice, a codec that is optimized for the delivery of spoken word. PureVoice is already used in digital cellular phone systems and delivers near land-line voice quality at extremely low transmission rates. It is also well-suited for use in electronic mail, and Qualcomm has announced plans to include it in upcoming versions of its Eudora software (see Fig. 6).

What Time is It?

QuickTime movies can be synchronized to QuickTime's internal clock, another application's clock, or even an external device, such as a SMPTE track on an analog videotape. With QuickTime 3, movies can now have multiple time-code tracks. These tracks can contain information on the timing source, format information, and individual frame numbers.

QuickTime stores data in tracks using its own time-code format. This format is compatible with all current time-code standards, including SMPTE, PAL, SECAM, and NTSC. A QuickTime movie could have data in each one of these formats, and QuickTime would perform the necessary drop-frame tricks to synchronize the content in all tracks.

Hear Me Talkin' to Ya

QuickTime's text track can be used to display subtitles, lyrics, and even direct HTML codes to a browser. Apple's on-line documentation for MoviePlayer outlines a few dozen control codes, or Text Descriptors, that control the display and usage of the track. QuickTime lets you set text display parameters, including font, alignment, and display colors. The timing of text display is controlled by time stamps that can be specified in either absolute or relative time. Time stamps have four fields: hours, minutes, seconds, and up to 1/600 of a second.

QuickTime can also import Karaoke MIDI files (KAR) and create a movie that displays lyrics as the music plays. A KAR file is a Standard MIDI File of Type 1. KAR compliant files use one text track to contain standard control codes that are preceded by the @ symbol. For example, @KMIDI KARAOKE FILE identifies the file type. Text events in a second track contain the actual song lyrics.

This format was designed by the Tune 1000 Corporation, which no longer supports the format. There are a number of software programs that allow you to add Karaoke lyrics to a Standard MIDI File to create a KAR file. To get information about KAR specifications, Karaoke software, and KAR files, contact the Computer Karaoke Homepage at www.teleport.com/~labrat/karaoke.shtml

If you are interested in creating KAR files, you might want to download a KAR file from the Web and load it into your sequencer to find out how text events are used.

Not impressed by the Karaoke feature? The text track is not limited to controlling a simple text display. You can also embed HTML commands in this track, which could cause a browser to display your Web page or go to the next bullet of a slide presentation. If you do embed HTML in your movie, and it is copied and redistributed, subsequent copies will continue to send users back to the predesignated Web location.

The on-line MoviePlayer 3 documentation describes how to create a text track and have it interact with a browser. Check out the following two Web sites: www.apple.com/quicktime/information/macmovieplayer/mp5m.html and
www.apple.com/quicktime/authors/auth-docs.html#web

Border Crossing

QuickTime has been running on Windows for over five years as a playback-only technology. With QuickTime 3, all the features and functions available on the Mac now work with Windows as well. That makes it possible for the first time to create QuickTime content from within Windows. With the Windows version of MoviePlayer, you can add tracks of audio, text, and MIDI to an existing AVI file and even play it backwards. For a few Pentium cycles, QTMA provides an excellent alternative to FM sounds on a sound card.

Apple has taken pains to be sure that QuickTime behaves like a standard Windows application as opposed to a bunch of ported Mac OS tools. Apple hopes that Windows developers will become even more attracted to the technology, now that they can use QuickTime for media capture, editing, delivery, and playback on several platforms, without leaving Windows.

Unlike Windows, however, the Mac OS uses a "forked" file structure. For example, audio and MIDI data are stored in a partition called the data fork, while resource-related elements, such as dialog box designs, are stored in a resource fork. Because Windows uses a single-fork file format, it cannot load QuickTime movies created on the Macintosh, unless the file has been converted to a single-fork or "flattened" file. Creating a movie with the "Make movie self-contained" command puts all the necessary data in the data fork and leaves the resource fork empty.

You might occasionally find a QuickTime Movie for Windows distributed across two files. The movie data is stored in a standard Windows movie file with the MOV extension. The QuickTime resource data is stored in a file with the QTR extension. QuickTime will automatically look for a matching QTR file if it does not find the necessary resources in the main file.

A Quick Look into the Future

To continue gaining momentum with developers, QuickTime will have to continue to grow. At present, QuickTime does not fully support streaming. True streaming includes the broadcast of a live signal. At present, QuickTime uses a technique that Apple has dubbed "Fast Start." It begins playing pre-digitized or sequenced files as soon as they begin to download. Apple plans to release a true streaming technology for QuickTime this year, which will make it a robust tool for Web radio broadcasting and video conferencing.

Apple continues to aggressively court industry alliances. In February, 1998, the International Standards Organization (ISO) adopted the QuickTime file format as the starting point for the MPEG-4 specification. The specification is being developed by the ISO's Moving Picture Experts Group (MPEG) with input from Apple, IBM, Oracle Corporation, Silicon Graphics, Sun Microsystems, and Netscape. The ISO expects to publish this new specification in 1999.

MPEG-4 will support real-time video and audio streaming. Already, MPEG-4 products are in the development stage. Included in this upcoming round of tools are hardware from IBM, Java support from Sun, video server products from SGI, and media software from Oracle.

Content developed using QuickTime today will be compatible with MPEG-4 tools when they become available. In addition, products that support QuickTime 3 can easily be updated to be MPEG-4 compatible.

When asked if anyone is doing surround sound using a 5-channel QuickTime movie, Hoddie responded, "There are authoring tools that use QuickTime and create 5-channel content. At the moment, there are a number of system-level problems on PCs that need to be worked out before this can be done correctly. QuickTime can easily support 5 channels of audio (or more). The problem is how to map these to audio outputs on the user's system. We're working on this, but it's really an industry-wide problem."

QuickTime currently supports the 133 standard video effects defined by the Society of Motion Picture and Television Engineers (SMPTE). Standard effects include wipes, fades, and slides. Months ago, Apple began examining the possibility of supporting a similar real-time audio effects library in version 3.

Hoddie explains, "We had hoped to [support audio plug-ins] in QuickTime 3, but we realized we didn't have time to do this as well as we wanted. We did a great video effects architecture, and pieces of that will be used in our audio effects architecture. We want to do a great audio plug-in design, something that we can live with for a long time. In starting on that work, it became clear we couldn't achieve that in QuickTime 3. We're still working on this, and I hope we can talk about the details publicly soon."

QuickTime 3 is an excellent addition to today's tools for multimedia development and delivery. Cross-platform development tools and content are already available. Computer politics aside, we would all benefit from continued widespread adaptation of this versatile standard.

Neil Leonard III
received this year's award for the most valuable contribution to the Music Technology Division curriculum at Berklee College of Music. This spring he created sound for Magdalena Campos' multimedia installation at the Museum of Modern Art in New York.

Extending the Orchestra with GS
One of the most exciting developments in QTMI is the adaptation of the Roland GS standard, which is a superset of the General MIDI Level 1 Specification. GS instrument banks comply with the instrument maps of GM, but add extra sounds and standardized controller values for expressive performance.

MIDI Bank Select messages are used along with Patch Change messages to select sounds in the additional banks. The new GS patches are bank-aligned with the original 128 GM sounds and are closely related to the sounds in this original bank. If QTMA receives a request for a bank/program number that is not supported, a corresponding instrument in the master GM bank will be substituted.

The GS specification supports expressive control in ways that are impossible on non-GS compliant GM instruments. As expected, this extra real-time control is implemented via Continuous Controller messages. However, the GS specification uses Non-Register Parameter Numbers (NRPN) 98 and 99 to select one GS-specific synthesis parameter. After the parameter has been chosen, it can then be modulated in real time by a stream of Data Entry Continuous Controller messages.

For example, the pitch envelope of a GS instrument can be modulated in real time. By slightly increasing the pitch envelope, it is possible to have an instrument start playing an individual note slightly flat and gradually raise the pitch during the attack. One of the best synthesized saxophone sounds I have heard was from an inexpensive Sound Canvas using this GS parameter.

Beyond General MIDI Wavetables


The Downloadable Sounds (DLS) specification was created by the MIDI Manufacturers Association (MMA) in 1996. It enables game developers and musicians to add their own wavetable-based instruments and sound effects to PC sound cards rather than being limited the standard GM instrument set. Previous efforts to establish a standard desktop wavetable synthesizer were stalled due to inconsistent architectures and proprietary designs in sound cards.

DLS synthesizers can play back custom instruments using a standard multisampled wavetable architecture. Like the QuickTime synthesizer, a DLS-compliant synthesizer has standard synthesis parameters and can be modulated by a standard set of LFOs, envelope generators, or external controllers. The full specification and a Windows-based editor are available from the MMA (www.midi.com). Sonic Foundry is one of the manufacturers responsible for defining this standard, and it has announced plans to provide tools for creating DLS instruments.

[CAPTIONS]
Fig. 1:
An audio-only QuickTime movie with the selected region displayed in black.

Fig. 2: QuickTime's Sound Settings dialog box used for exporting sound.

Fig. 3: MoviePlayer's Get Info dialog box and QuickTime's instrument selection dialog box.

Fig. 4: Editing a QuickTime Musical Instrument's Knob parameters using Apple's Atomic Editor.

Fig. 5: QDesign Music Codec options box for encoding sound, as viewed in MoviePlayer.

Fig. 6: Qualcomm option box for encoding sound, as viewed in MoviePlayer.

[Contact Sheet Info.]
Apple Computer
tel. (408) 996-1010; fax (408) 974-6615; Web www.apple.com