THE PATCH
The Patch is the basic template for producing a timbre, regardless of frequency/pitch. A new Patch Bank comes with a single Patch, with a single Oscillator set to generate a sine wave. You’ll probably want something more interesting than that — this chapter describes how to add additional Oscillators, add Modulators, and change waveforms. Subsequent chapters will describe Envelopes and Effects.
A new Patch Bank includes a single Patch. The last chapter described adding and deleting Patches, so I assume that is old hat by now. Much like Patch Banks, you can assign a descriptive name – there is no limit to the length of this name, but again, it is best practice to keep it within the display size of the Patch Name edit box and its display in the Patch List. To the right of the Patch Name field, you will find an icon to add Patch Notes – it is not required, but may be informational to describe aspects of the patch in a longer format. Patch Notes accepts any Unicode character.
Each Patch has its own overall Gain parameter, in decibels. When sounds generated by a Patch are playing alongside sounds from other Patches, it may be helpful to punch up these sounds in the mix, or keep them low and in the background. Gain has a range of negative infinity (complete silence) to +18 db.
The most common type of Patch is the Concrete Patch. Concrete Patches are directly responsible for sample generation. Other types of Patches are Keyboard Splits, Drum Patches, and Vector Synth Patches; the other Patch types, however, ultimately, simply aggregate Concrete Patches, and rely on them for generating samples. In the documentation, the term “Patch” usually refers to Concrete Patches; the term “Concrete Patch” will only appear when context isn’t clear, and other Patch types will be referenced by their full names.
The biggest section of the window is devoted to editing the components of the Patch. The overall Patch components are divided into two tabs, Modulation and Effects Send. In both cases, the window shows a tree of components, with the Mixer at the root. On the Modulation tab shows the entire Modulation Tree for the patch, with all oscillators wired directly to the mixer in the row directly above the mixer, and any modulators in rows above them. The diagram is inspired by the FM synthesis algorithm diagrams of the venerated, if not venerable, Yamaha DX7 and its successors, though the diagrams encompass a lot more in the Isle I-1. Think of sound generation starting at the top of the Modulation tree, extending down through all of the carrier Oscillators, with the finished timbre (pre-effects) directed to the Mixer, at the tree root. A similar Effects Tree diagram is displayed on the Effects Send tab, but in this case, think of the sounds starting at the Mixer, then working their way up the tree, with the final, post-effects sound being the sum of the leaves of the Effects Tree.
EDITING MIXER SETTINGS
When viewing the Modulation Tree, the Mixer is represented by a single box, with the lone (not lonely) word “Mixer” in the center; if you click on this box, the Mixer Settings panel appears. From this panel, you can:
- Add or remove oscillators wired directly to the Mixer, and adjust their pan position and levels in the overall sound’s mix. These Oscillators are the roots of their own modulation trees, and removing them will remove all downstream, non-shared, non-system modulators.
- Define the Amplitude Envelope shaping the entire sound produced by this Patch
- Define the initial frequency of the sound – the initial frequency is, itself, modulatable, and that modulation is separate from the timbre-defining modulation feeding into the mixer. Think of this as a really elaborate and automated pitch bend or modulation wheel (in fact, this parameter is a good choice for mapping to a MIDI controller’s mod wheel).
- The Master Panners for each channel – for stereo sound, you’ll see a Left Master Panner, and a Right Master panner; they further control the placement in the audio field of the left and right audio channels. Why assign some components to the left channel, then assign the left channel to the right and right to left? You may want to pan the overall mix, rather than keeping it fixed. This is where you would accomplish that.
- Restrict all Mixer input to single-channel (mono), and separately, only generate single-channel (mono) output. Single-channel input removes the pan settings from each oscillator wired into the Mixer, and leaves you with a single Master Panner; it can improve performance. Single-channel output forces single-channel input, and generates samples on only a single audio channel.
SETTING THE INITIAL FREQUENCY OF THE SOUND
Start with a new Patch, with only a single Oscillator, and open the Mixer panel. If you haven’t changed the tuning system, play Middle C (or any other key in any other tuning system, just trying to keep things simple) – play Middle C, you hear Middle C. Now play and hold Middle C, then drag the Mixer’s Initial Frequency slider – the pitch changes. Add a second Oscillator to the Mixer, and set its Initial Frequency parameter to a ratio of 1.5. Play Middle C again, and drag the slider around – both pitches change, but stay the same distance apart relative to each other. By dragging the slider, you are changing the ROOT FREQUENCY of the sound. Why “root frequency” and not just “frequency”? Reset the Mixer’s slider to 1.0, then go to the original Oscillator, and change its Initial Frequency parameter to a frequency ratio of 2.0. Now play Middle C – it is not present! The Oscillators (and other components which use frequency as a parameter) are typically set to be relative to the intended note. If you wanted to transpose every sound generated by this patch, or you manipulated the Pitch Bend wheel on a MIDI controller, the sample-generating components still need to operate in the correct ratios to keep the timbre consistent.
The Mixer’s Initial Frequency parameter is fully modulatable – you can build an entirely separate modulation tree for it, apply a frequency ramp (frequency ramps will be covered in the section on Envelopes), and assign MIDI commands to it (Pitch Bend is automatically assigned to this parameter and “just works” out of the box). This is actually an excellent candidate for assigning the mod wheel, as well.
Setting frequency values anywhere in the synth works in a similar manner. You can express frequency in several different units:
- Frequency Ratio – floating-point multiple of the sound’s root frequency. The ratio is always implied to be “to 1”, meaning that if you set this value to something like 4.6667, the ratio is 4.6667:1. A ratio of 2.0 is one octave up; 0.5 is one octave down. The range of this unit is 0.0 – 64.0.
- Octaves – similar to Frequency Ratio, but the unit is a number of octaves up or down, and the value represents a power of 2, by which the root frequency is multiplied – to specify the root frequency in terms of octaves, set this to 0. 20 * root frequency = root frequency. 1.0 is one octave up, -1.0 is one octave down. The range of this unit is -6.0 to +6.0 octaves.
- Named Interval – central to most popular systems of music developed over the course of human history are a tuning system and a set of notes from which to choose. The distance between notes is often expressed in terms which are defined by the musical system, which also dictates the tuning, so when you select a particular tuning in the Isle I-1, you are bringing that system’s names for notes, intervals, rhythmic durations, etc. with the tuning. In Western European tuning systems such as 12-tone even temperament or Pythagorean, you’ll see names such as “minor 3rd” or “perfect 5th.” You can also apply this distance up or down, and fine-tune in cents. Most tuning systems come with 2 octaves’ worth of named intervals.
- Semitones + Cents – a bit more technical for the geekily-minded, and also because “named intervals” and concern about the “distance between notes” is primarily limited to European functional harmony, semitones are sequential scale degrees in the tuning system. A semitone is basically one half-step in 12-tone even temperament, but in tuning systems such as Pythagorean, the ratio of frequencies is not constant from note to note. Setting relative frequency in semitones results in looking up the entry in the tuning system that many spots up or down (Named Intervals also take this approach, while providing a friendlier name). Again, this value can also be fine-tuned in cents; however, by definition, there are 1200 cents per octave (12-tone even temperament has seeped into everything, everywhere), and thus there is no attempt to adjust a cent to some value between consecutive notes in other tunings. Semitones are integer values ranging from -72 to 72; cents are floating-point, and range from -100.0 to 100.0.
- Hertz – Forego the tuning system and the note played, and just use a fixed value, in Hz.
ADDING AND REMOVING OSCILLATORS TO/FROM THE MIXER
To add an Oscillator which is wired directly to the Mixer, click the Add Oscillator button at the top of the Mixer’s settings pane. Mix Levels for all of the Mixer’s Oscillators are displayed immediately below this button. To remove an Oscillator, click on the trash can icon in the Mix Levels for the Oscillator, or the trash can icon in the main window’s algorithm view. The mix level for an Oscillator can be set with the Level slider to punch it up or down in the mix (center is 1.0); Oscillators can also use the Mix Weights slider to set a value relative to the other Oscillators wired to the Mixer – if all of the Oscillators have a Mix Weight of 1.0, they contribute equally to the generated sound; If you had one Oscillator with a Mix Weight of 5.0, and a second with a Mix Weight of 1.0, the first Oscillator would make up the bulk of the sound, while the second would be further back in the mix.
The Mix Levels box, at the Mixer level, also contains a Panner to set the Oscillator’s position in the audio field. Pan is a fully-modulatable parameter, and like all modulatable parameters, it is possible to build a Modulation Tree or a Value Ramp (why not both!), or assign a MIDI command, to control it.
EDITING/MANIPULATING AN OSCILLATOR
From the main window’s algorithm view on the Modulation tab, you can change and manipulate an Oscillator’s settings by clicking on its box. Oscillators, and many other components, are internally assigned a Unit ID, which is displayed to assist in identifying/keeping track of the various components of your Patch. Every Oscillator has its own Initial Frequency – this value is relative to the root frequency of the sound (unless you use a fixed frequency in units of Hz), and otherwise can be manipulated/assigned in identical fashion.
NOTE — In the Isle I-1, there is no real distinction between low-frequency oscillators (LFOs) and any other oscillator – there are just oscillators. The frequency of an oscillator can range from 0.0 (totally still) to the Nyquist Limit, or ½ the selected sample rate.
Oscillators generate samples, and thus need a sound source. The Waveform parameter allows you to select from the following sound sources:
- Sine, Square, Sawtooth, and Triangle waves – the basic waveforms.
- Noise Generator – there are multiple nosie-generating algorithms available:
- White Noise
- Pink (Filtered White Noise) – white noise with a low-pass filter applied
- Pink (Fractal – Midpoint Displacement Algorithm) – A fractal approach to generating Pink Noise
- Pink (Stochastic Voss-McCartney(-Trammell) Algorithm) – a number of tiers of random numbers contribute to a sample, but each tier changes at a different rate. The result is a Pink noise with a little more bottom than the others.
- Red (Brownian) – The next sample is a random offset from the current sample, in larger steps than the Midpoint Displacement Algorithm described above. Very definite presence of low-end.
- Audio File – Samples and wavetables loaded from an audio file — .wav, .au, and .aif files are supported (.mp3, .m4a, and other format support coming soon). Audio files can also be looped and/or played backwards. The reference note for an audio file is the MIDI note at which the sound is played at its normal speed, and defaults to 60.
All of the sound sources can have their waveforms inverted by checking the Invert checkbox; thus, by setting Invert, a sawtooth wave changes direction.
The Phase Offset parameter controls where, in the waveform, a sound will start. The range is 0-360 degrees. A slider and textbox to set the value appear in the Oscillator settings pane, but as the parameter is fully modulatable, more settings are available in the Phase Offset panel – click the Edit Phase Offset button, and you’ll see a Modulation view similar to that displayed for the overall patch. The only element which appears at first is a box representing the Phase Offset parameter; click on it, and an interface opens to add oscillators to start a modulation tree, build a value ramp (an envelope controlling a parameter value), and subscribe to MIDI commands. The Limit Modulation to Min/Max Bounds checkbox does exactly what it says – if checked, modulation of this parameter will not exceed the parameter’s minimum or maximum value, if not, modulation will result in values outside the bounds (for Phase Offset, values greater than 360 are equivalent to that value minus 360, and values less than 0 are equivalent to that value plus 360). Max Modulation Width ranges from 0 to 720, and controls the maximum distance between the modulation’s low and high values.
PULSE WIDTH MODULATION
Pulse Width Modulation is a technique which changes the timbre of a square wave over time by manipulating the wave’s duty cycle. There are two ways to accomplish this in the Isle I-1.
- Create two Oscillators wired to the Mixer, set both to sawtooth, set one to Invert. On the Inverted Oscillator, set Phase Offset to 180. At this point, playing a sound will result in a square wave with a duty cycle of 50%. If you play a sound and drag the slider from 180 to other values, you’ll hear the duty cycle change; use modulation instead of dragging the slider, and you’ll hear that familiar sweep. Build a modulation tree to modulate the duty cycle in ways beyond simple back-and-forth!
- The more direct way to accomplish this is to use a single oscillator, set to square wave, and manipulate its Duty Cycle parameter directly. This parameter is fully modulatable, so you can build complex modulation trees, value ramps, and subscribe it to MIDI commands.