You are here

Apple Notes

QuickTime 2.0 By Martin Russ
Published April 1995

After a couple of weeks spent trying to decipher the inner mysteries of QuickTime 2.0, Martin Russ devotes this month's Apple Notes to revealing the results...

Since Apple Notes first got hold of QuickTime 2.0, the Developer's Kit has been on the 'must see' list, but it has only been very recently that we actually managed to see an early beta release of it, thanks to a friendly Apple developer. Alongside the usual plethora of C code examples, there was the all‑important QuickTime Music Control Panel, which is the missing link between QuickTime and MIDI. The QuickTime 2.0 that comes as part of System 7.5 does not include this vital piece of software, and many MIDI users have been waiting to see how much functionality it provides (AppleLink had several desperate requests for it). Which is where the fun started.

Dropping the QuickTime Music Control Panel into the System Folder and rebooting finally gave access to the MIDI Controls, which initially proved to be a major disappointment. The dialogue box provides choices of Built‑in Synthesizer or two MIDI In ports. Selecting the built‑in internal synthesizer makes sense, since it allows the Roland set of samples to be used, as expected, but why MIDI In ports?

Since the Developer's Kit also includes the latest version of the MoviePlayer application, I launched that, so that I could investigate things further. The only reason that I could see for using the MIDI In ports was if you could drive the Mac's built‑in internal synthesizer from a MIDI source, but this seemed unlikely, since no previous sound synth plug‑in from Apple had allowed MIDI control, and anyway, QuickTime 2.0 is supposed to drive MIDI, not vice‑versa. With MIDI Manager running in the background, I opened the Patchbay to see what that said about the connection possibilities. On the left‑hand side, the usual Apple MIDI Driver icon showed the Printer and Modem ports, whilst on the righ‑hand side, a QuickTime icon had one output, and the QuickTime Music Control Panel appeared but provided no input or output ports. A few clicks quickly revealed that the labelling in the Control Panel is wrong — it should say MIDI Out, not In.

So the QuickTime Music Control Panel does exactly what you would expect: it allows you to select either the Mac's Built‑in internal sound synthesizer, which uses the Roland General MIDI (GM) sound sample set, or an external GM module. Connecting my GM module to the standard MIDI Interface on the Mac's modem port was easy — but what to play? The Developer's Kit does not include any sample QuickTime Music 'movies', so I had to make my own...

DIY Movie Soundtracks

It's easier than it might sound, and this is where things start to get interesting for musicians who might like to add music to QuickTime movies. Using the 'Open' menu option in MoviePlayer 2.0, I found my folder of GM MIDI Files, and the highlighted button changed to 'Convert...' which showed that the MIDI Files had been recognised, and that the conversion routines to QuickTime Music format were present.

After selecting a MIDI File, the conversion process took a few seconds to process the file, and then the usual QuickTime play window opened, except that it had just the title bar and controls — no graphic content means no window, of course. Playing the 'movie' produced music from the GM module, whilst using the QuickTime Music Control Panel to change over to the built‑in internal synthesizer then gave a similar output from the Mac's own audio system.

I say 'similar' here because the Mac does have some limitations in comparison to a GM module. Firstly, the sound quality is definitely 8‑bit in character, with quite a lot of quantisation noise. Secondly, the polyphony is very limited. The documentation in the Kit suggested that QuickTime Music could produce up to eight audio channels, which normally means 8‑note polyphonic, but I have seen claims that the main limitation is processor speed and/or RAM size. On my humble Mac IIsi, the polyphony did seem to be eight notes, which resulted in lots of note‑stealing for most GM files. Even so, producing multitimbral sampled sounds from a MIDI File played back as part of a QuickTime movie is impressive, especially since the playback instrument samples are provided with QuickTime 2.0.

This effectively means that you can write a GM tune (bearing in mind the limited polyphony of the Mac's internal GM sound source) and import it as a MIDI File into the QuickTime environment, and then use it as the music track for a QuickTime movie, certain that it will sound much the same if it is played back via the Mac's own speaker, or a GM module connected via MIDI. Compared to the high data rate that conventional audio tracks require, this is amazing. It means that there are going to be a lot of Mac graphics and video producers who will want suitably customised MIDI Files. Incorporating a MIDI File as the music track for a QuickTime movie is quick and relatively easy — for a musician with a sequencer, a GM module, and a Mac to try it out on.

Sounds

So what about the sounds themselves? Considering that the entire set of samples is squashed into 436Kb of 8‑bit storage, the quality is remarkably good. The special effects sounds are samples rather than the synthesized sounds that you find on some hardware GM modules. The mapping of the sounds is rather strange in places, with the 34 'Electric Bass Fingered' sound being used almost as a default. The 43 sounds chosen do cover most of the available timbres without leaving any gaping holes, though providing very little room for vari‑ation in sound. The developer's kit has several utilities which enable you to rework the GM sounds, so there may be scope for a little individuality. Of course, to anyone who has worked with the older 8‑bit computers from the '80s, like the Sinclair Spectrum or Commodore C64, QuickTime Music will sound wonderful!

Mixdown

The reason that I have concentrated here on preparing a MIDI File for importing into a QuickTime Movie via MoviePlayer 2.0 is that once it's converted, you don't have much scope for editing. I suspect that the conversion process merely takes the time‑stamped MIDI events in the MIDI File and re‑stamps them with the QuickTime internal timing system. Certainly, apart from re‑assigning instruments to tracks, and setting the overall volume, there are no other 'mixdown' type controls in MoviePlayer 2.0 — you can't even do basic things like mute a track or change its volume, for example. This means that you need to get the MIDI File correct before you convert it, because after that, it's playback only. More sophisticated editing controls may become available in future QuickTime Music applications, but I suspect that the 'Get the MIDI File right first' approach will be very popular.

Goodies

There's more to QuickTime 2.0 than just GM playback. Apart from Video, Audio and Music (MIDI) tracks, you can have Timecode tracks too, which can make identifying the location of individual frames much easier, and allow you to refer back to the original source videotape. Text tracks allow annotation and sub‑titling. MPEG tracks allow you to use movies encoded using the MPEG video compression scheme.

MoviePlayer 2.0 is rather more than just a player utility. By cutting and pasting bits of other movies together, you can assemble your own movies. It also supports System 7.5's Drag and Drop, which enables you to drag text, pictures or movies from one window to another — just as if you had used the Clipboard. And when you're adding in a music track to an existing video track, you can use the 'Add Scaled' option to tweak the timing of the music so that it fits the length of the video — great for rushes.

QuickTime 2.0 provides many of the features that you associate with film or video production, and puts them onto your Mac's screen. Playing around with video can be a great way to learn about editing, as well as testing how music works with pictures. Because QuickTime is also available for Windows, the resulting Movies can be shown on any personal computer: Mac or PC. If you've always thought that working with moving pictures was too expensive, think again.

Instrument Selection

Having opened a MIDI File via the 'Convert...' option, the instrumentation can be chosen by selecting the track and clicking on the 'Instrument' button.

This is the Instrument Selection dialogue box. This enables the instrument to be selected from any available synthesizer, and is organised around the General MIDI categories.

If the QuickTime Music Control Panel is set to use the Mac's own built‑in internal Roland sample sounds, the 'synthesizer' pop‑up looks like this. The Mac automatically chooses the highest quality synthesizer — although the Control Panel only lets you choose one synthesizer at present.

If the QuickTime Music Control Panel is set to use a General MIDI module via the MIDI Manager and the Mac's serial ports, then the 'synthesizer' pop‑up looks like this. Again, the Control Panel only allows one selection at once, so this pop‑up is somewhat superfluous.

The 'category' pop‑up allows rapid selection of the type of sound required for the chosen instrument.

Custom GM Files

In order to produce customised General MIDI compatible MIDI Files which are suitable for QuickTime Music Files, you need to do two things: restrict the polyphony to eight notes or less, and use only those GM sounds which are available in the Mac's Roland samples. Although the sounds which aren't present in the sample set still make a sound, they are remapped from existing samples, which means that your music will sound very different on the Mac and GM module. By using the 'same' named sounds you should minimise the differences.

Trying to produce low‑polyphony music can be quite a challenge. Complex drum parts are one obvious place to edit: hi‑hat, bass and snare are probably all you can allow yourself. This leaves five notes for everything else, so doubled block chords are definitely out! With one note for melody and another for bass, this leaves three for accompaniment, which is probably wisest used as two‑note chords with one extra note for decoration.

The instrument sounds present in the Roland sample set are:

  • 1 Acoustic Grand Piano
  • 5 Rhodes.Piano
  • 7 Harpsichord
  • 8 Clavinet
  • 12 Vibraphone
  • 13 Marimba
  • 17 Hammond Organ
  • 21 Reed Organ
  • 25 Nylon String Guitar
  • 31 Distortion
  • 34 Electric Bass Fingered
  • 37 Slap Bass 1
  • 41 Solo Violin
  • 48 Timpani
  • 49 String Ensemble 1
  • 53 Aah Choir
  • 56 Orchestra Hit
  • 57 Trumpet
  • 61 French Horn
  • 66 Alto Sax
  • 69 Oboe
  • 72 Clarinet
  • 74 Flute
  • 76 Pan Flute
  • 79 Whistle
  • 82 Synth Lead 2 (sawtooth)
  • 87 Synth Lead 7 (fifths)
  • 89 Synth Pad 1 (fantasy)
  • 90 Synth Pad 2 (warm)
  • 91 Synth Pad 3 (polysynth)
  • 105 Sitar
  • 106 Banjo
  • 114 Agogo
  • 115 Steel Drum
  • 118 Melodic Tom
  • 120 Reverse Cymbal
  • 123 Sea Shore
  • 124 Bird Tweet
  • 125 Telephone
  • 126 Helicopter
  • 127 Applause
  • 128 Gun Shot

(The numbers are the General MIDI Program Change numbers.)

There are two drum kits: Standard and Room, with the remaining eight GM kits mapped to them. 24 drum sounds are provided in the Standard Kit , although the Room Kit only provides 15 sounds.

Tip Of The Month

Tidying applications away into neat folders certainly keeps them under control — so much so that getting to a double‑clickable icon can become a chore! I have always been a devotee of labour‑saving gadgets, and the Alias is an excellent example of an under‑utilised widget that can actually make the Mac easier to use.

As the screenshot shows, I create aliases of the most frequently‑used application programs, and then drag the alias onto the Desktop. If you drop the icons near the main hard disk icon, they are relatively easy to get to — although I know of people who use the bottom of the screen rather than the top. If you're using System 7.5, the Launcher gives you the same sort of functionality, but in a separate window with larger icons — I prefer to save space and windows...

Information

Choosing 'Info...' on a movie can provide details of its data structure. Here the Music Track instrumentation is shown.

QuickTime Music tracks are very compact in comparison to conventional digitised audio. This 17.1 Kilobyte file produces just over two minutes of music with a data rate of 127 bytes per second. Digital audio with eight bits per sample and a comparable audio bandwidth would require more than 100 times the storage and data rate.

Limited individual information on tracks is available. In this example, the fourth track contains 88 Note On/Off events and no MIDI Controller events. Note that the music can be played from the instrument selection dialogue box.

Mapping

Here's the complete mapping of GM sounds and QuickTime 2.0 Instruments.

GMQUICKTIME
1 Acoustic Grand Piano1 Acoustic Grand Piano
2 Bright Piano1 Acoustic Grand Piano
3 Electric Grand Piano1 Acoustic Grand Piano
4 Honky‑Tonk Piano1 Acoustic Grand Piano
5 Elec.Piano5 Elec.Piano
6 Elec Piano (chorus)5 Elec.Piano
7 Harpsichord7 Harpsichord
8 Clavinet 8 Clavinet
9 Celeste12 Vibraphone
10 Glockenspiel12 Vibraphone
11 Music Box 12 Vibraphone
12 Vibraphone12 Vibraphone
13 Marimba13 Marimba
14 Xylophone13 Marimba
15 Tubular Bells13 Marimba
16 Dulcimer13 Marimba
17 Drawbar Organ17 Drawbar Organ
18 Percussive Organ17 Drawbar Organ
19 Rock Organ17 Drawbar Organ
20 Church Organ17 Drawbar Organ
21 Reed Organ21 Reed Organ
22 Accordion21 Reed Organ
23 Harmonica21 Reed Organ
24 Tango Accordion21 Reed Organ
25 Nylon Str Guitar25 Nylon Str Guitar
26 Steel Str Guitar25 Nylon Str Guitar
27 Elec Guitar (jazz)25 Nylon Str Guitar
28 Elec Guitar (clean)25 Nylon Str Guitar
29 Elec Guitar (muted)25 Nylon Str Guitar
30 Overdrive31 Distortion
31 Distortion31 Distortion
32 Harmonics31 Distortion
33 Acoust Bass34 Elec Bass (finger)
34 Elec Bass (finger) 34 Elec Bass (finger)
35 Electric Bass (pick)34 Elec. Bass (finger)
36 FretlessBass34 Elec Bass (finger)
37 Slap Bass 137 Slap Bass 1
38 Slap Bass 237 Slap Bass 1
39 Synth Bass 137 Slap Bass 1
40 Synth Bass 237 Slap Bass 1
41 Solo Violin41 Solo Violin
42 Solo Viola41 Solo Violin
43 Solo Cello41 Solo Violin
44 Contrabass41 Solo Violin
45 Trem Strings49 Str Ensemble 1
46 Pizz Strings25 Nylon Str Guitar
47 Orch Harp 25 Nylon Str Guitar
48 Timpani48 Timpani
49 Str Ensemble 149 Str Ensemble 1
50 Str Ensemble 249 Str Ensemble 1
51 Syn Strings 149 Str Ensemble 1
52 Syn Strings 249 Str Ensemble 1
53 Choir Aahs53 Choir Aahs
54 Voice Oohs53 Choir Aahs
55 Syn Voice90 Syn Pad 2 (warm)
56 Orchestra Hit56 Orchestra Hit
57 Trumpet57 Trumpet
58 Trombone57 Trumpet
59 Tuba57 Trumpet
60 MutedTrumpet57 Trumpet
61 French Horn61 French Horn
62 BrassSection57 Trumpet
63 Synth Brass57 Trumpet
64 SynthBrass 261 French Horn
65 Soprano Sax66 Alto Sax
66 Alto Sax66 Alto Sax
67 Tenor Sax66 Alto Sax
68 Baritone Sax66 Alto Sax
69 Oboe69 Oboe
70 English Horn69 Oboe
71 Bassoon69 Oboe
72 Clarinet72 Clarinet
73 Piccolo74 Flute
74 Flute74 Flute
75 Recorder74 Flute
76 Pan Flute76 Pan Flute
77 Bottle Blow76 Pan Flute
78 Shakuhachi 76 Pan Flute
79 Whistle79 Whistle
80 Ocarina79 Whistle
81 Syn Lead 1 (square)72 Clarinet
82 Syn Lead 2 (saw)82 Syn Lead 2 (saw)
83 Syn Lead 3 (calliope)76 Pan Flute
84 Syn Lead 4 (chiff)76 Pan Flute
85 Syn Lead 5 (charang)31 Distortion
86 Syn Lead 6 (voice)53 Choir Aahs
87 Syn Lead 7 (5ths)87 Syn Lead 7 (5ths)
88 Syn Lead 8 (bass/Lead)34 Elec Bass (finger)
89 Syn Pad 1 (fantasy)89 Syn Pad 1 (fantasy)
90 Syn Pad 2 (warm)90 Syn Pad 2 (warm)
91 Syn Pad 3 (polysyn) 91 Syn Pad 3 (polysyn)
92 Syn Pad 4 (choir)53 Choir Aahs
93 Syn Pad 5 (bowed)34 Elec Bass (finger)
94 Syn Pad 6 (metallic)34 Elec Bass (finger)
95 Syn Pad 7 (halo)90 Syn Pad 2 (warm)
96 Syn Pad 8 (sweep)90 Syn Pad 2 (warm)
97 SFX 1 (ice rain)90 Syn Pad 2 (warm)
98 SFX 2 (soundtrack)90 Synth Pad 2 (warm)
99 SFX 3 (crystal)89 Syn Pad 1 (fantasy)
100 SFX 4 (atmosphere)34 Elec Bass (finger)
101 SFX 5 (brightness)89 Syn Pad 1 (fantasy)
102SFX 6 (goblins)90 Syn Pad 2 (warm)
103 SFX 7 (echoes)53 Choir Aahs
104 SFX 8 (space)90 Syn Pad 2 (warm)
105 Sitar 105 Sitar
106 Banjo106 Banjo
107 Shamisen107 Shamisen
108 Koto34 Electric Bass (finger)
109 Kalimba13 Marimba
110 Bagpipes21 Reed Organ
111 Fiddle34 Elec Bass (finger)
112 Shanai69 Oboe
113 Tinklebell12 Vibraphone
114 Agogo114 Agogo
115 Steel Drum115 Steel Drum
116 Woodblock13 Marimba
117 Taiko Drum48 Timpani
118 Melodic Tom118 Melodic Tom
119 Syn Drum118 Melodic Tom
120 Reverse Cymbal120 Reverse Cymbal
121 Fret Noise34 Electric Bass (finger)
122 Breath Noise76 Pan Flute
123 Sea Shore123 Sea Shore
124 Bird Tweet124 Bird Tweet
125 Telephone125 Telephone
126 Helicopter126 Helicopter
127 Applause127 Applause
128 Gun Shot128 Gun Shot

Quicktime Times

The QuickTime 2.0 Developer's Kit comes with some examples of the sort of frame rates that you can expect on specific Macintosh models. Movies which are 320 x 240 pixels in size can be played back in 256 colours or thousands of colours at 15fps on a Mac IIfx, whilst on an LC475, the same Movie can play at 30fps. Any Quadra or PowerMac should be capable of playing the same Movie at 30fps at any colour depth (8, 16 or 24 bit)

Apple News In Brief

  • STATIC MOTION PICTURES
    Whilst the rest of the computing world goes rushing along an MPEG video roller‑coaster, the Mac remains MPEG card‑less. Rumours of an impending release by Radius seem to have evaporated, and Apple are still due to launch soon (of course, by the time you read this, the Apple card may well be out). MPEG conversion facilities are built into QuickTime 2.0, but the hardware for Macs seems to have stalled. With MPEG‑based VideoCD, CD‑I FMV, and several other contenders for the 'full‑screen video on a computer' market all fighting it out on PCs, CDIs and other hardware platforms, the 'home multimedia' purchaser may well come to regard the Mac as a very minor platform.
  • THE NEED FOR SPEED
    After producing last year's 'must have' product with RAM Doubler, Connectix may have another winner waiting in the wings. Rumoured to be called Speed Doubler, it is designed to double the speed at which 68000 code is emulated on a PowerPC by looking for loops and frequently used sections of code, and then translating them into native PowerPC code and cacheing them.

On The Net

World Wide Web addresses aren't always as inaccessible as you might think. Try 'http'ing to apple.com or claris.com. There again, the Internet Underground Music Archive at iuma.southern.com/IUMA/index_graphic.html) might make you think otherwise!