Localization and Section Controls
The following drawing will help us to describe the Player Localization
and Section Controls available on the Synful Orchestra Control Panel.

Room Size Controls
In Synful Orchestra instrument Players and the orchestra
Listener can be positioned in a rectangular room whose size can be adjusted.
Room Size W —
This control describes the width of the room in meters. The room width
can be adjusted from 1 to 100 meters. A typical value for W is 20-40 meters.
Room Size W is a Synthesizer Control that affects all the instances of
Synful Orchestra Synthesizer in a project. If you change the control in
one Synthesizer instance it will also be changed in all the other instances
in the project.
Room Size L —
This control describes the length of the room in meters. The room length
can be adjusted from 1 to 100 meters. A typical value for L is 1.6 * W.
Room Size
L is a Synthesizer Control that affects all the instances of Synful Orchestra
Synthesizer in a project.
Room Size H —
This control describes the height of the ceiling in the room in meters.
This control is not shown in the drawing above. A typical value for H
is W/1.6. The room height can be adjusted from 1 to 100 meters. Room Size
H is a Synthesizer Control that affects all the instances of Synful Orchestra
Synthesizer in a project.
golden ratio —
If this box is checked then the Room Size dimensions W, L, and H are forced
to the "Golden Ratio" where L is 1.62*W and W is 1.62*H. If
you adjust one of the dimensions all of them will change so that these
relationships are maintained. The "Golden Ratio" dates back
to the Ancient Greeks or before, and is known to have good acoustic properties.
golden ratio is a Synthesizer Control that affects all the instances of
Synful Orchestra Synthesizer in a project.
constrain ratio —
If this box is checked then the Room Size dimensions W, L, and H are forced
to maintain the current ratios between W, L and H. If you adjust one of
the dimensions all of them will change so that the current relationships
are maintained. constrain ratio is a Synthesizer Control that affects
all the instances of Synful Orchestra Synthesizer in a project. If golden
ratio is checked then it doesn't matter if constrain ratio is checked
on not.
Listener Location Controls
When using Room Size and
Listener Loc, and Player Loc controls Synful Orchestra produces a stereo
output whose left and right audio signals correspond to the signals that
arrive at the left and ear right ears of a virtual Listener sitting somewhere
in the room.
Listener Loc X —
This control determines the distance in meters of the virtual Listener
from the center of the room. If the value is negative then the Listener
is to the left of center. If the value is positive then the Listener is
to the right of center. In the drawing above Listener Loc X is positive
since the Listener is positioned to the right of center. Generally it
is best to leave Listener Loc X set to zero so
that the listener is in the middle of the room. Listener Loc X is a Synthesizer
Control that affects all the instances of Synful Orchestra Synthesizer
in a project.
Listener Loc Y —
This control determines the distance in meters of the virtual Listener
from the from the front wall behind the stage. The distance is always
positive and a typical value might be halfway back —
e.g. 40
meters in a room with L=80. Listener Loc Y is a Synthesizer Control that
affects all the instances of Synful Orchestra Synthesizer in a project.
Player Location Controls
In Synful Orchestra sound originates from a number of Players who are
positioned in the room —
generally,
but not necessarily, on the virtual Stage near the front of the room.
Player Loc X —
This control determines the distance in meters of the a Player from the
center of the room. If the value is negative then the Player is to the
left of center. If the value is positive then the Player is to the right
of center. In the drawing above the French Horn Player Loc X is positive
since the French Horn Player is positioned to the right of center. Unlike
the traditional MIDI
Pan, which is a MIDI controller associated with a Channel, Player Loc
X is associated with a Program and affects only the currently selected
Program. Reasons for this are discussed below. We can assign a Program
to multiple MIDI channels. For example, we may want to assign a French
Horn Program to MIDI channel one and two. However if the Program is the
same then the two French Horn Players will have the same location. This
is generally a bad idea, so it is better to make two copies of the French
Horn Program so that the locations can be separately adjusted. NOTE: it
is possible to have multiple Players in one Program corresponding to a
Section. See Section Controls for more details.
Player Loc Y —
This control determines the distance in meters of the a Player from the
front wall behind the stage. The distance is always positive and a typical
value is generally small reflecting the fact that the stage is generally
near the front of the room. Player Loc Y is a Program control with the
same considerations described for Player Loc X.
How Does a Real Listener Determine Where a Player Is Located
A real listener in a room perceives complex acoustic signals arriving
at the left and right ears. In the drawing above if the French Horn plays
alone then the listener first receives acoustic signals coming directly
in straight lines from the player. In the drawing above the sound from
the French Horn reaches the listeners right ear slightly before the left
ear since the distance to the right ear is shorter. This difference in
time is called Interaural Time Difference (ITD). In addition, the signal
to the right ear is slightly louder than the left ear largely because
the sound is increasingly attenuated over distance. This difference in
level is called Interaural Level Difference (ILD).
If the listener was positioned near the front and close to the left
wall then the sound to the left ear coming from the French Horn would
be considerably softer then to the right ear because the listeners head
would block some of the energy —
this is called "head shadow" and cause ILD to be large. Shortly
after the direct signals arrive at the ears the listener receives acoustic
signals that have been reflected off the right wall of the room. These
signals (and the signals reflected from the other walls, ceiling, etc.)
are referred to as Early Reflections. The early reflections from the right
wall arrive at the right ear before they arrive at the left ear. Also
the ILD is large due to head shadow . The reflections from the left wall
arrive after the reflections from the right wall
since the paths to the right wall and back to the listener are longer,
and again ILD is large due to head shadow. The listener's perception of
the location of the player in the room is largely due to the ITD and ILD
associated with the direct signals and early reflections.
When there are multiple players in a room then there are separate ITD
and ILD for the direct and early reflections associated with each player.
The result is that the individual players have separate perceived locations
which not only provides a sense of space but also helps the listener to
mentally separate the various parts in a complex musical piece.
Localization Mode Options
The localization mode options are Program controls. They affect only
the currently selected Program and the Player (or Players in the case
of a Section) associated with the Program. The
localization options other than midi pan generate synthetic direct and
early reflection signals with corresponding IAD and ITD for each player.
When there are many Players in an orchestra then this can result in considerable
computation. The fewer signals that are generated the lighter the computation.
midi pan and direct have the same amount of computation. 2 walls requires
more, and four walls requires the most computation. While selecting 4
walls provides the best direct and early reflection signals it also decreases
the number of available voices because of the added computation. These
options are radio buttons so only one option can be selected for a Program.
midi pan —
When this box is checked then traditional MIDI pan is used. Traditional
panning generates IAD but not ITD so it is a weak and ambiguous way to
create a sense of localization for recorded sound. With midi pan selected
the Room Size, Listener Loc and Player Loc controls are grayed out since
they have no effect. The MIDI pan control (cc10) determines the IAD for
the MIDI channel. One advantageous to midi pan is that it can be swept
in real-time. The Room Size, Listener Loc, and Player Loc controls cannot
be swept in real-time due to high computation requirement.
direct —
When this box is checked then Synful Orchestra generates the only left
and right ear direct acoustic signals corresponding to each Player. This
provides effective localization but lacks the richness of 2 walls or 4
walls.
2 walls —
When this box is checked then Synful Orchestra generates the direct signals
and the early reflections coming from the left and right walls corresponding
to each Player. This provides greater complexity and better localization
then the direct option but requires somewhat more computation.
4 walls —
When this box is checked then Synful Orchestra generates the direct signals
and the early reflections coming from the left, right, front, back walls
and ceiling corresponding to each Player. This provides the best complexity
and localization
at the cost of greater computation.
IMPORTANT NOTE FOR LOGIC USERS:
If you use Apple Logic and want to use the Synful Orchestra direct, 2
walls, or 4 walls localization options then you must set the MIDI pan
in Logic to the center or to off. This is because Logic performs panning
itself which will interfere with the more powerful Synful localization
modes.
Absorption Control
When sound is reflected from a wall part of the energy is absorbed.
The amount depends on the material the wall is made from —
velvet wall paper absorbs much more sound then bathroom tile.
Absorb —
This control determines the amount of attenuation in decibels for early
reflection signals due to different wall materials. Typical values are
-2 to -6 dB. This effects the currently selected Program only.
Section Controls
Synful Orchestra synthesizes sections. For example a violin section
with ten players is created from ten separate synthesized violins rather
than from a recording of an actual violin section. This allows great flexibility
in determining how the violin section sounds and behaves. Of course, the
players in a real violin section don't all sound exactly the same — this is what
gives the section its richness. Synful generates this richness in a highly
controllable way using the section controls. All
the section controls apply to the currently selected Program only.
Regardless of the settings of section controls on the Control Panel,
Synful
Orchestra guarantees certain kinds of performance variation across the
section. As described in RPM
- Reconstructive Phrase Modeling Synful Orchestra picks phrase fragments
— note
transition, sustains, etc —
from a database containing many phrases. When synthesizing sections Synful
Orchestra guarantees that at any given moment each Player in the section
plays a different phrase fragment from
the database. If there are ten players in a violin section and they all
play a slur from C to D then this transition is created by ten different
slur transition selected from the database. This is a key feature of Synful's
section synthesis. During a note sustain each Player plays a different
sustain segment from the database. This results in a different,
unsynchronized vibrato pattern for each player. This is another
essential feature for synthesis of realistic sounding sections.
num players —
This control determines the number of Players in a section. For example,
to create a Ten Violin Section Program make a copy of the basic Violin
Program, rename it to something like Ten_Violins and then set num_players
to 10. If you play a chord that has more notes then the number of players
then Synful Orchestra will temporarily add the necessary number of players
to fill the entire chord. In the special case where number of players
is set to 1, Synful Orchestra will interpret chords on a string instrument
as if they are multiple-stops. However, Synful Orchestra will not automatically
arpeggiate the multi-stop. You have to do that in your playing or sequence.
X spread —
The Players in a section are spread out in space over the stage. In the
drawing above there is an Eight Violin Section with the Players spread
out in the X and Y directions. The X spread control determines the spread
in meters in the X direction of the Players in the section. The players
are spread out around a center point. In the drawing above the red x mark
shows the center point for the violin section. The center point is determined
by the Program's Player Loc X and Player Loc Y controls. When the localization
mode for the Program is Direct, 2 Walls, or 4 Walls then Synful Orchestra
generates the IAD and ITD signals for the left and right ear of the listern
for each Player in the Section. This
is key to generating the sense of spatial distribution for the players.
X spread can also be used with midi pan mode in which case the panning
is adjusted differently for each Player to simulate something approaching
a spatial distribution although the effect is not as effective as with
the other localization modes. In the case of midi pan mode the control
is in arbitrary units going from the min to max values 0 to 100 of the
X spread control.
Y spread —
The Y spread
control determines the spread of Players in meters in the Y direction
around the center location. The center location is specified by the Program's
Player Loc X and Player Loc Y controls. The control has the same considerations
as Y spread. However, Y spread is disabled in midi pan mode.
time spread —
Players
in a section due not play rhythmically in perfect sync. Notes begin and
end at slightly different times. The time spread control determines the
amount of random variation in rhythmic sync across the section. Value
is in milliseconds however the value random variation are generally somewhat
large for long notes then for short notes. Typical values are 60 - 100
milliseconds.
detune —
Players
in a section due not play perfectly in tune. The perceived detuning generally
increases with pitch so a violin section playing in the high range of
the instrument sound more out of tune then when playing in the low range.
The detune control determines the amount of random detuning across the
section. The value is in cents —
1/100 of a half-step —
referenced to the mid-range of the instrument. Note that the unsynchronized
vibratos discussed above will contribute to a sense of detuning even when
the detune control is set to zero.
vel spread —
This control
spreads out MIDI
Velocities across the section. If the note-on MIDI velocity is 70 and
the vel spread is 10 then the various Players in the section will receive
MIDI velocities randomly distributed in
the range 65 to 75.
HT spread —
This control
spreads out Harmonic
Tilt across the section in order to accentuate timbral variation. If the
Program Harmonic Tilt control is set to -5 and HT spread is set to 20
the various
Players in the section will have Harmonic Tilts randomly distributed in
the range -15 to 5.
mod spread —
This control
spreads out MIDI Modulation Control (cc1) across the section. If MIDI
mod is currently 75 and
the mod spread is 20 then the various Players in the section will receive
MIDI mod controls randomly distributed in
the range 65 to 85.
CPU Power for Sections
Synful models each player in a section as a separate Synful Orchestra
RPM voice. This is different from a sampler where, for example, an entire
violin section is recorded and saved as a single sound file that then
represents a single sample. This approach provides maximum flexibility
for the user. The user does need to set up the individual Synful Orchestra
voices -- that is done automatically. However, all the voices require
CPU power. A 1.5 GHz laptop -- PC Pentium IV or MAC G4 -- is able to generate
a reasonable size orchestra completely in real-time. For example the included
Wagner Tristan und Isolde example, with 18 violins, 8 violas, 8 celli,
7 bass, and assorted winds is able to run in real-time on these laptops.
However, increasing the number of strings to 32 violins, 16 violas, 16
celli, 16 bass may cause the synthesis to stall on these laptops due to
insufficient CPU power. A more powerful desktop or server computer, especially
with multiple CPUs or CPU cores, willsupport larger real-time orchestras.
What Happens When the CPU Overloads
This depends on the host sequencer. In Apple Logic and Digital Performer
running the AU Synful Orchestra plugin, a polite message appears saying
the system has been overloaded. Nothing bad happens, you're work is not
lost, however the audio stops and you need to hit play again. In Cubase
the audio may mysteriously stop. Generally what has happened is that the
Synful Orchestra VST plugin has automatically gone into Bypass mode. To
get out of this first wait a few seconds -- the condition may fix itself.
If that doesn't work then go to the Synful Orchestra control panel. In
the upper left are two buttons that look like this
. The
left button is the plugin enable button. The right button is the plugin
bypass button. If the plugin has gone into bypass first click on the bypass
button to remove the plugin from the bypass state. Then click on the enable
button twice -- first click turns off the plugin, second turns it back
on. In very severe overload situations the system may hang up completely
and you will need to power off and restart the computer.
In
Sonar an overload may crash Sonar and you will have to reopen the program.
But I Need to Use a BIG ORCHESTRA!
There are several things you can do to get around the CPU overload problem:
Use a more powerful computer.
Freeze Tracks -- all of the modern sequencers
have the ability to "freeze" tracks. This is basically a very
convenient way to turn the track temporarily into a recording rather than
a live synthesized track. Check the documentation for each sequencer for
how to do this. You normally freeze tracks that you are not currently
working on since you cannot edit the midi or other parameters on a track
while it is frozen. Of course, you should freeze tracks with many players
if possible.
Temporarily Reduce the Number of Players -- While
you are working on tracks you can reduce the number of players in some
sections temporarily. Then when you're ready to produce the final output,
increase the number of players and export to an audio file. The export
operation will not overload the CPU.
Use
a combination of the techniques just mentioned.
Performance is Better with Delay for Expression ON
The danger of CPU overload is greater when Delay for Expression is OFF
for a number of tracks. Generally we suggesting having DFE on for most
tracks except actively recording on a track. This not only improves performance
but also makes the music sound better!
In version 2.3 of Synful Orchestra we did considerable work to improve
CPU usage so that sections work well on computers with moderate CPU power.
We will no doubt make further improvements in performance in the future
-- and of course the CPUs will also get faster.
Natural Sounding Divisi
Synful Orchestra sections simulate realistic and natural divisi. For
example, suppose MIDI channel one has its Program set to Ten_Violin, a
ten violin section Program you have created. If you play a monophonic
line on channel one then all players will play that line with appropriate
variations as described above. If you suddenly play a ten note chord on
channel one then each Player will play one note in the chord. This creates
a much more natural effect then a sampled violin section in which a ten
note chord may sound like it's being played by 100 players. The Synful
Orchestra section automatically adapts to the changing polyphony of the
part. If you play 3 note chords or polyphony on channel one then the ten
Players distribute themselves automatically 4-3-3 across the notes. If
you return to monophonic playing the all ten players return to the same
notes. If you have selected Ten_Violin and you play an 11
note chord then Synful Orchestra will add the necessary number of players,
temporarily, to fill the entire chord.
Why are Some Controls Disabled
If Localization Mode is set to "midi pan" then the Room Size,
Listener Loc, and Player Loc controls serve no purpose so they are disabled
and grayed out. Also when "num players" is set to 1 then the
various spread controls —
X spread, Y spread, etc. —
serve no purpose and are grayed out. Other examples of this kind of disabling
will occur in appropriate circumstances.
Why Do Some Controls Change When I Move Other Controls
If Room Size Y is set to 80 meters then Listener Loc Y, Player Loc Y
must be less than 80 meters. Adjusting the Room Size Y control will force
these and other control to stay "within the room". If Room Size
W is 20 and Player Loc X is 7 then X Spread is forced to be less 6 because
otherwise Players would be beyond the right
wall of the Room. These and other similar constraints are enforced as
you alter the localization and section controls.
How Does Synful's Localization Controls Work With Reverb Plugins
Synful Orchestra's Localization controls are not a substitute for a
good Reverberator. A high quality reverb generates early reflections followed
by the "reverb tank" made up of very many closely spaced decaying
reflections. Synful Orchestra generates the direct signals and first few
early reflections. The important contribution of Synful Orchestra's early
reflection generator is that it generates a different set of reflections
for each player. This greatly enhances the sense of spatial separation
and imaging associated with the orchestra. You still need to feed the
stereo output of Synful into a quality reverb plugin to create the impression
of a complete listening
space.
I Set a Player's Location Behind the Listener But it Didn't Sound Like
it Was Coming From the Back
Synful Orchestra's direct signals and early reflections are very effective
in positioning a Player to the left or right of the Listener. They are
much less effective at positioning the Player in front or in back of the
Listener, or above or below the Listener. These positioning effects require
a greater level of signal processing and computation that involves modelling
the shape of the Listener's ears, the shape of the head, etc. This is
of limited value for general orchestral listening and so is not implemented
in Synful Orchestra. Specialized spatialization plugins are commercially
available to create these kinds of effects. In a real auditorium the sense
of distance from the player is largely determined by the relative levels
of the direct and early reflections compared to the level of the "reverb
tank". By adjusting the wet/dry level of your reverb plugin you can
easily change this balance and better control the Listener's distance
from the orchestra.