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