Wave Subtract & Multiply
Add, Subtract & Multiply Waveforms to their Phase-Offsets.
Examples using Propellerhead Reason's Subtractor Synth
This article assumes you already have some knowledge of basic waveforms and Subtractive Synthesis. If not, read Synthesis: Subtractive first.
Waveforms
In basic synthesizers, the Oscillators create Waveforms which are the basic starting points for making sound. Typically, the waveforms would be a Square-wave, Saw-wave (Ramp-wave) or Triangle-wave. The different shapes of the waves create different sound timbres.
Cycle: The shape of each wave is generated repeatedly to make its sound. One playback is one Cycle. The wave starts, continues and, as it ends, it starts again. For example, a Square-wave generated at 110 Hz (Hertz) is a Square shape played back at 110 times a second -or- 110 cycles per second.
Phase: If we look at one Cycle of a Wave, it has a starting point (the origin). The wave starts, continues and, as it ends, it starts again. The rest of the wave is Offset from the origin; this could be half-way or one-third-way or whatever. This offset is what we mean by Phase.
The repeated oscillations of a waveform can be though of as continuous motions in a circle. The wave starts, continues and, as it ends, it starts again. One Cycle would be one circle. As such, any Phase is just an angle (offset from an origin).
Phase Offset: Although we think of these basic Waves as having an imaginary symmetrical starting point, they really do not have to start there. A Wave can be generated with a Phase offset. It's the same thing but with a different starting point.
Below, I have displayed 3 animated graphs:-
Left = Square wave.Middle = Saw wave.Right = Triangle wave.The animated graphs are colour-coded to show the different Phase offsets:-
Black = 0°, Original, 0% offsetPurple = 45° or 1/8 or 12% appxRed = 90° or 1/4 or 25% Brown = 135° or 3/8 or 38% appxGreen = 180° or 1/2 or 50% Blue = 270° or 3/4 or 75%You can see that it's the same waveforms but with a different starting points.
About the Graphs: What should be vertical lines are displaying as steep slopes as I'm using Google Sheets to make the Charts.So what happens when we Add, Subtract or Multiply these Phase-Offset copies with the Original signal?
▪ Addition
What happens when we Add a Phase-Offset wave with the Original wave - See graphs below.
For SQUARE-waves, addition generates "stepped pulse-waves.
For SAW-waves, addition generates double saw-waves, which are similar to "Osc. Sync" function.
For TRIANGLE-waves, addition generates trapezoid-waves or "plateau waves".
If you have looked at delayed signals before, you may recognise these patterns. After all, a delayed signal is a waveform starting later (in time). Delayed signals are added to the original signal to create interference. You can read more about that at Chorus and Flangers.
Note: "Oscillator Sync" is where one detuned (slave) oscillator is forced to reset the wave (to start again) in sync with another (master) oscillator.
▪ Subtraction
What happens when we Subtract a Phase-Offset wave with the Original wave - See graphs below.
For SQUARE-waves, subtraction generates "stepped pulse-waves" (similar to addition).
For SAW-waves, subtraction generates a version of Pulse-waves (rectangle-waves). This is very useful.
For TRIANGLE-waves, subtraction generates trapezoid-waves or "plateau waves" (similar to addition).
We can think of Addition as the original wave "carrying" its moving shadow. We can think of Subtraction as the original wave "digging a hole" for its moving clone.
Multiplication is much like addition but more exaggerated. But, since we're using zero as the centre-line, values can go negative which causes flip-flops ([+ve × -ve = -ve] & [-ve × -ve = +ve]).
▪ Multiplication
What happens when we Multiply a Phase-Offset wave with the Original wave - See graphs below.
For SQUARE-waves, multiplication generates a version of Pulse-waves. This Pulse-wave looks fairly consistent but is running at 1 octave higher (ie x 2 frequency).
For SAW-waves, multiplication generates something that looks worse than it really is. Below, is the multiplication but without negative values.
It shows "dog-tooth waves" (curved ramp) with the "double dagger" effect, similar to using "Osc. Sync". But, with the zero centreline, multiplication causes some "flip-flopping". We end up with "double horns" and some "spikey" changes.
We can expect "multiply-Saw" to sound like "Osc. Sync".
For TRIANGLE-waves, multiplication generates conjoined parabolic-waves (I think). At 0% (black) & 50% (green), it is a parabola; the U-shape for y=x² in graphs.
Below, the graph shows a closer look at the Triangle-wave multiplied at 0%, 5%, 10%, 15%, 20% & 25%; shown as black, purple, red, yellow, green and blue respectively.
Notice how the asymptotes (spikes) transform into flattened dents at 5%.
The 0% U-shape and 50% (inverted) waves could be useful as an LFO (low-frequency oscillator) wave for modulating a loudness fader.
Subtractor Synth
for Propellerhead Reason (ver. 9.5)
The Subtractor synth for Propellerhead's Reason music software. For Reason users, it is their most used software synth and the default "go to" synth. Its heavy usage and huge availability of patches evolves from the fact that Subtractor is Reason's earliest synthesizer and that it is free of charge. To say it's popular would be arguable. To say it's endearing would be to exaggerate. It's free... so everybody has it... and uses it.
Apart from just Saw, Square & Tri, Subtractor has a total of 32 waveforms to choose from. The essence of waveform shaping is the "Mode" button (next to the Waveform selector):-
[x] multiply[-] subtract[0] noneThis is used with the Phase knob... plus various modulation possibilities.
Beyond that, Subtractor also has options for FM (Frequency Modulation) and Ring Modulation.
Yes, this opens up a lot of sonic possibilities. But it is not obvious if you just want Pulse Width Modulation (PWM) -or- Saw-wave Sync. Both PWM & Sync have been staple sounds in electronic music since the Stone Age (Woodstock was 1969).
According to the Operation Manual, Subtractor is easily capable of PWM & Sync and much much more. All we have to do is to load some presets, twiddle a few knobs and use our ears. It's so simple. And yet, it's better if we have some guidance, ya?
Things To Note
[1] The PHASE Knob values of 0, 63, 127 are equivalent to 0°, 90°, 180° {see Test 1}.
[2] The LFO AMOUNT Knob values of 0, 63, 127 is equivalent to a Modulation Range of 0°, 90°, 180° {see Test 2}.
● So the LFO-1 "Amount" is the "actual Value" range (in our case, the Phase range). Example: If we set Phase = 70 & set LFO-1 Amount = 40, then the LFO will modulate the Phase between the values of 50 and 90 (total 40).
[3] The LFO(s) will modulate the Phase beyond the knob range. It can modulate from -270° to +270° {see Test 3}.
● So we can modulate below zero (0°, knob min.) and more than full (180°, knob max.).
- - Sound Design using Subtractor - -
Let's make some sounds using Subtractor.
a. Setting Upb. Saw: Subtract - A generic Synth Strings using PWM with LFOc. Saw: Subtract - A generic Synth Bass using PWM using Enveloped. Exploring the other Subtraction Wavese. Saw: Multiply - A generic Synth Brass using Osc.Syncf. Exploring the other Multiplication Wavesg. Bonus Sectiona. Setting Up
Initialisation - Resetting:
● Init Patch: Select "Reset Device"● do Filter 1: Freq = 100%● do Amp Envelope: S (Sustain) = 127 (full)Our project:
○ We are using OSC-1 only.- Selecting MODE
○ OSC-1 Mode = [x] multiply○ OSC-1 Mode = [-] subtract○ OSC-1 Mode = [0] none- Selecting WAVES
○ OSC-1 Wave = Saw (ramp)○ OSC-1 Wave = Square○ OSC-1 Wave = Triangle- For modulation using LFO
● LFO-1: Dest = Phase● LFO-1: Wave = Tri (for normal use)● LFO-1: Rate = 50 (just for now)- For modulation using Envelope
● Mod Env: Dest = Phase~Non-Essential Reading~Test 2 : LFO Amount, as follows:-○ LFO-1: Wave = SQUARE (for testing)○ LFO-1: Amount = 127 (yes, full)○ OSC-1: Phase = 63 (90°, the middle)● Move the Phase knob from about 95 down to 63. With the Square LFO, you can hear one side going exactly silent (at zero) and the other side is Square wave. This means from Phase= 63, at full LFO Amount= 127, the LFO is modulating from Phase= 0 to Phase= 127.► Therefore, LFO-1 "Amount" is the "actual Value" range (in our case, the Phase range).
~Non-Essential Reading~Test 3 : Range of Phase Modulation, as follows:-...continuing from above, as follows:- ● Next, turn the Phase knob down to 62, 61, 60. You can hear the waveforms below zero coming out. Keep turning the knob downwards to hear more.● If we set Phase= 0° with LFO Amount= 180°, the full LFO range would be from -270° to 90°. If we set Phase= 180° with LFO Amount= 180°, the full LFO range would be from 90° to 270°. Therefore, at these settings, Phase knob at 0% and at 100% would sound the same. Try it and they do sound the same!► Therefore, LFO-1 can modulate the Phase beyond the knob range modulating from -270° to +270°.
b. Saw: Subtract - Strings
- A generic Synth Strings using PWM with LFO -
Initialise patch as described above.Saw: Subtract set-up
● OSC-1: Mode = [-] subtract● OSC-1: Wave = Saw (ramp)● LFO-1: Dest = Phase● LFO-1: Wave = Tri● LFO-1: Rate = 50Turn the Phase knob and get familiar with the Pulse-wave sound. The Phase knob at zero (0°) is silent while knob at full (180°) is Square-wave.
● OSC-1: Phase = 127 (180°) for Square waveYou can choose between 2 variants of PWM Strings:-
Mild PWM: 70s PWM strings was a way for a single oscillator synths to sound like they had two oscillators (detuned). Typically, a larger LFO amount would use a slower LFO rate. When in doubt, use less LFO amount.
○ LFO-1: Amount = 42 to 84 {medium}○ LFO-1: Rate = 30 to 60 {medium}Big PWM: In the 80s, PWM became a standard feature, especially in single oscillator synths. PWM became its own sound & people were happy with a lot of it.
○ LFO-1: Amount = 127 {medium}○ LFO-1: Rate = 20 to 50 {medium}For the Filter, we're going for a "half Freq & half Envelope" style sound. Set both the same.
● Filter-1: Type= LP24, Freq= 25● Filter Env: Amount= 25Also set both the Filter Envelope & Amp Envelope the same. This is a medium-attack setting for strings. The decay & sustain are to have some small variation when holding chords for a long time.
● Filter Env: A= 40, D= 105, S= 100, R=50● Amp Env: A= 40, D= 105, S= 100, R=50Finish off with a tiny amount of Resonance and Vibrato.
● Filter-1: Res= 15● LFO-2: Dest= Osc 1&2, Rate= 65, Amount= 5, Delay= 35Save this generic String patch as we will use it later.
Note: Using Pulse= 127 and LFO Amount= 127, the LFO range is from 90° to 270°.
Additional Info: So far, we have used a Square-wave (180°) as the centre and modulating to the sides of it. At centre point 180°, we can use the maximum modulation Range. But you may want to use a different centre, example 120°. Just be aware that the timbre of points 0° and 180° are quite audibly obvious. As such, you might want to vastly reduce the modulation Range so as not to cross these points (You'd get a double-wobble effect).
c. Saw: Subtract - Bass
- A generic Synth Bass using PWM using Envelope - -
Initialise patch as described above.Saw: Subtract set-up
● OSC-1: Mode = [-] subtract● OSC-1: Wave = Saw (ramp)● LFO-1: Mod Env: Dest = PhaseTurn the Phase knob and get familiar with the Pulse-wave sound. The Phase knob at zero (0°) is silent while knob at full (180°) is Square-wave.
● OSC-1: Phase = 127 (180°) for Square waveWe will be emulating a one envelope monosynth sound so all 3 Envelopes (Mod, Filter & Amp) will have the same settings. The Env Decay will be the main modulator of Phase. Note that Env. Sustain has to be low so that the Decay has a good range to move across; but Sustain can't be zero or else the Amp Env just dies out too quickly. Let's use Sustain= 31 (a quarter). We'll do Decay last, so just set Decay at 63 for the moment.
● Mod Env: A= 0, D= 63, S= 31, R=31● Filter Env: A= 0, D= 63, S= 31, R=31● Amp Env: A= 0, D= 63, S= 31, R=31For the Filter, let's use the "½ Freq & ½ Env" style sound. Set both the same at halfway.
● Filter-1: Type= LP24, Freq= 63● Filter Env: Amount= 63For Mod Env Amount (Gain), we want a wide range of modulation but, near the max. (0°), it sounds very thin. Let's go three-quarters.
● Mod Env: Amount (Gain)= 95And now to set the Decay (for all 3 Envs). To me, the Decay is good between 45 and 60. Play around and see what you like. Let's use Decay= 55 to put it in the 80s league.
● Mod Env: D= 55 ● Filter Env: D= 55 ● Amp Env: D= 55Finish off with some Vibrato.
● LFO-2: Dest= Osc 1&2, Rate= 70, Amount= 15, Delay= 30Save this generic Bass patch as we will use it later.
Note: Using Pulse= 127 and Mod Env Amount= 95, the modulation sweep (Decay) is from 315° to 180°.
d. Exploring the other Subtraction Waves
So far, we have only looked at Saw: Subtract. Let's look at the other 2 Subtracts of Square and Tri.
Square: Subtract set-up
● OSC-1: Mode = [-] subtract● OSC-1: Wave = SquareLoad the generic Strings patch.
Change the OSC-1: Wave= Square. Have a listen!
It mostly looks like a "Stepped Pulse" and sounds like "Square mixed with Pulse". It's not as rich as PWM but should be suitable for Strings as well.
My suggestion is to set Phase= 63 and LFO-1 Amount= 98 so the modulation range is from 14 to 112 {the more interesting range of timbres}. Also it can be brightened up a bit by Filter-1 Freq= 45.
● OSC-1: Phase= 63● LFO-1: Amount= 98● Filter-1: Freq= 45Triangle: Subtract set-up
● OSC-1: Mode = [-] subtract● OSC-1: Wave = TriangleLoad the generic Strings patch.
Change the OSC-1: Wave= Triangle.
These plateau waves are fairly dull sounding and should be suitable for Pads.
My suggestion...
● OSC-1: Phase= 73● LFO-1: Amount= 106 {so Mod. range= from 20 to 126}● Filter-1: Freq= 63 {just to brighten it up a bit}Let's look at the waveforms from Multiplication of Saw, Square and Tri.
e. Saw: Multiply
- A generic Synth Brass using Osc.Sync -
Saw: Multiply set-up
● OSC-1: Mode = [x] multiply● OSC-1: Wave = SawAs mentioned before, the Saw: Multiply waveforms has similarities to Osc.Sync (Hard Sync). Typically, the Sync Oscillator is continuously being reset sync to the pitch frequency while itself would be having Pitch Mod Env applied using perhaps a 4-octave fast-dive to create a raw raspy rude sound. Subtractor was not designed with this in mind. Also, a normal Saw Sync starts off with a Saw wave, with it's rich timbre. We're starting with a U-shaped horn, which should be like a dog-tooth equivalent. We shall do our best with what we've got.
Load the generic Strings patch.
Change the OSC-1: Mode = [x] multiply -&- OSC-1: Wave= Saw.
Turn off the LFO-1 Amount and have a listen by rotating the Phase knob!
● LFO-1: Amount= 0 (off)The ends with U-shape at Phase= 0 and W-shape at 127 sound pretty dull. But around Phase= 35 (±30), it's very rich with a brassy quality. Let's make some synth brass {BTW this is not a typical brass}.
● OSC-1: Phase= 35Next, we make a slow Filter Envelope to make it brassy which we'll apply to the Phase as well as Filter.
● Mod Env: Dest= Phase● Mod Env: A= 63, D= 73, S= 0, R=50● Mod Env: Amount= 60● Filter Env: A= 63, D= 73, S= 0, R=50● Filter-1: Freq= 41Finish off with some of that Phase wobble but after the brassy envelope (use LFO-2's delay).
● LFO-2: Dest= Phase● LFO-2: Rate= 60● LFO-2: Amount= 60● LFO-2: Delay= 35Part 2:-
- A generic Synth Bass using Osc.Sync -
Load the generic Bass patch.
Change the OSC-1: Mode = [x] multiply -&- OSC-1: Wave= Saw.
That sounds pretty good! A bit raspy bright but okay with me.
f. Exploring the other Multiplication Waves
Square: Multiply set-up
● OSC-1: Mode = [x] multiply● OSC-1: Wave = SquareLoad the generic Strings patch.
Change the OSC-1: Mode = [x] multiply -&- OSC-1: Wave= Square. Have a listen with LFO-1 Amount off!
Turning the Phase knob, the ends at 0 and 127 are dead silent. But the rest of it is PWM playing one octave up. This is quite easy to fix for Strings as well. We'll just centre the Phase= 63 and LFO modulate a little smaller than maxmium.
● OSC-1: Octave= 3● OSC-1: Phase= 63● LFO-1: Amount= 110You can apply the same settings to the generic Bass too.
For PWM compared to Saw: Subtract wave, this Square: Multiply wave can be modulated at twice the range.
Triangle: Multiply set-up
● OSC-1: Mode = [x] multiply● OSC-1: Wave = TriangleLoad the generic Strings patch.
Change the OSC-1: Mode = [x] multiply -&- OSC-1: Wave= Triangle.
Listening with LFO Amount off, the waveforms fairly dull and should be suitable for Pads too. It's set one octave up as well. The ends at 0 and 127 are brigher in timbre than the middle.
My suggestion...
● OSC-1: Octave= 3● OSC-1: Phase= 0● LFO-1: Amount= 40 {so mod range= -20 to 20}● Filter-1: Freq= 63I hope you find using Subtractor (or whatever synth) a lot easier now that the effects of subtraction and multiplication on waveforms have been explained.
Thanks for taking the time to read.
Bonus Section
- - - Quick Summary - - -Wave Mode Description Useful SettingsSaw [-] PWM Square @ 127, Null @ 0Square [-] Stepped Pulse Square @ 127, Null @ 0Tri [-] Plateau Bright @ 63, Dull @ 0 & 127Saw [x] Sync Bright @ 31, Dull @ 0 & 127Square [x] PWM Square @ 63, Null @ 0 & 127Tri [x] Parabolic Bright @ 0 & 127, Dull @ 63- - - Subtractor value converter - - -Knob Value 7 15 23 31 39 47 55 63-Degrees-- 11° 22.5° 34° 45° 56° 67.5° 79° 90°--Radians- 0.196 0.393 0.589 0.785 0.982 1.178 1.374 1.571
Knob Value 71 79 87 95 103 111 119 127-Degrees-- 101° 112.5° 124° 135° 1°46 157.5° 169° 180°--Radians- 1.767 1.963 2.160 2.356 2.553 2.749 2.945 3.142