Professional Documents
Culture Documents
Using Perlin Noise in Sound Synthesis: Artem POPOV Gorno-Altaysk, Russian Federation
Using Perlin Noise in Sound Synthesis: Artem POPOV Gorno-Altaysk, Russian Federation
Artem POPOV
Gorno-Altaysk,
Russian Federation,
art@artfwo.net
himself [Perlin, 2001]. The advantages of sim- while successively incrementing their frequen-
plex noise over Perlin noise include lower com- cies in regular steps by a factor called lacunarity
putational complexity, no noticeable directional and decreasing the amplitude of the octaves by
artifacts, and a well-defined analytical deriva- a factor called persistence with each step [Vivo
tive. and Lowe, 2015].
Simplex noise is created by splitting an N-
n
dimensional space into simplest shapes called X
simplices. The value of the noise function is a f Bm(x) = pi · noise(2i · x) (2)
sum of contributions from each corner of the i=0
simplex surrounding a given point [Gustavson, Lacunarity can have any value greater than 1,
2005]. but non-integral lacunarity values will result in
In one-dimensional space, simplex noise uses non-zero fBm values on the integer boundaries.
intervals of equal length as the simplices. For To keep the waveform seamless in a sound syn-
a point in an interval, the contribution of thesizer, lacunarity has be an integer number.
each surrounding vertex is determined using the A reasonable choice for lacunarity is 2, since
equation: bigger values result in a very quick buildup of
the upper harmonics (Eq. 2).
(1 − d2 )4 · (g · d) (1) Fractional Brownian motion is often called
Perlin noise, actually being a fractal sum of sev-
Where g is the value of the gradient in a given eral octaves of noise. While typically the same
vertex and d is the distance of the point to the noise function is used for every octave, different
vertex. noise algorithms can be combined in the same
Both Perlin noise and Simplex noise produce fashion to create multifractal or heterogeneous
very similar results (Fig. 2) and are basically fBm waveforms [Musgrave, 2002].
interchangeable in a sound synthesizer1 . For
brevity, Perlin noise or noise will be used to 5 Waveform modifiers
refer to both algorithms for the scope of this
5.1 Gradient rotation
paper, since Simplex noise is also invented by
Ken Perlin. One technique traditionally used to animate
Perlin noise is gradient rotation [Perlin and
4 Fractional Brownian motion Neyret, 2001]. When gradient vectors in 2- or
more dimensional space are rotated the noise is
Fractional Brownian motion (fBm), also called
varied while retaining its character and detail.
fractal Brownian motion is a technique often
This technique has been used for simulating ad-
used with Perlin noise to add complexity and
vected flow and other effects. A similar tech-
detail to the generated textures.
nique can be applied to 1-dimensional noise to
Fractional Brownian motion is created by introduce subtle changes to the sound.
summing several iterations of noise (octaves),
Rotating gradients is a computationally ex-
1
In some cases Perlin noise adds additional low fre-
pensive operation and cannot be used with 1-
quency harmonics to the sound which may or may not dimensional noise, since the noise is built from
be desirable. linear gradients instead of directional vectors.
Figure 4: Gradient offsets applied to fBm (left) Figure 5: Simplex noise (left) with domain
modify the waveform (right) while preserving warping (right)
the timbre