miller-book/node99.html

180 lines
5.8 KiB
HTML

<!DOCTYPE html>
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<TITLE>Simple formant generator</TITLE>
<META NAME="description" CONTENT="Simple formant generator">
<META NAME="keywords" CONTENT="book">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="book.css">
<LINK REL="next" HREF="node100.html">
<LINK REL="previous" HREF="node98.html">
<LINK REL="up" HREF="node97.html">
<LINK REL="next" HREF="node100.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html2028"
HREF="node100.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
<A NAME="tex2html2022"
HREF="node97.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up.png"></A>
<A NAME="tex2html2016"
HREF="node98.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev.png"></A>
<A NAME="tex2html2024"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
<A NAME="tex2html2026"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2029"
HREF="node100.html">Two-cosine carrier signal</A>
<B> Up:</B> <A NAME="tex2html2023"
HREF="node97.html">Examples</A>
<B> Previous:</B> <A NAME="tex2html2017"
HREF="node98.html">Wavetable pulse train</A>
&nbsp; <B> <A NAME="tex2html2025"
HREF="node4.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html2027"
HREF="node201.html">Index</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION001052000000000000000">
Simple formant generator</A>
</H2>
<P>
The next three examples demonstrate the sound of the varying pulse
width, graph its spectrum, and contrast the waveshaping pulse generator.
Skipping to Example F05.ring.modulation.pd (Figure <A HREF="#fig06.14">6.15</A>), we show the
simplest way of combining the pulse generator with a ring modulating
oscillator to make a formant. The pulse train from the previous example is
contained in the <TT>pd pulse-train</TT> subpatch. It is multiplied
by an oscillator whose frequency is controlled as a multiple of the
fundamental frequency. If the multiple is an integer, a harmonic sound
results. No attempt is made to control the relative phases of the components
of the pulse train and of the carrier sinusoid.
<P>
<DIV ALIGN="CENTER"><A NAME="fig06.14"></A><A NAME="6976"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 6.15:</STRONG>
Excerpt from example F05.ring.modulation.pd combining ring modulation
with a stretched wavetable pulse generator</CAPTION>
<TR><TD><IMG
WIDTH="352" HEIGHT="285" BORDER="0"
SRC="img614.png"
ALT="\begin{figure}\psfig{file=figs/fig06.14.ps}\end{figure}"></TD></TR>
</TABLE>
</DIV>
<P>
The next example, F06.packets.pd (Figure <A HREF="#fig06.15">6.16</A>), shows how to
combine the stretched wavetable pulse train with a sampled sinusoid to realize
movable formants, as described in Section <A HREF="node95.html#sect6.carrier">6.3</A>. The pulse
generator is as before, but now the carrier signal is a broken sinusoid.
Since its phase is the fundamental phase times the center frequency quotient,
the sample-to-sample phase increment is the same as for a sinusoid at the
center frequency. However, when the phase wraps around, the carrier phase
jumps to a different place in the cycle, as was illustrated in Figure
<A HREF="node95.html#fig06.07">6.7</A>.
Although the bandwidth quotient <!-- MATH
${\omega_b}/\omega$
-->
<IMG
WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img588.png"
ALT="${\omega_b}/\omega$"> must be at least
one, the center
frequency quotient <!-- MATH
${\omega_c}/\omega$
-->
<IMG
WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img587.png"
ALT="${\omega_c}/\omega$"> may be
as low as zero if desired.
<P>
<DIV ALIGN="CENTER"><A NAME="fig06.15"></A><A NAME="6986"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 6.16:</STRONG>
Using stretched wavetable synthesis to make a formant with movable
center frequency.</CAPTION>
<TR><TD><IMG
WIDTH="361" HEIGHT="373" BORDER="0"
SRC="img615.png"
ALT="\begin{figure}\psfig{file=figs/fig06.15.ps}\end{figure}"></TD></TR>
</TABLE>
</DIV>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html2028"
HREF="node100.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
<A NAME="tex2html2022"
HREF="node97.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up.png"></A>
<A NAME="tex2html2016"
HREF="node98.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev.png"></A>
<A NAME="tex2html2024"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
<A NAME="tex2html2026"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2029"
HREF="node100.html">Two-cosine carrier signal</A>
<B> Up:</B> <A NAME="tex2html2023"
HREF="node97.html">Examples</A>
<B> Previous:</B> <A NAME="tex2html2017"
HREF="node98.html">Wavetable pulse train</A>
&nbsp; <B> <A NAME="tex2html2025"
HREF="node4.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html2027"
HREF="node201.html">Index</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Miller Puckette
2006-12-30
</ADDRESS>
</BODY>
</HTML>