A SERVICE OF

logo

The Harmonizer
Programmer’s Manual
The Harmonizer
Programmer’s Manual Page 12 of 97 Release 1.2.1
1999 Eventide, Inc.
R
ESOURCES
A resource is something that is needed for the operation of a Harmonizer program -there are several
different kinds of resources. A program cannot run if it needs more of a particular resource than is
available.
Audio memory
Modules that store audio for brief periods of time use audio memory. Modules that use audio memory
include modules in the delay, filter, pitch shift, and reverb groups. Some modules contain “specifiers”
(see below)
that increase or decrease the amount of audio memory used by either varying the number of audio channels
or by specifying the amount of delay explicitly.
Signal Processing
Modules that perform operations on audio use signal processing. The amount of processing performed by a
module can only be changed via specifiers (see below.) This is important, as the amount of signal processing that
can be done in any given period is finite. Modules that perform complex effects on audio use more
processing than those that perform simple effects. For example, the reverb_a module uses more
processing power than the delay module, even though the delay module might use more audio
memory.
User Interface and Control Signal Memory
Interface memory includes memory used to store text, adjustable range limits, default values, control inputs,
control outputs, and any data used by “control” modules. Modules that use text fields consume a large
amount of this kind of memory. For instance, it is possible to use up all of the user interface memory with
just two textblock modules if each contains enough lines of text (See the Modules Section for a closer
look at the textblock module).
Control Processing
Control processing is a resource that cannot be exhausted, though it can be strained. The Harmonizer will
repetitively process everything that comes under the control process category as often as possible. Control
operations will get slower as more operations are required. For instance, if a single menu page has eight
values displayed that are all changing rapidly, the display may appear to update slowly. Typically, control
values are updated about 100 times a second.
S
PECIFIERS
A specifier is a control that affects a module's behavior. For example, a delay module might have a specifier
that sets the maximum delay time a user can enter. A pitchshifter module might have a specifier that
sets the number of pitchshifting voices used by the module. A module may have several specifiers.
Specifiers are only
adjustable in the Patch Editor area or in VSigfile (i.e. specifiers can never be altered in the
PARAMETER area). There is no input or output for specifiers; they reside “inside” a module (you’ll learn how
to access the “inside” of a module in the VSigfile or Patch Editor chapters).
Specifiers have the following features:
they are extremely efficient in terms of resources. (A module with a specifier for a given characteristic is
more efficient than a module with a control input for that characteristic.)
they can change the amount of resources that a module needs.