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.
Tri, Square, Saw & Pulse waveforms (and their spectrums).

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.
Square-wave & phase offsets
Saw-wave & phase offsets
Triangle-wave & phase offsets

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.

Square-wave: Add phase offsets

For SQUARE-waves, addition generates "stepped pulse-waves.

Saw-wave: Add phase offsets

For SAW-waves, addition generates double saw-waves, which are similar to "Osc. Sync" function.

Tri-wave: Add phase offsets

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.

Square-wave: Subtract phase offsets

For SQUARE-waves, subtraction generates "stepped pulse-waves" (similar to addition).

Saw-wave: Subtract phase offsets

For SAW-waves, subtraction generates a version of Pulse-waves (rectangle-waves). This is very useful.

Tri-wave: Subtract phase offsets

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.

Square-wave: Multiply phase offsets

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

Saw-wave: Multiply phase offsets

For SAW-waves, multiplication generates something that looks worse than it really is. Below, is the multiplication but without negative values.

Saw-wave: Multiply - positive values only

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

Tri-wave: Multiply phase offsets

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.

Tri: Multiply - more detail

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] none

This 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 Section

a. 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 1 : Phase knob output
Wave output of Subtract with Square-wave: with Phase knob 000= 0°, 063= 90°(25%), 127= 180°(50%)
Wave output of Multiply with Saw-wave: with Phase knob 000= 0°, 063= 90°(25%), 127= 180°(50%)

~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 = 50

Turn 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 wave

You 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= 25

Also 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=50

Finish off with a tiny amount of Resonance and Vibrato.

● Filter-1: Res= 15● LFO-2: Dest= Osc 1&2, Rate= 65, Amount= 5, Delay= 35

Save 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).

Early 80s polyphonic synth with one oscillator, PWM & one envelope generator. Roland Juno-60 front panel [source- WikiCommons]
These diagrams below show the waveforms for 0°, 45°, 90°, 135° & 180° {going anti-clockwise by convention}.
Saw-wave: Subtract emulates PWM

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 = Phase

Turn 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 wave

We 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=31

For 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= 63

For 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)= 95

And 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= 55

Finish off with some Vibrato.

● LFO-2: Dest= Osc 1&2, Rate= 70, Amount= 15, Delay= 30

Save 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°.

Early 80s monosynth with one oscillator, PWM & one envelope generator. Roland SH-09 front panel [source- Pintrest]

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-wave: Subtract

Square: Subtract set-up

● OSC-1: Mode = [-] subtract● OSC-1: Wave = Square

Load 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= 45
Triangle-wave: Subtract

Triangle: Subtract set-up

● OSC-1: Mode = [-] subtract● OSC-1: Wave = Triangle

Load 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 = Saw

As 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= 35

Next, 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= 41

Finish 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= 35
Saw-wave: Multiply


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


Late 70s polyphonic synthesizer with Oscillator Sync. SCI Prophet 5 front panel [source- Great Synthesizers]

f. Exploring the other Multiplication Waves

Square-wave: Multiply

Square: Multiply set-up

● OSC-1: Mode = [x] multiply● OSC-1: Wave = Square

Load 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= 110

You 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-wave: Multiply

Triangle: Multiply set-up

● OSC-1: Mode = [x] multiply● OSC-1: Wave = Triangle

Load 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= 63

I 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
- - - End of Document - - - ▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀▄▀Below is the original HTML version of this article, displayed here using the "embed code" in a box.