(21 August 1996, David Van Brink)
C1Q: How do I add custom instruments to a movie?
C1A: Two ways. First, using MoviePlayer 2.5 with authoring extras, you can drag System 7 Sounds right into the music track "instruments" panel. The panel will then construct an atomic instrument around that audio sample. (Note that you cannot drag sounds right out of the System file; you'll need to copy them to the desktop or elsewhere first.)Second, you can programmatically open up the sample descriptions of a music track, and parse the event lists there. Part of the event list will be "general events" with subtypes of "note request" or "atomic instrument."
C2Q: QuickTime music tracks sound different in QuickTime
2.5 than they did in 2.1. The drums are a bit clearer sounding, but the
mix is different! What up?
C2A: The relative volumes of the instruments has been changed quite a bit. It is now significantly closer to the volumes produced by a Roland General MIDI Sound Canvas synthesizer. In the future, we will continue to use the Sound Canvas as a reference point for such fine tuning.
C3Q: What's up with the MIDI Manager, and OMS? and
FMS?
C3A: QTMA can route music control data through the MIDI Manager or OMS, if present. FMS claims to have OMS compatibility, although we have not tested that. In the case of the software-based synthesizer, "QuickTime Music Synthesizer," neither MIDI Manager nor OMS are needed. In the future, we intend to support very simple MIDI configurations without requiring MIDI Manager nor OMS.
C4A: It's called "atomic" because its based on some data structures called "atoms". An atomic instrument is a fairly simple format for a sample-based musical instrument description. It allows multiple samples for different key ranges (useful for drum kits and multisampled sounds), some volume envelope adjustment, and volume and pitch LFO's. Also, sensitivity to velocity and the modulation wheel can be adjusted. Many of these parameters may be adjusted for each key range.
An atomic instrument can appear either in the sample description of the music track of a QuickTime movie (the custom instrument is attached), or as part of a system extension. If the instrument is part of a system extension, and a movie uses it, you run the risk of taking the movie someplace where the instrument is not available. In that case, one of the standard "General MIDI" instruments will be substituted.
C5A: The set of users we aimed to support with QuickTime 2.5 are the vast majority who have no synthesizers at all. To this end, we provided a flexible and efficient software synthesizer. The next largest group of users are those with a simple General MIDI module hooked up through the serial port. That is why the QuickTime Settings: Music control panel offers those choices.
So, how can we use some random MIDI module with QuickTime? The first and least interesting way is to simply select "General MIDI" in the control panel and hope for the best. QTMA will play the first instrument it needs on channel 1, the second on channel 2, and so on (excepting drums, which are always on channel 10). But, there is no guarantee that a particular QuickTime movie will play on the same channels each time; if another movie is already open, those channels may not be available. Another problem with simply treating a MIDI module as a GM device is that the Instrument Picker will display an incorrect list of instruments for that device.
The next best thing is to use the more elaborate configuration utility, "QTMA Configuration", and the system extension called "MIDI Synthesizer" (which is a QuickTime Music Component), to inform QTMA about your MIDI setup, channel by channel. This way, you can at least control exactly which MIDI channel each movie part plays on, and name the channels according to the device. In this case, the instrument picker will display the available instruments as "Program 1" to "Program 128", which is slightly better than incorrectly presenting the General MIDI instrument set.
The best solution, however, is to use a QuickTime Music Component which supports that particular kind of synthesizer. We have, currently, components for the Roland Sound Canvas and MT-32, the Yamaha FB-01, and the Oberheim Matrix 1000. None of these are officially supported by Apple; they are provided as a courtesy to the few of us who wish to push the QTMA envelope slightly. Also, there is freely available source code with examples of synthesizer components. If you write one, feel free to send it to me (dvb@apple.com) and I will add it to this site (with your name in big letters, of course).
FAQ1Q: What does "catechism" mean?
FAQ1A: I'm glad you asked. It's a method of teaching religious
beliefs by means of a question-and-answer set which should be studied carefully,
to guide the student to a correct way of thinking.