[rec.music.synth] Looking for Equations for Sounds

sseidman@polyslo.CalPoly.EDU (The MIDIman) (01/09/91)

For my Senior Project, I am writing a simple type of Additive Synthesis
program, which will transfer the sound created to a sampler.  It will
be Additive Synthesis, but with some FM capabilities.  Basically, the
user creates carriers, and then can create modulators which feed into the
carriers.

My problem is finding the shape of the sound/graph.  For JUST carriers, I
would think I could just add up all the Sine equations, and this would
give me the point on the graph at a point.  But I am not sure how to
find the equation when I start adding in modulators.  Would it be something
like: Sin (Sin X) X + Sin (Sin X) X, with the Sin X in prantheses being the
modulator?  Does anyone have any references of books to look at?

Thanks for any help.


-- 
     /\     PYRAMIDI            |      sseidman@polyslo.calpoly.edu
    /--\    RECORDING           |          Steven R. Seidman
   /----\                       |  Tangerine Dream, Level 42, Vangelis, Jarre,
 Where Analog and Digital Meet  |  Mannheim Steamroller, Yes, Genesis, ...

brad@huey.Jpl.Nasa.GOV (Brad Hines) (01/10/91)

In article <278a4f64.4051@petunia.CalPoly.EDU>, sseidman@polyslo.CalPoly.EDU (The MIDIman) writes:
|> 
|> 
|> For my Senior Project, I am writing a simple type of Additive Synthesis
|> program, which will transfer the sound created to a sampler.  It will
|> be Additive Synthesis, but with some FM capabilities.  Basically, the
|> user creates carriers, and then can create modulators which feed into the
|> carriers.
|> 
|> My problem is finding the shape of the sound/graph.  For JUST carriers, I
|> would think I could just add up all the Sine equations, and this would
|> give me the point on the graph at a point.  But I am not sure how to
|> find the equation when I start adding in modulators.  Would it be something
|> like: Sin (Sin X) X + Sin (Sin X) X, with the Sin X in prantheses being the
|> modulator?  Does anyone have any references of books to look at?
|> 
|> Thanks for any help.


Your basic sine:

	f(t) = A * sin ( 2*pi*f*t + phi_0 )

A is the amplitude of the sine wave
f is the frequency of the wave
phi_0 is an arbitrary phase offset

As there are three parameters, A, f, and phi_0, there are three
kinds of modulation you can do: Amplitude Modulation, Frequency
Modulation, and Phase Modulation.

AM is Amplitude Modulation, so you modulate A:

	f(t) = ( A_0 + dA(t) ) * sin ( 2*pi*f*t + phi_0 )

A_0 is the amplitude of the carrier
dA(t) is the modulation function

FM is Frequency Modulation, so you modulate f:

	f(t) = A * sin ( 2*pi*( f_0 + df(t) )*t + phi_0 )

f_0 is the carrier frequency
df(t) is the modulation function

PM is Phase Modulation (not so common as the other two):

	f(t) = A * sin ( 2*pi*f*t + ( phi_0 + dphi(t) ) )

phi_0 is the phase offset of the wave
dphi(t) is the modulation function


-- 
Brad Hines
Internet: brad@huey.jpl.nasa.gov

JPL 169-214
4800 Oak Grove Drive
Pasadena, CA  91107
USA
818-354-2465

davet@cbnewsj.att.com (Dave Tutelman) (01/10/91)

In article <10981@jpl-devvax.JPL.NASA.GOV> brad@huey.Jpl.Nasa.GOV writes:
>
>FM is Frequency Modulation, so you modulate f:
>
>	f(t) = A * sin ( 2*pi*( f_0 + df(t) )*t + phi_0 )
>
>f_0 is the carrier frequency
>df(t) is the modulation function
>
>PM is Phase Modulation (not so common as the other two):
>
>	f(t) = A * sin ( 2*pi*f*t + ( phi_0 + dphi(t) ) )
>
>phi_0 is the phase offset of the wave
>dphi(t) is the modulation function

Looks reasonable, but it's wrong.  The equation for FM anyway.
Actually FM and Phase Mod both have the equation you present for
phase modulation.  It's just that the modulation function for the
phase (dphi(t)) is different for the two types of modulation.

   -	Phase mod : as you show it.
   -	Frequency mod : dphi(t) = S df(t) dt

where S represents the integral sign.
Thus, the equation for FM is

	f(t) = A * sin ( 2*pi*f_0*t + ( phi_0 + S df(t) dt ) )

Check out any book on modulation theory.

>-- 
>Brad Hines
>Internet: brad@huey.jpl.nasa.gov

Dave
+---------------------------------------------------------------+
|    Dave Tutelman						|
|    Physical - AT&T Bell Labs  -  Lincroft, NJ			|
|    Logical -  ...att!pegasus!dmt == dmt@pegasus.att.com	|
|    Audible -  (201) 576 2194					|
+---------------------------------------------------------------+