Amplitude-modulation (AM) means, that one oscillator varies the volume/amplitude of an other. If this modulation is done very slowly (1 Hz to 10 Hz) it is recognised as tremolo. Volume-modulation above 10 Hz lead to the effect, that the sound changes its timbre. So called side-bands appear.
Example 04C01.csd
<CsoundSynthesizer> <CsOptions> -o dac </CsOptions> <CsInstruments> sr = 48000 ksmps = 32 nchnls = 1 0dbfs = 1 instr 1 aRaise expseg 2, 20, 100 aSine1 poscil 0.3, aRaise , 1 aSine2 poscil 0.3, 440, 1 out aSine1*aSine2 endin </CsInstruments> <CsScore> f 1 0 1024 10 1 i 1 0 25 e </CsScore> </CsoundSynthesizer> ; written by Alex Hofmann (Mar. 2011)
The side-bands appear on both sides of the main frequency. This means (freq1-freq2) and (freq1+freq2) appear.
The sounding result of the following example can be calculated as this: freq1 = 440Hz, freq2 = 40 Hz -> The result is a sound with [400, 440, 480] Hz.
The amount of the sidebands can be controlled by a DC-offset of the modulator.
Example 04C02.csd
<CsoundSynthesizer> <CsOptions> -o dac </CsOptions> <CsInstruments> sr = 48000 ksmps = 32 nchnls = 1 0dbfs = 1 instr 1 aOffset linseg 0, 1, 0, 5, 0.6, 3, 0 aSine1 poscil 0.3, 40 , 1 aSine2 poscil 0.3, 440, 1 out (aSine1+aOffset)*aSine2 endin </CsInstruments> <CsScore> f 1 0 1024 10 1 i 1 0 10 e </CsScore> </CsoundSynthesizer> ; written by Alex Hofmann (Mar. 2011)
Ring modulation is the special-case of AM, without DC-offset (DC-Offset = 0). That means the modulator varies between -1 and +1 like the carrier. If the modulator is unipolar (oscilates between 0 and +1) the effect is called AM.
The sounding difference is, that AM contains the carrier frequency and RM not.
If the modulator itself has more harmonics, the result becomes easily more complex.
Carrier freq: 600 Hz
Modulator freqs: 200Hz with 3 harmonics = [200, 400, 600] Hz
Resulting freqs: [0, 200, 400, <-600->, 800, 1000, 1200]
Example 04C03.csd
<CsoundSynthesizer> <CsOptions> -o dac </CsOptions> <CsInstruments> sr = 48000 ksmps = 32 nchnls = 1 0dbfs = 1 instr 1 ; Ring-Modulation (no DC-Offset) aSine1 poscil 0.3, 200, 2 ; -> [200, 400, 600] Hz aSine2 poscil 0.3, 600, 1 out aSine1*aSine2 endin </CsInstruments> <CsScore> f 1 0 1024 10 1 ; sine f 2 0 1024 10 1 1 1; 3 harmonics i 1 0 5 e </CsScore> </CsoundSynthesizer> ; written by Alex Hofmann (Mar. 2011)
Using an inharmonic modulator frequency also makes the result sound inharmonic. Varying the DC-offset makes the sound-spectrum evolve over time.
Modulator freqs: [230, 460, 690]
Resulting freqs: [ (-)90, 140, 370, <-600->, 830, 1060, 1290]
(negative frequencies become mirrowed, but phase inverted)
Example 04C04.csd
<CsoundSynthesizer> <CsOptions> -o dac </CsOptions> <CsInstruments> sr = 48000 ksmps = 32 nchnls = 1 0dbfs = 1 instr 1 ; Amplitude-Modulation aOffset linseg 0, 1, 0, 5, 1, 3, 0 aSine1 poscil 0.3, 230, 2 ; -> [230, 460, 690] Hz aSine2 poscil 0.3, 600, 1 out (aSine1+aOffset)*aSine2 endin </CsInstruments> <CsScore> f 1 0 1024 10 1 ; sine f 2 0 1024 10 1 1 1; 3 harmonics i 1 0 10 e </CsScore> </CsoundSynthesizer> ; written by Alex Hofmann (Mar. 2011)