The Harmonizer
Programmer’s Manual
The Harmonizer
Programmer’s Manual Page 4 of 97 Release 1.2.1
1999 Eventide, Inc.
GENERAL PRINCIPLES
OVERVIEW
This section will describe in general terms just what goes into constructing a program. Return to this
section if you ever feel like you’re being mired down in details later on.
First, the primary “stuff” of program construction is the “module." Modules are small, functional “chunks."
Some modules may have names that will be familiar to you, such as delay, reverb, filter,
pitchshifter, and eq. As you would expect, a delay module delays the signal at its input. A
reverb module adds reverb to the signal at its input. A filter module filters the signal at its input.
And so on.
Before going any further, let’s say you wanted to construct a program that delayed and filtered a signal. You
would begin either in VSigfile or the Patch Editor area with a “blank slate” that contained nothing but
representations of the inputs and outputs of the DSP that would run the program. You would then add a
delay module and a filter module. Lastly, you would connect one of the DSP’s inputs to the delay
module, the delay module’s
output to the filter module, and the filter module’s output to
one of the DSP’s outputs. The result, as seen in VSigfile, is shown above.
Most modules, delay and filter included, have “control inputs” that allow you to change parameters
associated with a given module. For example, a delay module has a control input that allows you to
change the delay time for the module (will it delay the signal 20ms or 1000ms?). A filter module has
three control inputs: one for the cutoff frequency, one for the resonance at the cutoff, and one to select the
type of filtering done by the module (lowpass, highpass, notch, or band).
We normally construct programs so that parameters such as the ones described above can be altered in the
PARAMETER area of the Harmonizer (like the factory presets you’ve probably already played with). Some things called
“userobject signals” are used in the construction of a program to create and organize menu pages of
parameters in the
PARAMETER area.
The three paragraphs above capture the three cornerstones of program construction in the Harmonizer.
1. We must connect appropriate modules to achieve a desired, overall audio effect.
2. We must control the parameters of the modules in a program so that the desired audio effect is
achieved.
3. We must make some of the parameters available in the PARAMETER area so that the user can “tweak”
the program to fit a particular situation.