File: fof.html

package info (click to toggle)
csound-doc 3.47b2-2
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 1,492 kB
  • ctags: 272
  • sloc: makefile: 36
file content (111 lines) | stat: -rw-r--r-- 5,848 bytes parent folder | download | duplicates (6)
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
<HTML>
<TITLE>FOF</TITLE>
<CENTER><A NAME="fof"></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="./pvread.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="./fog.html">Next</A>&nbsp;
<HR></CENTER>

<H2>
fof, fof2</H2>

<PRE>&nbsp;&nbsp;&nbsp;&nbsp; ar&nbsp;&nbsp; <B>fof</B>&nbsp; xamp, xfund, xform, koct, kband, kris, kdur, kdec, \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iolaps, ifna, ifnb, itotdur[, iphs][, ifmode]&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; ar&nbsp;&nbsp; <B>fof2</B>&nbsp; xamp, xfund, xform, koct, kband, kris, kdur, kdec, \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iolaps, ifna, ifnb, itotdur, kphs, kgliss</PRE>

<HR>
<H4>
<U>DESCRIPTION</U></H4>
Audio output is a succession of sinusoid bursts initiated at frequency
<I>xfund</I> with a spectral peak at <I>xform</I>. For <I>xfund</I> above
25 Hz these bursts produce a speech-like formant with spectral characteristics
determined by the k-input parameters. For lower fundamentals this generator
provides a special form of granular synthesis.

<P><B>fof2</B> implements k-rate incremental indexing into <I>ifna</I>
function with each successive burst.
<H4>
<U>INITIALIZATION</U></H4>
<I>iolaps</I> - number of preallocated spaces needed to hold overlapping
burst data. Overlaps are frequency dependent, and the space required depends
on the maximum value of <I>xfund * kdur</I>. Can be over-estimated at no
computation cost. Uses less than 50 bytes of memory per <I>iolap</I>.

<P><I>ifna, ifnb</I>- table numbers of two stored functions. The first
is a sine table for sineburst synthesis (size of at least 4096 recommended).
The second is a rise shape, used forwards and backwards to shape the sineburst
rise and decay; this may be linear ( <A HREF="../Function/gen05.html">GEN07</A>)
or perhaps a sigmoid ( <A HREF="../Function/gen09.html">GEN19</A>).

<P><I>itotdur</I> - total time during which this <B>fof</B> will be active.
Normally set to p3. No new sineburst 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>ifmode</I> (optional) - formant frequency mode. If zero, each sineburst
keeps the <I>xform</I> frequency it was launched with. If non-zero, each
is influenced by <I>xform</I> continuously. The default value is 0.
<H4>
<U>PERFORMANCE</U></H4>
<I>xamp</I> - peak amplitude of each sineburst, observed at the true end
of its rise pattern. The rise may exceed this value given a large bandwidth
(say, Q &lt; 10) and/or when the bursts are overlapping.

<P><I>xfund</I> - the fundamental frequency (in Hertz) of the impulses
that create new sinebursts.

<P><I>xform</I> - the formant frequency, i.e. freq of the sinusoid burst
induced by each <I>xfund</I> impulse. This frequency can be fixed for each
burst or can vary continuously (see <I>ifmode</I>).

<P><I>koct</I> - octaviation index, normally zero. If greater than zero,
lowers the effective <I>xfund</I> frequency by attenuating odd-numbered
sinebursts. Whole numbers are full octaves, fractions transitional.

<P><I>kband</I> - the formant bandwidth (at -6dB), expressed in Hz. The
bandwidth determines the rate of exponential decay throughout the sineburst,
before the enveloping described below is applied.

<P><I>kris, kdur, kdec</I> - rise, overall duration, and decay times (in
seconds) of the sinusoid burst. These values apply an enveloped duration
to each burst, in similar fashion to a Csound <B><A HREF="#linen">linen</A></B>
generator but with rise and decay shapes derived from the <I>ifnb</I> input.
<I>kris</I> inversely determines the skirtwidth (at -40 dB) of the induced
formant region. <I>kdur</I> affects the density of sineburst overlaps,
and thus the speed of computation. Typical values for vocal imitation are
.003,.02,.007.

<P>In the <B>fof2</B> implementation, <I>kphs</I> allows k-rate indexing
of function table <I>ifna</I> with each succesive burst, making it suitable
for time-warping applications. Values of for <I>kphs</I> are normalized
from 0 to 1, 1 being the end of the function table <I>ifna</I>. <I>kgliss</I>
- sets the end pitch of each grain relative to the initial pitch, in octaves.
Thus <I>kgliss</I> = 2 means that the grain ends two octaves above its
initial pitch, while <I>kgliss</I> = -5/3 has the grain ending a perfect
major sixth below. <B>Note</B>: There are no optional parameters in <B>fof2</B>

<P>Csound's <B>fof</B> generator is loosely based on Michael Clarke's C-coding
of IRCAM's CHANT program (Xavier Rodet et al.). Each fof produces a single
formant, and the output of four or more of these can be summed to produce
a rich vocal imitation. <B>fof</B> synthesis is a special form of granular
synthesis, and this implementation aids transformation between vocal imitation
and granular textures. Computation speed depends on <I>kdur, xfund</I>,
and the density of any overlaps.
<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="./pvread.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="./fog.html">Next</A>&nbsp;
<HR></CENTER>


<P><CENTER>
<B><I><FONT COLOR="#006600">HTML Csound Manual - <FONT SIZE=-1>&copy;
Jean Pich&eacute; &amp; Peter J. Nix, 1994-97</FONT></FONT></I></B>&nbsp;
</CENTER>
</HTML>