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.
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.
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 -- 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.
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 modeling 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.