miller-book/node181.html

173 lines
5.6 KiB
HTML
Raw Normal View History

<!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">
2022-04-12 23:17:03 -03:00
<TITLE>Timbre stamp ("vocoder")</TITLE>
<META NAME="description" CONTENT="Timbre stamp ("vocoder")">
<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="node182.html">
<LINK REL="previous" HREF="node180.html">
<LINK REL="up" HREF="node178.html">
<LINK REL="next" HREF="node182.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
2022-04-12 23:32:40 -03:00
<A ID="tex2html3273"
HREF="node182.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
2022-04-12 23:32:40 -03:00
<A ID="tex2html3267"
HREF="node178.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up.png"></A>
2022-04-12 23:32:40 -03:00
<A ID="tex2html3261"
HREF="node180.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev.png"></A>
2022-04-12 23:32:40 -03:00
<A ID="tex2html3269"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
2022-04-12 23:32:40 -03:00
<A ID="tex2html3271"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
2022-04-12 23:32:40 -03:00
<B> Next:</B> <A ID="tex2html3274"
HREF="node182.html">Phase vocoder time bender</A>
2022-04-12 23:32:40 -03:00
<B> Up:</B> <A ID="tex2html3268"
HREF="node178.html">Examples</A>
2022-04-12 23:32:40 -03:00
<B> Previous:</B> <A ID="tex2html3262"
HREF="node180.html">Narrow-band companding: noise suppression</A>
2022-04-12 23:32:40 -03:00
&nbsp; <B> <A ID="tex2html3270"
HREF="node4.html">Contents</A></B>
2022-04-12 23:32:40 -03:00
&nbsp; <B> <A ID="tex2html3272"
HREF="node201.html">Index</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
2022-04-12 23:32:40 -03:00
<H2><A ID="SECTION001373000000000000000">
2022-04-12 23:17:03 -03:00
Timbre stamp ("vocoder")</A>
</H2>
<P>
2022-04-12 23:32:40 -03:00
<DIV ALIGN="CENTER"><A ID="fig09.17"></A><A ID="12742"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 9.17:</STRONG>
Timbre stamp.</CAPTION>
<TR><TD><IMG
WIDTH="596" HEIGHT="523" BORDER="0"
SRC="img1236.png"
ALT="\begin{figure}\psfig{file=figs/fig09.17.ps}\end{figure}"></TD></TR>
</TABLE>
</DIV>
<P>
Example I05.compressor.pd (Figure <A HREF="#fig09.17">9.17</A>)
is another channel compander which is presented in preparation
for Example I06.timbre.stamp.pd, which we will examine next. This is a realization of
the timbre stamp of Figure <A HREF="node174.html#fig09.09">9.9</A>, slightly modified.
<P>
There are two inputs, one at left to be filtered (and whose Fourier transform
is used for resynthesis after modifying the magnitudes), and one at right which
acts as a control source. Roughly speaking, if the two magnitudes
are <IMG
WIDTH="30" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img1167.png"
ALT="$f[k]$"> for the filter input and <IMG
WIDTH="28" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img1237.png"
ALT="$c[k]$"> for the control source, we just
2022-04-12 23:17:03 -03:00
"whiten" the filter input, multiplying by <IMG
WIDTH="46" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img1238.png"
ALT="$1/f[k]$">, and then stamp the control
magnitudes onto the result by further multiplying by <IMG
WIDTH="28" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img1237.png"
ALT="$c[k]$">. In practice, we
must limit the gain to some reasonable maximum value. In this patch this is
done by limiting the whitening factor <IMG
WIDTH="46" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img1238.png"
ALT="$1/f[k]$"> to a specified maximum value
using the <TT>clip~</TT> object. The limit is controlled by the
2022-04-12 23:17:03 -03:00
"squelch" parameter, which is squared and divided by 100 to map values
from 0 to 100 to a useful range.
<P>
Another possible scheme is to limit the gain after forming the quotient
<IMG
WIDTH="63" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img1239.png"
ALT="$c[k]/f[k]$">. The gain limitation may in either case be frequency dependent.
It is also sometimes useful to raise the gain to a power <IMG
WIDTH="11" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img57.png"
ALT="$p$"> between 0
and 1; if 1, this is a timbre stamp and if 0, it passes the filter input through
unchanged, and values in between give a smooth interpolation between the two.
<P>
<HR>
<!--Navigation Panel-->
2022-04-12 23:32:40 -03:00
<A ID="tex2html3273"
HREF="node182.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
2022-04-12 23:32:40 -03:00
<A ID="tex2html3267"
HREF="node178.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up.png"></A>
2022-04-12 23:32:40 -03:00
<A ID="tex2html3261"
HREF="node180.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev.png"></A>
2022-04-12 23:32:40 -03:00
<A ID="tex2html3269"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
2022-04-12 23:32:40 -03:00
<A ID="tex2html3271"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
2022-04-12 23:32:40 -03:00
<B> Next:</B> <A ID="tex2html3274"
HREF="node182.html">Phase vocoder time bender</A>
2022-04-12 23:32:40 -03:00
<B> Up:</B> <A ID="tex2html3268"
HREF="node178.html">Examples</A>
2022-04-12 23:32:40 -03:00
<B> Previous:</B> <A ID="tex2html3262"
HREF="node180.html">Narrow-band companding: noise suppression</A>
2022-04-12 23:32:40 -03:00
&nbsp; <B> <A ID="tex2html3270"
HREF="node4.html">Contents</A></B>
2022-04-12 23:32:40 -03:00
&nbsp; <B> <A ID="tex2html3272"
HREF="node201.html">Index</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Miller Puckette
2006-12-30
</ADDRESS>
</BODY>
</HTML>