 |
This module refers to LabVIEW, a software development environment that features a graphical programming language.
Please see the LabVIEW QuickStart Guide module for tutorials and documentation that will help you: |
| • Apply LabVIEW to Audio Signal Processing |
| • Get started with LabVIEW |
| • Obtain a fully-functional evaluation edition of LabVIEW |
Frequency modulation synthesis (FM synthesis) produces incredibly rich
spectra from only two sinusoidal oscillators; refer to FM Mathematics
for a complete description of the spectral characteristics of FM synthesis. You can produce even more interesting
sounds with a time-varying modulation index to alter the effective bandwidth and
sideband amplitudes over time. This relatively simple modification to the basic FM equation
creates tones with time-varying spectra to emulate many types of physical musical instruments.
John Chowning pioneered FM synthesis in the 1970s and demonstrated how the technique could simulate
instruments such as brass, woodwinds, and percussion. These techniques are the subject of this module.
Physical musical instruments produce audio spectra that evolve with time. A typical sound begins with some type of dynamic
transient, for example, as pressure builds up within a brass instrument or when a percussion instrument is first struck.
The sound continues with some type of quasi steady-state behavior when mechanical energy is continually applied, i.e., blowing
on a flute, bowing a violin string, and repeatedly striking a gong. Once the mechanical energy input ceases, the sound
concludes by decaying in some fashion to silence.
Clearly the amplitude of the instrument's audio signal changes during the course of the tone, following the typical attack-decay-sustain-release (ADSR)
envelope described in Analog Synthesis Modules. Even more important, the intensity of the
higher-frequency spectral components changes as well. The high-frequency components are often more evident during the initial
transient. In fact, the dynamic nature of the spectra during the instrument's transient plays an important role in timbre perception.
The basic FM equation with time-varying amplitude and modulation index is presented in Equation 1:
y(t)=a(t)sin(2π
f
c
t+i(t)sin(2π
f
m
t))
y(t)=a(t)sin(2π
f
c
t+i(t)sin(2π
f
m
t))
(1)
You can easily model a physical instrument with this equation by causing the modulation index
i(t)
i(t)
to track the time-varying amplitude
a(t)
a(t)
. In this way, a louder portion of the note also has more sidebands, because the modulation index effectively controls the bandwidth of the FM spectra.
John Chowning's publication, The Synthesis of Complex Audio Spectra by Means of Frequency Modulation (Journal of the Audio Engineering Society, 21(7), 1973),
describes a basic structure to implement Equation 1 with the following parameters:
-
A
A
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWGbbaaaa@360D@
- peak amplitude
-
I
max
I
max
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWGjbWaaSbaaSqaaiaab2gacaqGHbGaaeiEaaqabaaaaa@3910@
- maximum value of modulation index i(t)
-
I
min
I
min
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWGjbWaaSbaaSqaaiaab2gacaqGPbGaaeOBaaqabaaaaa@390E@
- minimum value of modulation index
i(t)
i(t)
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWGPbGaaiikaiaadshacaGGPaaaaa@3887@
-
f
c
f
c
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWGMbWaaSbaaSqaaiaadogaaeqaaaaa@3746@
[Hz] - carrier frequency
-
H
H
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWGibaaaa@3614@
- harmonicity ratio
(
f
m
/
f
c
f
m
/
f
c
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWGMbWaaSbaaSqaaiaad2gaaeqaaOGaai4laiaadAgadaWgaaWcbaGaam4yaaqabaaaaa@3A0C@
)
- duration [s] - duration of generated audio
-
w
1
(t)
w
1
(t)
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWG3bWaaSbaaSqaaiaaigdaaeqaaOGaaiikaiaadshacaGGPaaaaa@3986@
- prototype waveform for time-varying amplitude
-
w
2
(t)
w
2
(t)
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWG3bWaaSbaaSqaaiaaigdaaeqaaOGaaiikaiaadshacaGGPaaaaa@3986@
- prototype waveform for time-varying modulation index
The prototype waveforms are normalized in both dimensions, i.e., the range and domain are both zero to one. The prototype waveform
w
1
(t)
w
1
(t)
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWG3bWaaSbaaSqaaiaaigdaaeqaaOGaaiikaiaadshacaGGPaaaaa@3986@
is converted to the time-varying amplitude as
a(t)=A
w
1
(t)
a(t)=A
w
1
(t)
. The prototype waveform
w
2
(t)
w
2
(t)
MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8srps0lbbf9q8WrFfeuY=Hhbbf9v8qqaqFr0xc9pk0xbba9q8WqFfea0=yr0RYxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeaabaqaciGacaGaaeqabaWaaeaaeaaakeaacaWG3bWaaSbaaSqaaiaaikdaaeqaaOGaaiikaiaadshacaGGPaaaaa@3987@
is converted to the time-varying modulation index as
i(t)=(
I
max
−
I
min
)
w
2
(t)+
I
min
i(t)=(
I
max
−
I
min
)
w
2
(t)+
I
min
.
Representative Chowning FM instrument specifications are described in the PDF document chowning_instruments.pdf.
The Figure 1 screencast video walks through the complete process to implement the Chowning clarinet instrument in LabVIEW.
Download the finished VI: chowning_clarinet.vi.
Refer to TripleDisplay to install the front-panel indicator used to view the signal spectrum.
You can easily adapt the VI to create the remaining Chowning instruments once you understand the general implementation procedure.
"This online course covers signal processing concepts using music and audio to keep the subject relevant and interesting. Written by Prof. Ed Doering from the Rose-Hulman Institute of Technology, […]"