2022-04-12 22:02:59 -03:00
|
|
|
<!DOCTYPE html>
|
2022-04-12 21:54:18 -03:00
|
|
|
|
|
|
|
<!--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>
|
2022-04-12 22:02:59 -03:00
|
|
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
|
|
|
|
2022-04-12 21:54:18 -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-->
|
|
|
|
<A NAME="tex2html3273"
|
|
|
|
HREF="node182.html">
|
|
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="next.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<A NAME="tex2html3267"
|
|
|
|
HREF="node178.html">
|
|
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="up.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<A NAME="tex2html3261"
|
|
|
|
HREF="node180.html">
|
|
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="prev.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<A NAME="tex2html3269"
|
|
|
|
HREF="node4.html">
|
|
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="contents.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<A NAME="tex2html3271"
|
|
|
|
HREF="node201.html">
|
|
|
|
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="index.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<BR>
|
|
|
|
<B> Next:</B> <A NAME="tex2html3274"
|
|
|
|
HREF="node182.html">Phase vocoder time bender</A>
|
|
|
|
<B> Up:</B> <A NAME="tex2html3268"
|
|
|
|
HREF="node178.html">Examples</A>
|
|
|
|
<B> Previous:</B> <A NAME="tex2html3262"
|
|
|
|
HREF="node180.html">Narrow-band companding: noise suppression</A>
|
|
|
|
<B> <A NAME="tex2html3270"
|
|
|
|
HREF="node4.html">Contents</A></B>
|
|
|
|
<B> <A NAME="tex2html3272"
|
|
|
|
HREF="node201.html">Index</A></B>
|
|
|
|
<BR>
|
|
|
|
<BR>
|
|
|
|
<!--End of Navigation Panel-->
|
|
|
|
|
|
|
|
<H2><A NAME="SECTION001373000000000000000">
|
|
|
|
Timbre stamp (``vocoder")</A>
|
|
|
|
</H2>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<DIV ALIGN="CENTER"><A NAME="fig09.17"></A><A NAME="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
|
|
|
|
``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
|
|
|
|
``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-->
|
|
|
|
<A NAME="tex2html3273"
|
|
|
|
HREF="node182.html">
|
|
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="next.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<A NAME="tex2html3267"
|
|
|
|
HREF="node178.html">
|
|
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="up.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<A NAME="tex2html3261"
|
|
|
|
HREF="node180.html">
|
|
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="prev.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<A NAME="tex2html3269"
|
|
|
|
HREF="node4.html">
|
|
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="contents.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<A NAME="tex2html3271"
|
|
|
|
HREF="node201.html">
|
|
|
|
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
2022-04-12 22:02:59 -03:00
|
|
|
SRC="index.png"></A>
|
2022-04-12 21:54:18 -03:00
|
|
|
<BR>
|
|
|
|
<B> Next:</B> <A NAME="tex2html3274"
|
|
|
|
HREF="node182.html">Phase vocoder time bender</A>
|
|
|
|
<B> Up:</B> <A NAME="tex2html3268"
|
|
|
|
HREF="node178.html">Examples</A>
|
|
|
|
<B> Previous:</B> <A NAME="tex2html3262"
|
|
|
|
HREF="node180.html">Narrow-band companding: noise suppression</A>
|
|
|
|
<B> <A NAME="tex2html3270"
|
|
|
|
HREF="node4.html">Contents</A></B>
|
|
|
|
<B> <A NAME="tex2html3272"
|
|
|
|
HREF="node201.html">Index</A></B>
|
|
|
|
<!--End of Navigation Panel-->
|
|
|
|
<ADDRESS>
|
|
|
|
Miller Puckette
|
|
|
|
2006-12-30
|
|
|
|
</ADDRESS>
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|