1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
<HTML>
<TITLE>ADSYN</TITLE>
<CENTER><A NAME="adsyn"></A>
<HR><B><A HREF="../REFER.html">QUICK-REF</A></B> - <B><A HREF="../TITLE.html"><FONT SIZE=+1>C</FONT>soundManual</A></B>
- <B><A HREF="./SIG_GENS.html#">Top of this section</A></B> - <A HREF="./buzz.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="./pvread.html">Next</A>
<HR></CENTER>
<H2>
adsyn, pvoc</H2>
<PRE> ar <B>adsyn</B> kamod, kfmod, ksmod, ifilcod
ar <B>pvoc</B> ktimpnt, kfmod, ifilcod [, ispecwp]</PRE>
<HR>
<H4>
<U>DESCRIPTION</U></H4>
Output is an additive set of individually controlled sinusoids, using either
an oscillator bank or phase vocoder resynthesis.
<H4>
<U>INITIALIZATION</U></H4>
<I>ifilcod</I> - integer or character-string denoting a control-file derived
from analysis of an audio signal. An integer denotes the suffix of a file
<I>adsyn.m</I> or <I>pvoc.m</I>; a character-string (in double quotes)
gives a filename, optionally a full pathname. If not fullpath, the file
is sought first in the current directory, then in the one given by the
environment variable <A HREF="../Syntax/dir.html">SADIR</A>
(if defined). <B>adsyn</B> control contains breakpoint amplitude- and frequency-envelope
values organized for oscillator resynthesis, while <B>pvoc</B> control
contains similar data organized for fft resynthesis. Memory usage depends
on the size of the files involved, which are read and held entirely in
memory during computation but are shared by multiple calls ( <A HREF="../Modifier/lpread.html">see
also lpread</A>).
<P><I>ispecwp</I> (optional) - if non-zero, attempts to preserve the spectral
envelope while its frequency content is varied by <I>kfmod</I>. The default
value is zero.
<H4>
<U>PERFORMANCE</U></H4>
<B>adsyn</B> synthesizes complex time-varying timbres through the method
of additive synthesis. Any number of sinusoids, each individually controlled
in frequency and amplitude, can be summed by high-speed arithmetic to produce
a high-fidelity result.
<P>Component sinusoids are described by a control file describing amplitude
and frequency tracks in millisecond breakpoint fashion. Tracks are defined
by sequences of 16-bit binary integers:
<P>-1, time, amp, time, amp,...
<P>-2, time, freq, time, freq,...
<P>such as from hetrodyne filter analysis of an audio file. ( <A HREF="../Utility/general.htmlHETRO">For
details see the Appendix on hetro</A>.) The instantaneous amplitude and
frequency values are used by an internal fixed-point oscillator that adds
each active partial into an accumulated output signal. While there is a
practical limit (currently 50) on the number of contributing partials,
there is no restriction on their behavior over time. Any sound that can
be described in terms of the behavior of sinusoids can be synthesized by
<B>adsyn</B> alone.
<P>Sound described by an <B>adsyn</B> control file can also be modified
during re-synthesis. The signals <I>kamod,</I> <I>kfmod</I>, <I>ksmod</I>
will modify the amplitude, frequency, and speed of contributing partials.
These are multiplying factors, with <I>kfmod</I> modifying the cps frequency
and <I>ksmod</I> modifying the <I>speed</I> with which the millisecond
bread-point line-segments are traversed. Thus .7, 1.5, and 2 will give
rise to a softer sound, a perfect fifth higher, but only half as long.
The values 1,1,1 will leave the sound unmodified. Each of these inputs
can be a control signal.
<P><B>pvoc</B> implements signal reconstruction using an fft-based phase
vocoder. The control data stems from a precomputed analysis file with a
known frame rate. The passage of time through this file is specified by
<I>ktimpnt</I>, which represents the time in seconds. <I>ktimpnt</I> must
always be positive, but can move forwards or backwards in time, be stationary
or discontinuous, as a pointer into the analysis file. <I>kfmod</I> is
a control-rate transposition factor: a value of 1 incurs no transposition,
1.5 transposes up a perfect fifth, and .5 down an octave.
<P>This implementation of <B>pvoc</B> was written by Dan Ellis. It is based
in part on the system of Mark Dolson, but the pre-analysis concept is new.
<CENTER><P>
<HR><B><A HREF="../REFER.html">QUICK-REF</A></B> - <B><A HREF="../TITLE.html"><FONT SIZE=+1>C</FONT>soundManual</A></B>
- <B><A HREF="./SIG_GENS.html#">Top of this section</A></B> - <A HREF="./buzz.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="./pvread.html">Next</A>
<HR></CENTER>
<P><CENTER>
<B><I><FONT COLOR="#006600">HTML Csound Manual - <FONT SIZE=-1>©
Jean Piché & Peter J. Nix, 1994-97</FONT></FONT></I></B>
</CENTER>
</HTML>
|