CONTROL OF VST PLUG-INS USING OSC
Michael Zbyszyiski Adrian Freed
Center for New Music and Audio Technologies (CNMAT)
Department of Music
University of California, Berkeley
1750 Arch Street
Berkeley, CA, USA
{mzed, adrian} @cnmat.berkeley.edu
ABSTRACT
The basic control structure of VST audio plug-ins can
limit their usefulness. Control can be improved through
the use of Open Sound Control by developing a flexible
name space that employs multiple, intuitive parameter
names (and aliases), higher-level controls and range
mapping, simplifying control for the user. We will
demonstrate these ideas with Max/MSP patches that
repackage VST plug-ins in a more usable way and also
introduce the idea that plug-in interfaces themselves can
be improved by building in a well-formed OSC name
space. Such a name space would enhance the longevity
and flexibility of finished musical works. We will also
show that when the plug-in is controlled directly with
OSC atomicity and queries, control could be further
improved.
1. INTRODUCTION
While audio plug-ins are extremely useful, limitations of
their control structure can make them unwieldy to use.
Specifically, the name space of each VST plug-in [1] is
flat and populated by parameter names that have been
carefully chosen by the designers of the plug-in, but do
not necessarily represent the terminology or language
preferred by the user. Parameter names are mapped
through a generic range (0. to 1.) without informing the
user about the mapping range or the specific units that
are employed inside the plug-in, and each message
controls only one parameter.
Through the use of Open Sound Control (OSC)
[2], a flexible name space can be developed that
employs multiple, intuitive parameter names (and
aliases), higher-level controls and range mapping,
simplifying control for the user. We will demonstrate
these ideas with Max/MSP patches that repackage VST
plug-ins in a more usable way and also introduce the
idea that plug-in interfaces themselves can be improved
by building in a well-formed OSC name space. We will
also suggest ways (e.g., atomicity and queries) that
control could be further improved if the plug-in could be
controlled directly with OSC.
In addition to creating a more useable control
structure, careful use of the OSC abstractions proposed
here will allow composers and performers to create
more fully documented works than can be easily
updated with changing technologies. A thoughtfully
designed name space can separate the musical intention
from the particular plug-in, allowing composers to adapt
and repurpose pieces as plug-ins evolve.
2. Problems with VST Control Structure
2.1. Names Dictated by Plug-In Designers
2.1.1.
More intuitive names
Many audio processing plug-ins fall into typical
categories, such as dynamics processors or reverbs.
Each specific user has expectations for the names of the
parameters in an archetypical reverb, for instance, which
are determined by that user's technical and linguistic
background. Where one user might expect a parameter
called "Wet Level," another might be more familiar
with "Reverb Gain." Users must adapt to the naming
scheme of the plug-in designer. This complicates the
use of multiple plug-ins from disparate sources; in
Max/MSP, for example, the user might need to
constantly change naming schemes to do something as
simple as auditioning multiple reverbs with similar
parameter settings.
2.1.2.
Possibility of aliases
The use of a rich OSC name space provides the
opportunity for multiple aliases to the same parameter.
An intelligent naming scheme would direct both "Wet
Level" and "Reverb Gain" to the same parameter,
allowing the user to focus on the specifics of controlling
the sound. If the user changes reverb plug-ins, they
could continue with their preferred naming scheme for
the generic parameters. They could concentrate on the
sonic differences between reverb algorithms, rather then
the naming idiosyncrasies of each design. Similarly,
different users could address the same patch using the
naming scheme that is most familiar to them.
2.1.3.
Simplified reconstruction
Another advantage to a carefully designed name space
would come when documenting, preserving, or
reconstructing a finished musical work. Because the
musician's original sonic intent would be represented in
a form that was not tied to a specific plug-in
technology, it could be easily understood and adapted to