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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (X11; I; IRIX 6.3 IP32) [Netscape]">
<TITLE>FOG</TITLE>
</HEAD>
<BODY>
<CENTER><A NAME="fog"></A>
<HR><B><A HREF="../REFER.html">QUICK-REF</A></B> - <B><A HREF="../TITLE.html"><FONT SIZE=+1>C</FONT>soundManual</A>
- <A HREF="SIG_GENS.html#">Top of this section</A></B> - <A HREF="fof.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="grain.html">Next</A>
<HR></CENTER>
<H2>
fog</H2>
<PRE> ar <B>fog</B> xamp, xdens, xtrans, xspd, koct, kband, kris, \
kdur, kdec, iolaps, ifna, ifnb, itotdur[, iphs] \
[, itmode]</PRE>
<HR>
<H4>
<U>DESCRIPTION</U></H4>
Audio output is a succession of grains derived from data in a stored function
table <I>ifna</I>. The local envelope of these grains and their timing
is based on the model of <A HREF="fof.html">fof</A> synthesis and permits
detailed control of the granular synthesis.
<H4>
<U>INITIALIZATION</U></H4>
<I>iolaps</I> - number of pre-located spaces needed to hold overlapping
grain data. Overlaps are density dependent, and the space required depends
on the maximum value of <I>xdens</I>* <I>kdur</I>. Can be over-estimated
at no computation cost. Uses less than 50 bytes of memory per <I>iolaps</I>.
<P><I>ifna</I>, <I>ifnb</I> - table numbers of two stored functions. The
first is the data used for granulation, usually from a soundfile (GEN01).
The second is a rise shape, used forwards and backwards to shape the grain
rise and decay; this is normally a sigmoid (GEN19) but may be linear (GEN07).
<P><I>itotdur</I> - total time during which this <B>fog</B> will be active.
Normally set to p3. No new grain is created if it cannot complete its <I>kdur</I>
within the remaining <I>itotdur</I>.
<P><I>iphs</I> (optional) - initial phase of the fundamental, expressed
as a fraction of a cycle (0 to 1). The default value is 0.
<P><I>itmode</I> (optional) - transposition mode. If zero, each grain keeps
the <I>xtrans</I> value it was launched with. if non-zero, each is influenced
by <I>xtrans</I> continuously. The default value is 0.
<H4>
<U>PERFORMANCE</U></H4>
<I>xamp</I> - amplitude factor. Amplitude is also dependent on the number
of overlapping grains, the interaction of the rise shape (<I>ifnb</I>)
and the exponential decay (<I>kband</I>), and the scaling of the grain
waveform (<I>ifna</I>). The actual amplitude may therefore exceed <I>xamp</I>.
<P><I>xdens</I> - density. The frequency of grains per second.
<P><I>xtrans</I> - transposition factor. The rate at which data from the
stored function table <I>ifna</I> is read within each grain. This has the
effect of transposing the original material. A value of 1 produces the
original pitch. Higher values transpose upwards, lower values downwards.
Negative values result in the function table being read backwards.
<P><I>xspd</I> - speed. The rate at which successive grains advance through
the stored function table <I>ifna</I>. <I>xspd</I> is in the form of an
index (0 to 1) to <I>ifna</I>. This determines the movement of a pointer
used as the starting point for reading data within each grain. (<I>xtrans</I>
determines the rate at which data is read starting from this pointer.)
<P><I>koct</I> - octaviation index. The operation of this parameter is
identical to that in fof.
<P><I>kband</I>, <I>kris</I>, <I>kdur</I>, <I>kdec</I> - grain envelope
shape. These parameters determine the exponential decay (<I>kband</I>),
and the rise (<I>kris</I>), overall duration (<I>kdur</I>,) and decay (<I>kdec</I>
) times of the grain envelope. Their operation is identical to that of
the local envelope parameters in fof.
<P>The Csound <B>fog</B> generator is by Michael Clarke, extending his
earlier work based on IRCAM's fof algorithm.
<H4>
<U>EXAMPLE:</U></H4>
<PRE> ;p4 = transposition factor
;p5 = speed factor
;p6 = function table for grain data
i1 = sr/ftlen(p6) ;scaling to reflect sample rate and table length
a1 <B>phasor</B> i1*p5 ;index for speed
a2 <B>fog</B> 5000, 100, p4, a1, 0, 0, , .01, .02, .01, 2, p6, 1, p3, 0, 1</PRE>
<H4>
<U>AUTHOR:</U></H4>
Michael Clark
<BR>Huddersfield
<BR>May 1997
<CENTER></CENTER>
<CENTER><P>
<HR><B><A HREF="../REFER.html">QUICK-REF</A></B> - <B><A HREF="../TITLE.html"><FONT SIZE=+1>C</FONT>soundManual</A>
- <A HREF="SIG_GENS.html#">Top of this section</A></B> - <A HREF="fof.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="grain.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>
|