316 lines
17 KiB
Perl
316 lines
17 KiB
Perl
[To be published in Computer Music Journal 18:4 (Winter 94)]
|
|
|
|
ZIPI: Origins and Motivations
|
|
|
|
Keith McMillen
|
|
Zeta Music/Gibson Western Innovation Zone
|
|
2560 9th St. Suite 212
|
|
Berkeley, California 94710 USA
|
|
McMillen@CNMAT.Berkeley.edu
|
|
|
|
The success of alternate controllers has been less than overwhelming in the
|
|
history of electronic music. The predominant controller for electronic music
|
|
synthesizers has been the piano or organ keyboard. Beside the widespread
|
|
availability of pianos and organs and the people who play them, the very
|
|
nature of the keyboard makes it an ideal choice from an implementor's point
|
|
of view.
|
|
|
|
Keyboard-style instruments decouple the player from the sound generating
|
|
element. The strike of a finger on a key starts a chain of events that
|
|
produces a sound. After a key is struck the greatest creative choice left to
|
|
the musician is when to release it. This series of key closures and releases
|
|
is the simplest form of information that can be used to control a
|
|
synthesizer.
|
|
|
|
The early commercially available synthesizers (Moog's MiniMoog, the ARP
|
|
Odyssey, or the EMS Putney VCS-3) were monophonic and non-dynamic. As the
|
|
technology evolved, instruments became polyphonic and capable of wide
|
|
dynamic response (e.g., the Yamaha DX-7). The control information fed to the
|
|
synthesis engine grew to include how fast the key was struck (the MIDI key
|
|
velocity). Joysticks, modulation wheels, after-touch, and foot-pedals added
|
|
the continuous element to keyboard control.
|
|
|
|
Historically, this is not unfamiliar to keyboard players. Pipe organs are
|
|
non-dynamic but volume can be controlled by foot pedal. In many ways the
|
|
connection of keyboards to synthesizers resulted in very little loss of
|
|
familiarity of control with a large gain in timbral choice.
|
|
|
|
For musicians trained on other instruments, the option of synthesis has not
|
|
been attractive. Woodwinds, bowed strings, and brass instruments all place
|
|
the player in direct physical contact with the vibrating element---reeds,
|
|
strings, or columns of air. Instead of limited control of dozens of notes
|
|
these instruments offer subtle and intimate control over one or a few notes.
|
|
Whether to "trade in" this control for a wider tonal palette is a difficult
|
|
decision.
|
|
|
|
|
|
MIDI and Keyboards
|
|
==================
|
|
|
|
MIDI has been serving our interface needs for over a decade. Although many
|
|
have criticized MIDI (Loy 1985; Moore 1988; Scholz 1991), no one has done
|
|
much about its obvious problems. Alternate controllers have not been a major
|
|
factor in the business of electronic music, and therefore have not been well
|
|
accommodated by the industry. They represent a challenging problem both
|
|
technically and economically. The persistence of an interface standard that
|
|
makes the necessary extensions for nuance and control difficult if not
|
|
impossible has not helped.
|
|
|
|
The connection of keyboards to sample playback sound modules is well served
|
|
by MIDI. Even the speed of MIDI (31.25 kBaud) is adequate for transmitting
|
|
data using the event-based nature of a keyboard. A ten-note chord can be
|
|
sent in 6.7 msec, a delay which is on the borderline of being imperceptible.
|
|
The continuous controller information generated from a keyboard usually has
|
|
no more than three parameters (pitch bend, modulation, and after-touch),
|
|
keeping the bit count low.
|
|
|
|
Problems occur, however, when trying to connect alternate controllers to
|
|
synthesizers (Muir and McMillen 1986). Polyphonic instruments such as guitar
|
|
and violin can easily "flood" a MIDI channel with data. For example, simply
|
|
updating 7-bit pitch bend and volume 100 times a second for six guitar
|
|
strings exceeds MIDI's bandwidth:
|
|
|
|
6 strings * (3 pitch bytes + 3 volume bytes) * 10 bits / 0.01 sec = 36.0 kBaud
|
|
|
|
(MIDI takes 10 bits to transmit a 7 bit value).
|
|
|
|
Independent of bandwidth, MIDI also represents data in a manner that assumes
|
|
the controller is a keyboard or at least a percussive device. The MIDI
|
|
"note-on" command is an indivisible integration of timing, pitch, and
|
|
loudness (velocity) information. This is completely appropriate for a
|
|
keyboard; every time a key is struck the information for pitch, velocity,
|
|
and the timing of the "note" is known simultaneously and is sent out over
|
|
MIDI. Every modification of one of these three values is accompanied by a
|
|
change, or at least a reassertion, of the other two.
|
|
|
|
For an instrument of continuous nature, such as a violin, these parameters
|
|
are often decoupled. One hand generally determines timing and loudness and
|
|
the other decides pitch. They can and do change independently of each other.
|
|
Furthermore, the timing of a note is not as simple as the pressing of a
|
|
button. Notes can come into audibility gradually as in a crescendo. MIDI
|
|
requires that an on/off decision be made at some volume threshold. When this
|
|
threshold is met, the velocity value sent in a MIDI command will usually be
|
|
the value of this threshold, making the velocity data useless.
|
|
|
|
MIDI does provide some facility for continuous volume change (controller
|
|
#7), and for pitch change without articulation. Some synthesizers respond to
|
|
legato-style commands. Pitch bend can vary pitch up and down up to one
|
|
octave but with a resolution of only 5.1 divisions per semitone (19.6 cents).
|
|
|
|
|
|
The Good Old Days
|
|
=================
|
|
|
|
Do you remember the days before MIDI? Most available synthesizers were
|
|
analog and used analog voltages to represent musical values. Articulation
|
|
was separate from pitch and all controllable parameters were on equal
|
|
footing. Bandwidth and resolution were not concerns but good intonation was
|
|
a perpetual effort---a lot like playing a violin.
|
|
|
|
The integration of the 8-bit microprocessor into synthesizers largely solved
|
|
the tuning issues. The division of the octave so as to be easily represented
|
|
with 8 bits produced a strong bias for equal-tempered semitones. Combine
|
|
this with the irresistible desire of CPUs to communicate and you soon get
|
|
MIDI.
|
|
|
|
Connecting violins and guitars to digitally controlled analog synthesizers
|
|
was still possible. With some cooperation from the manufacturers (Sequential
|
|
Circuits, Oberheim, and Moog), analog controls extracted from the string and
|
|
injected into control voltage sum nodes could produce an intimate connection
|
|
between the controller and the synthesizer. Pitch bends and dynamic changes
|
|
were smooth and responsive. Pitch stability remained a problem as this
|
|
method bypassed some of the automatic tuning functions.
|
|
|
|
The emergence of frequency modulation (FM) and other methods of digital
|
|
synthesis made voltage-controlled oscillators (VCOs) and filters seem
|
|
quaint, and won great popularity because of the clarity and timbral variety
|
|
that these techniques offered. Unfortunately, these forms of sound
|
|
generation closed off many of the control points to synthesis. At this time,
|
|
alternate controller manufacturers were forced out of the hardware, and the
|
|
only practical point of entry was through MIDI. While simplifying the
|
|
connection, the loss of control was disappointing. At best, the style of
|
|
playing guitar or violin was forced into the language of the keyboard.
|
|
|
|
This did not preclude processing of the audio signal out of the synthesizer.
|
|
Several synthesizers have individual outputs for each voice. These could be
|
|
mapped to a specific string from the controller and modulated in the analog
|
|
domain based on information extracted from the string.
|
|
|
|
One of the most satisfying examples of this was the connection of a Zeta
|
|
Mirror 6 model fret-scanning guitar controller (Wait 1989) to a Yamaha
|
|
TX-802 FM synthesizer operating in legato mode. Each of six outputs from the
|
|
TX-802 was routed back to the Mirror 6 where it passed through a
|
|
voltage-controlled amplifier (VCA). This VCA was then controlled by an
|
|
envelope follower tracking the energy of one of the strings. The six VCA
|
|
outputs were summed and fed to an amplifier. Guitarists marveled at how
|
|
smoothly responsive the instrument felt and the great intimacy of the
|
|
control over synthesis. The simple use of continuous dynamic control
|
|
returned much of the musical nuance to the interface.
|
|
|
|
This did, however, limit the choice of synthesizers for the users of
|
|
alternate controllers. The emergence of sampling and its eventual
|
|
monopolization of the synthesizer market created new problems for
|
|
interfaces. The frequency of FM oscillators and VCOs are continuously
|
|
variable over the entire range of pitch. Samples, as the name implies, are
|
|
not, and require swapping of files that cover specific pitch ranges in order
|
|
to cover a wide range of pitches. Playing a trill across a sample boundary
|
|
results in discontinuous spectral envelopes for many sampled sounds.
|
|
|
|
Articulation for FM and VCOs come from external envelopes that can be varied
|
|
based upon input parameters from controllers. With sampling, the attack
|
|
character of the sampled instrument is inherent in the wave table. Timbral
|
|
changes are restricted to, at best, simple filtering or cross-fading between
|
|
fixed sounds. Even something as personal as vibrato is often captured by the
|
|
sample and is not under the performer's control.
|
|
|
|
The "skin-deep" beauty of sampling has left many musicians longing for a
|
|
more meaningful conversation with their instruments. Nostalgia has even
|
|
created a demand for older voltage-controlled synthesizers. Our group
|
|
recently completed the design of the Oberheim OBMx, an analog twelve-voice
|
|
subtractive synthesizer. One reviewer said of it, "it has what synthesizers
|
|
have been missing---a personality" (Aiken 1994). This willingness to give up
|
|
the accurate reproduction of acoustic instruments for control is
|
|
understandable but the situation demanding this choice is regrettable.
|
|
|
|
|
|
Breaking the Chain
|
|
==================
|
|
|
|
The loudest complaint about alternate controllers that extract information
|
|
from traditional instruments is the time delay between the performer's
|
|
gesture and the audible response from the synthesizer. However, the Zeta
|
|
Mirror 6 guitar, using a combination of switched frets and pitch analysis,
|
|
restricted latencies to less than 6 msec over most of its range. With the
|
|
delay issues removed, continuous amplitude control became the next, most
|
|
obvious, requirement. The technique previously described of controlling the
|
|
audio in the post-MIDI analog domain met this need.
|
|
|
|
Amplitude control is essential but not sufficient; many instrumentalists can
|
|
change the timbre of a note as it evolves over time. The mapping of timbral
|
|
information extracted from the instrument onto the synthetic voice or voices
|
|
is the next step for returning control to the performer. This too could be
|
|
handled in the post-MIDI audio path, but the requirement for greater
|
|
flexibility and more elaborate processing of control information is best
|
|
solved in the digital domain. The need for a new music description language,
|
|
and the means to transport this information in a high speed deterministic
|
|
network, became clear to us.
|
|
|
|
The first concepts for what was to become the ZIPI musical data language
|
|
started in the fall of 1989, coinciding with the start of intense
|
|
collaboration of Zeta Music and the Center for New Music and Audio
|
|
Technology (CNMAT) at the University of California, Berkeley. In order to
|
|
successfully improve the keyboard-MIDI-sampler path, replacements were
|
|
needed for all three of the elements in the chain. Since that date, research
|
|
has focused on the Infinity Box (a gesture-guided pitch and timbre to ZIPI
|
|
converter), the ZIPI network and its specification, and Frisco (an additive
|
|
resynthesis engine with a control structure that will respond to ZIPI MPDL
|
|
commands).
|
|
|
|
|
|
The Status of ZIPI and Related Projects
|
|
=======================================
|
|
|
|
As of this writing (June 1994) the physical layer of ZIPI has been
|
|
implemented using a ring of Intel 80386-based personal computers with Zilog
|
|
8530 cards with ZIPI PALs and current loop hardware installed. Software for
|
|
the monitor and nodes has been written for interrupt, polled, and DMA access
|
|
methods. Data link and basic network services are functioning. The polled
|
|
approach is the only viable method for an Intel 80386-based machine since
|
|
the MS-DOS operating system's interrupt latencies are too great to allow
|
|
even 250 kBaud operation. DMA requires the capture of an entire packet by
|
|
the monitor before it can be parsed, thus slowing the ring. All code
|
|
development for ZIPI is written in the C programming language with an
|
|
emphasis on portability to other processors.
|
|
|
|
By the time this article is published (December 1994), we will post some
|
|
ZIPI-related software to the Computer Music Journal's ftp site,
|
|
mitpress.mit.edu, in the directory /pub/Computer-Music-Journal/Code/ZIPI.
|
|
|
|
A stand-alone ZIPI hub is in development. This will use a Motorola MC68302
|
|
MPU as the ring monitor with four ZIPI connections, 2 MIDI ports (in and
|
|
out), and an interface to a computer bus. Additional ZIPI ports can be added
|
|
with "dumb" hubs up to the 253 device limit.
|
|
|
|
The "Infinity Box" (described in the "ZIPI Examples" article) will be the
|
|
first ZIPI controller. Planned release time for this is early 1995. Several
|
|
prototypes are already in operation, yielding FFT updates for 6 guitar
|
|
strings every 8 msec. (Infinity can be driven with one to six audio inputs
|
|
allowing it to work with most instruments, i.e., violin, saxophone, cello,
|
|
flute, etc.) This spectral data is passed from a signal processor (Motorola
|
|
DSP56002) to a general-purpose processor (Motorola MC68332) where it
|
|
generates ZIPI-formatted data for use by its internal sound engine and for
|
|
transmission out the ZIPI port. Additionally, a subset of the ZIPI data is
|
|
extracted and sent out a MIDI port.
|
|
|
|
The "Frisco" software is at this point running on Silicon Graphics, Inc.
|
|
Indigo workstations. Polyphonic "sample quality" sounds are being generated
|
|
in real time under a ZIPI-like control structure. Since this technique uses
|
|
hundreds of oscillators to resynthesize analyzed sounds, intelligent
|
|
high-level control over these oscillators yields a powerful synthesis
|
|
technique that is capable of great realism as well as subtle, intuitive
|
|
musical control. Presently a Macintosh computer running the Max software
|
|
communicates MPDL control information using IP/UDP packets over Ethernet. A
|
|
planned self-contained rack-mount version should be available in 1995. This
|
|
device will have ZIPI, MIDI and Ethernet inputs.
|
|
|
|
Just as the RS-232 serial connection standard continues to exist along with
|
|
Ethernet, we have no illusions that ZIPI will replace MIDI. Likewise, just
|
|
as MIDI has been pressed into service in areas never intended by its
|
|
designers (machine control, mixer automation, lighting), we can't fully
|
|
anticipate other manufacturers' networking needs.
|
|
|
|
ZIPI was presented to the industry at the winter NAMM shows in January 1993
|
|
and 1994. Participation and suggestions of many companies have added much to
|
|
the scope and practicality of what is presented here. We encourage readers
|
|
to suggest details for additional application layers, such as machine
|
|
control, studio automation, and sample dump and audio standards.
|
|
|
|
We hope this series of articles provides an understanding of the basics of
|
|
ZIPI, and, even moreso, a stimulus for comments, additions, and discussion
|
|
of user concerns. A more detailed specification of the ZIPI network is
|
|
available upon request. Please direct comments to the following address:
|
|
|
|
ZIPI Group
|
|
G-WIZ
|
|
2560 9th St., Suite 212
|
|
Berkeley, California 94710, USA
|
|
electronic mail: zipi@CNMAT.Berkeley.edu
|
|
|
|
|
|
Acknowledgments
|
|
===============
|
|
|
|
This work was supported in part by Grant C92-048 from the California State
|
|
Department of Commerce Competitive Technologies Program to CNMAT and Zeta
|
|
Music Systems, Inc. We would also like to thank the following individuals
|
|
for their valued comments, sometimes very critical, regarding the ZIPI and
|
|
MPDL specification: Jim Aiken, David Anderson, Marie-Dominique Baudot,
|
|
Richard Bugg, Tim Canning, Chuck Carlson, Lynx Crowe, Rob Currie, Steve
|
|
Curtin, Peter Desain, Kim Flint, Adrian Freed, Guy Garnett, Mark Goldstein,
|
|
Henkjan Honing, Dean Jacobs, Henry Juszkiewicz, Michael Land, Carl Malone,
|
|
Dana Massie, Bill Mauchly, Peter McConnell, F. Richard Moore, Chris Muir,
|
|
David Oppenheim, Stephen Travis Pope, Rob Poor, Miller Puckette, John
|
|
Senior, Warren Sirota, John Snell, Michael Stewart, Tovar, and David
|
|
Zicarelli.
|
|
|
|
|
|
References
|
|
==========
|
|
|
|
Aiken, J. 1994. "Oberheim OBMX Keyboard Report." *Keyboard* 20(8).
|
|
|
|
Loy, D. G. 1985. "Musicians Make a Standard: The MIDI Phenomenon." *Computer
|
|
Music Journal *9(4): 8-26.
|
|
|
|
Moore, F. R. 1988. "The Dysfunctions of MIDI." *Computer Music Journal
|
|
*12(1): 19-28.
|
|
|
|
Muir, C., and K. McMillen. 1986. "What's Missing in MIDI?" *Guitar Player*
|
|
June 1986.
|
|
|
|
Scholz, C. 1991. "A proposed extension to the MIDI specification concerning
|
|
tuning." *Computer Music Journal* 15(1): 49-54.
|
|
|
|
Wait, B. 1989. *Mirror-6 MIDI Guitar Controller Owner's Manual* Oakland,
|
|
California: Zeta Music Systems, Inc.
|