<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>fof2</title> <link rel="stylesheet" type="text/css" href="csound.css" /> <meta name="generator" content="DocBook XSL Stylesheets V1.76.1" /> <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" /> <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" /> <link rel="prev" href="fof.html" title="fof" /> <link rel="next" href="fofilter.html" title="fofilter" /> </head> <body> <div class="navheader"> <table width="100%" summary="Navigation header"> <tr> <th colspan="3" align="center">fof2</th> </tr> <tr> <td width="20%" align="left"><a accesskey="p" href="fof.html">Prev</a> </td> <th width="60%" align="center">Orchestra Opcodes and Operators</th> <td width="20%" align="right"> <a accesskey="n" href="fofilter.html">Next</a></td> </tr> </table> <hr /> </div> <div class="refentry" title="fof2"> <a id="fof2"></a> <div class="titlepage"></div> <a id="IndexFof2" class="indexterm"></a> <div class="refnamediv"> <h2> <span class="refentrytitle">fof2</span> </h2> <p>fof2 — Produces sinusoid bursts including k-rate incremental indexing with each successive burst. </p> </div> <div class="refsect1" title="Description"> <a id="idp23831984"></a> <h2>Description</h2> <p> Audio output is a succession of sinusoid bursts initiated at frequency <span class="emphasis"><em>xfund</em></span> with a spectral peak at <span class="emphasis"><em>xform</em></span>. For <span class="emphasis"><em>xfund</em></span> 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> <p> <span class="emphasis"><em>fof2</em></span> implements k-rate incremental indexing into <span class="emphasis"><em>ifna</em></span> function with each successive burst. </p> </div> <div class="refsect1" title="Syntax"> <a id="idp23836528"></a> <h2>Syntax</h2> <pre class="synopsis">ares <span class="command"><strong>fof2</strong></span> xamp, xfund, xform, koct, kband, kris, kdur, kdec, iolaps, \ ifna, ifnb, itotdur, kphs, kgliss [, iskip]</pre> </div> <div class="refsect1" title="Initialization"> <a id="idp23837720"></a> <h2>Initialization</h2> <p> <span class="emphasis"><em>iolaps</em></span> -- number of preallocated spaces needed to hold overlapping burst data. Overlaps are frequency dependent, and the space required depends on the maximum value of <span class="emphasis"><em>xfund * kdur</em></span>. Can be over-estimated at no computation cost. Uses less than 50 bytes of memory per <span class="emphasis"><em>iolap</em></span>. </p> <p> <span class="emphasis"><em>ifna, ifnb</em></span> -- 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 class="link" href="GEN07.html" title="GEN07"><em class="citetitle">GEN07</em></a>) or perhaps a sigmoid (<a class="link" href="GEN19.html" title="GEN19"><em class="citetitle">GEN19</em></a>). </p> <p> <span class="emphasis"><em>itotdur</em></span> -- total time during which this <span class="emphasis"><em>fof</em></span> will be active. Normally set to p3. No new sineburst is created if it cannot complete its <span class="emphasis"><em>kdur</em></span> within the remaining <span class="emphasis"><em>itotdur</em></span>. </p> <p> <span class="emphasis"><em>iskip</em></span> (optional, default=0) -- If non-zero, skip initialization (allows legato use). </p> </div> <div class="refsect1" title="Performance"> <a id="idp23898632"></a> <h2>Performance</h2> <p> <span class="emphasis"><em>xamp</em></span> -- 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 < 10) and/or when the bursts are overlapping. </p> <p> <span class="emphasis"><em>xfund</em></span> -- the fundamental frequency (in Hertz) of the impulses that create new sinebursts. </p> <p> <span class="emphasis"><em>xform</em></span> -- the formant frequency, i.e. freq of the sinusoid burst induced by each <span class="emphasis"><em>xfund</em></span> impulse. This frequency can be fixed for each burst or can vary continuously (see <span class="emphasis"><em>ifmode</em></span>). </p> <p> <span class="emphasis"><em>koct</em></span> -- octaviation index, normally zero. If greater than zero, lowers the effective <span class="emphasis"><em>xfund</em></span> frequency by attenuating odd-numbered sinebursts. Whole numbers are full octaves, fractions transitional. </p> <p> <span class="emphasis"><em>kband</em></span> -- 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> <p> <span class="emphasis"><em>kris, kdur, kdec</em></span> -- 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 <span class="emphasis"><em>linen</em></span> generator but with rise and decay shapes derived from the <span class="emphasis"><em>ifnb</em></span> input. <span class="emphasis"><em>kris</em></span> inversely determines the skirtwidth (at -40 dB) of the induced formant region. <span class="emphasis"><em>kdur</em></span> affects the density of sineburst overlaps, and thus the speed of computation. Typical values for vocal imitation are .003,.02,.007. </p> <p> <span class="emphasis"><em>kphs</em></span> -- allows k-rate indexing of function table <span class="emphasis"><em>ifna</em></span> with each successive burst, making it suitable for time-warping applications. Values of <span class="emphasis"><em>kphs</em></span> are normalized from 0 to 1, 1 being the end of the function table <span class="emphasis"><em>ifna</em></span>. </p> <p> <span class="emphasis"><em>kgliss</em></span> -- sets the end pitch of each grain relative to the initial pitch, in octaves. Thus <span class="emphasis"><em>kgliss</em></span> = 2 means that the grain ends two octaves above its initial pitch, while <span class="emphasis"><em>kgliss</em></span> = -3/4 has the grain ending a major sixth below. Each 1/12 added to <span class="emphasis"><em>kgliss</em></span> raises the ending frequency one half-step. If you want no glissando, set <span class="emphasis"><em>kgliss</em></span> to 0. </p> <p> Csound's <a class="link" href="fof.html" title="fof"><em class="citetitle">fof</em></a> generator is loosely based on Michael Clarke's C-coding of IRCAM's <span class="emphasis"><em>CHANT</em></span> program (Xavier Rodet et al.). Each <span class="emphasis"><em>fof</em></span> produces a single formant, and the output of four or more of these can be summed to produce a rich vocal imitation. <span class="emphasis"><em>fof</em></span> synthesis is a special form of granular synthesis, and this implementation aids transformation between vocal imitation and granular textures. Computation speed depends on <span class="emphasis"><em>kdur, xfund</em></span>, and the density of any overlaps. </p> <div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"> <table border="0" summary="Note"> <tr> <td rowspan="2" align="center" valign="top" width="25"> <img alt="[Note]" src="images/note.png" /> </td> <th align="left">Note</th> </tr> <tr> <td align="left" valign="top"> <p>The ending frequency of any grain is equal to <span class="emphasis"><em>kform</em></span> * (2 ^ <span class="emphasis"><em>kgliss</em></span>), so setting <span class="emphasis"><em>kgliss</em></span> too high may result in aliasing. For example, <span class="emphasis"><em>kform</em></span> = 3000 and <span class="emphasis"><em>kgliss</em></span> = 3 places the ending frequency over the Nyquist if <span class="emphasis"><em>sr</em></span> = 44100. It is a good idea to scale <span class="emphasis"><em>kgliss</em></span> accordingly.</p> </td> </tr> </table> </div> </div> <div class="refsect1" title="Examples"> <a id="idp23911296"></a> <h2>Examples</h2> <p> Here is an example of the fof2 opcode. It uses the file <a class="ulink" href="examples/fof2.csd" target="_top"><em class="citetitle">fof2.csd</em></a>. </p> <div class="example"> <a id="idp23912264"></a> <p class="title"> <strong>Example 281. Example of the fof2 opcode.</strong> </p> <div class="example-contents"> <p>See the sections <a class="link" href="UsingRealTime.html" title="Real-Time Audio"><em class="citetitle">Real-time Audio</em></a> and <a class="link" href="CommandFlags.html" title="Csound command line"><em class="citetitle">Command Line Flags</em></a> for more information on using command line flags.</p> <pre class="programlisting"> <span class="csdtag"><CsoundSynthesizer></span> <span class="csdtag"><CsOptions></span> <span class="comment">; Select audio/midi flags here according to platform</span> <span class="comment">; Audio out Audio in</span> -odac -iadc <span class="comment">;;;RT audio I/O</span> <span class="comment">; For Non-realtime ouput leave only the line below:</span> <span class="comment">; -o fof2.wav -W ;;; for file output any platform</span> <span class="csdtag"></CsOptions></span> <span class="csdtag"><CsInstruments></span> <span class="ohdr">sr</span> <span class="op">=</span> 44100 <span class="ohdr">ksmps</span> <span class="op">=</span> 128 <span class="ohdr">nchnls</span> <span class="op">=</span> 2 <span class="comment">;By Andres Cabrera 2007</span> <span class="oblock">instr</span> 1 <span class="comment">;table-lookup vocal synthesis</span> kris <span class="opc">init</span> p12 kdur <span class="opc">init</span> p13 kdec <span class="opc">init</span> p14 iolaps <span class="opc">init</span> p15 ifna <span class="opc">init</span> 1 <span class="comment">; Sine wave</span> ifnb <span class="opc">init</span> 2 <span class="comment">; Straight line rise shape</span> itotdur <span class="opc">init</span> p3 kphs <span class="opc">init</span> 0 <span class="comment">; No phase modulation (constant kphs)</span> kfund <span class="opc">line</span> p4, p3, p5 kform <span class="opc">line</span> p6, p3, p7 koct <span class="opc">line</span> p8, p3, p9 kband <span class="opc">line</span> p10, p3, p11 kgliss <span class="opc">line</span> p16, p3, p17 kenv <span class="opc">linen</span> 5000, 0.03, p3, 0.03 <span class="comment">;to avoid clicking</span> aout <span class="opc">fof2</span> kenv, kfund, kform, koct, kband, kris, kdur, kdec, iolaps, \ ifna, ifnb, itotdur, kphs, kgliss <span class="opc">outs</span> aout, aout <span class="oblock">endin</span> <span class="csdtag"></CsInstruments></span> <span class="csdtag"><CsScore></span> <span class="stamnt">f</span>1 0 8192 10 1 <span class="stamnt">f</span>2 0 4096 7 0 4096 1 <span class="comment">; kfund1 kfund2 kform1 kform2 koct1 koct2 kband1 kband2 kris kdur kdec iolaps kgliss1 kgliss2</span> <span class="stamnt">i</span>1 0 4 220 220 510 510 0 0 30 30 0.01 0.03 0.01 20 1 1 <span class="stamnt">i</span>1 + . 220 220 510 910 0 0 30 30 0.01 0.03 0.01 20 1 1 <span class="stamnt">i</span>1 + . 220 220 510 510 0 0 100 30 0.01 0.03 0.01 20 1 1 <span class="stamnt">i</span>1 + . 220 220 510 510 0 1 30 30 0.01 0.03 0.01 20 1 1 <span class="stamnt">i</span>1 + . 220 220 510 510 0 0 30 30 0.01 0.03 0.01 20 1 2 <span class="stamnt">i</span>1 + . 220 220 510 510 0 0 30 30 0.01 0.03 0.01 20 0.5 1 <span class="stamnt">i</span>1 + . 220 220 510 510 0 0 30 30 0.01 0.05 0.01 100 1 1 <span class="stamnt">i</span>1 + . 220 440 510 510 0 0 30 30 0.01 0.05 0.01 100 1 1 <span class="stamnt">e</span> <span class="csdtag"></CsScore></span> <span class="csdtag"></CsoundSynthesizer></span> </pre> </div> </div> <p><br class="example-break" /> </p> <p> Here is another example of the fof2 opcode, which generates vowel tones using formants generated by fof2 coinciding with values from the <a class="link" href="MiscFormants.html" title="Appendix D. Formant Values"><em class="citetitle">Formant Values</em></a> appendix. It uses the file <a class="ulink" href="examples/fof2-2.csd" target="_top"><em class="citetitle">fof2-2.csd</em></a>. </p> <div class="example"> <a id="idp23915664"></a> <p class="title"> <strong>Example 282. Example of the fof2 opcode to produce vowel sounds.</strong> </p> <div class="example-contents"> <pre class="programlisting"> <span class="csdtag"><CsoundSynthesizer></span> <span class="csdtag"><CsOptions></span> <span class="comment">; Select audio/midi flags here according to platform</span> <span class="comment">; Audio out Audio in</span> -odac -iadc <span class="comment">;;;RT audio I/O</span> <span class="comment">; For Non-realtime ouput leave only the line below:</span> <span class="comment">; -o fof2.wav -W ;;; for file output any platform</span> <span class="csdtag"></CsOptions></span> <span class="csdtag"><CsInstruments></span> <span class="ohdr">sr</span> <span class="op">=</span> 44100 <span class="ohdr">ksmps</span> <span class="op">=</span> 128 <span class="ohdr">nchnls</span> <span class="op">=</span> 2 <span class="comment">; Example by Chuckk Hubbard 2007</span> <span class="oblock">instr</span> 1 <span class="comment">;table-lookup vocal synthesis</span> iolaps <span class="op">=</span> 120 ifna <span class="op">=</span> 1 <span class="comment">;f1 - sine wave</span> ifnb <span class="op">=</span> 2 <span class="comment">;f2 - linear rise shape</span> itotdur <span class="op">=</span> p3 iamp <span class="op">=</span> p4 <span class="op">*</span> <span class="ohdr">0dbfs</span> ifreq1 <span class="op">=</span> p5 <span class="comment">;starting frequency</span> ifreq2 <span class="op">=</span> p6 <span class="comment">;ending frequency</span> kamp <span class="opc">linseg</span> 0, .003, iamp, itotdur<span class="op">-</span>.007, iamp, .003, 0, .001, 0 kfund <span class="opc">expseg</span> ifreq1, itotdur, ifreq2 koct <span class="opc">init</span> 0 kris <span class="opc">init</span> .003 kdur <span class="opc">init</span> .02 kdec <span class="opc">init</span> .007 kphs <span class="opc">init</span> 0 kgliss <span class="opc">init</span> 0 iforma <span class="op">=</span> p7 <span class="comment">;starting spectrum</span> iformb <span class="op">=</span> p8 <span class="comment">;ending spectrum</span> iform1a <span class="opc">tab_i</span> 0, iforma <span class="comment">;read values of 5 formants for 1st spectrum</span> iform2a <span class="opc">tab_i</span> 1, iforma iform3a <span class="opc">tab_i</span> 2, iforma iform4a <span class="opc">tab_i</span> 3, iforma iform5a <span class="opc">tab_i</span> 4, iforma idb1a <span class="opc">tab_i</span> 5, iforma <span class="comment">;read decibel levels for same 5 formants</span> idb2a <span class="opc">tab_i</span> 6, iforma idb3a <span class="opc">tab_i</span> 7, iforma idb4a <span class="opc">tab_i</span> 8, iforma idb5a <span class="opc">tab_i</span> 9, iforma iband1a <span class="opc">tab_i</span> 10, iforma <span class="comment">;read bandwidths for same 5 formants</span> iband2a <span class="opc">tab_i</span> 11, iforma iband3a <span class="opc">tab_i</span> 12, iforma iband4a <span class="opc">tab_i</span> 13, iforma iband5a <span class="opc">tab_i</span> 14, iforma iamp1a <span class="op">=</span> <span class="opc">ampdb</span>(idb1a) <span class="comment">;convert db to linear multipliers</span> iamp2a <span class="op">=</span> <span class="opc">ampdb</span>(idb2a) iamp3a <span class="op">=</span> <span class="opc">ampdb</span>(idb3a) iamp4a <span class="op">=</span> <span class="opc">ampdb</span>(idb4a) iamp5a <span class="op">=</span> <span class="opc">ampdb</span>(idb5a) iform1b <span class="opc">tab_i</span> 0, iformb <span class="comment">;values of 5 formants for 2nd spectrum</span> iform2b <span class="opc">tab_i</span> 1, iformb iform3b <span class="opc">tab_i</span> 2, iformb iform4b <span class="opc">tab_i</span> 3, iformb iform5b <span class="opc">tab_i</span> 4, iformb idb1b <span class="opc">tab_i</span> 5, iformb <span class="comment">;decibel levels for 2nd set of formants</span> idb2b <span class="opc">tab_i</span> 6, iformb idb3b <span class="opc">tab_i</span> 7, iformb idb4b <span class="opc">tab_i</span> 8, iformb idb5b <span class="opc">tab_i</span> 9, iformb iband1b <span class="opc">tab_i</span> 10, iformb <span class="comment">;bandwidths for 2nd set of formants</span> iband2b <span class="opc">tab_i</span> 11, iformb iband3b <span class="opc">tab_i</span> 12, iformb iband4b <span class="opc">tab_i</span> 13, iformb iband5b <span class="opc">tab_i</span> 14, iformb iamp1b <span class="op">=</span> <span class="opc">ampdb</span>(idb1b) <span class="comment">;convert db to linear multipliers</span> iamp2b <span class="op">=</span> <span class="opc">ampdb</span>(idb2b) iamp3b <span class="op">=</span> <span class="opc">ampdb</span>(idb3b) iamp4b <span class="op">=</span> <span class="opc">ampdb</span>(idb4b) iamp5b <span class="op">=</span> <span class="opc">ampdb</span>(idb5b) kform1 <span class="opc">line</span> iform1a, itotdur, iform1b <span class="comment">;transition between formants</span> kform2 <span class="opc">line</span> iform2a, itotdur, iform2b kform3 <span class="opc">line</span> iform3a, itotdur, iform3b kform4 <span class="opc">line</span> iform4a, itotdur, iform4b kform5 <span class="opc">line</span> iform5a, itotdur, iform5b kband1 <span class="opc">line</span> iband1a, itotdur, iband1b <span class="comment">;transition of bandwidths</span> kband2 <span class="opc">line</span> iband2a, itotdur, iband2b kband3 <span class="opc">line</span> iband3a, itotdur, iband3b kband4 <span class="opc">line</span> iband4a, itotdur, iband4b kband5 <span class="opc">line</span> iband5a, itotdur, iband5b kamp1 <span class="opc">line</span> iamp1a, itotdur, iamp1b <span class="comment">;transition of amplitudes of formants</span> kamp2 <span class="opc">line</span> iamp2a, itotdur, iamp2b kamp3 <span class="opc">line</span> iamp3a, itotdur, iamp3b kamp4 <span class="opc">line</span> iamp4a, itotdur, iamp4b kamp5 <span class="opc">line</span> iamp5a, itotdur, iamp5b <span class="comment">;5 formants for each spectrum</span> a1 <span class="opc">fof2</span> kamp1, kfund, kform1, koct, kband1, kris, kdur, kdec, iolaps, ifna, ifnb, itotdur, kphs, kgliss a2 <span class="opc">fof2</span> kamp2, kfund, kform2, koct, kband2, kris, kdur, kdec, iolaps, ifna, ifnb, itotdur, kphs, kgliss a3 <span class="opc">fof2</span> kamp3, kfund, kform3, koct, kband3, kris, kdur, kdec, iolaps, ifna, ifnb, itotdur, kphs, kgliss a4 <span class="opc">fof2</span> kamp4, kfund, kform4, koct, kband4, kris, kdur, kdec, iolaps, ifna, ifnb, itotdur, kphs, kgliss a5 <span class="opc">fof2</span> kamp5, kfund, kform5, koct, kband5, kris, kdur, kdec, iolaps, ifna, ifnb, itotdur, kphs, kgliss aout <span class="op">=</span> (a1<span class="op">+</span>a2<span class="op">+</span>a3<span class="op">+</span>a4<span class="op">+</span>a5) <span class="op">*</span> kamp<span class="op">/</span>5 <span class="comment">;sum and scale</span> aenv <span class="opc">linen</span> 1, 0.05, p3, 0.05 <span class="comment">;to avoid clicking</span> <span class="opc">outs</span> aout<span class="op">*</span>aenv, aout<span class="op">*</span>aenv <span class="oblock">endin</span> <span class="csdtag"></CsInstruments></span> <span class="csdtag"><CsScore></span> <span class="stamnt">f</span>1 0 8192 10 1 <span class="stamnt">f</span>2 0 4096 7 0 4096 1 <span class="comment">;****************************************************************</span> <span class="comment">; tables of formant values adapted from MiscFormants.html</span> <span class="comment">; 100's: soprano 200's: alto 300's: countertenor 400's: tenor 500's: bass</span> <span class="comment">; -01: "a" sound -02: "e" sound -03: "i" sound -04: "o" sound -05: "u" sound</span> <span class="comment">; p-5 through p-9: frequencies of 5 formants</span> <span class="comment">; p-10 through p-14: decibel levels of 5 formants</span> <span class="comment">; p-15 through p-19: bandwidths of 5 formants</span> <span class="comment">; formant frequencies decibel levels bandwidths</span> <span class="comment">;soprano</span> <span class="stamnt">f</span>101 0 16 -2 800 1150 2900 3900 4950 0.001 -6 -32 -20 -50 80 90 120 130 140 <span class="stamnt">f</span>102 0 16 -2 350 2000 2800 3600 4950 0.001 -20 -15 -40 -56 60 100 120 150 200 <span class="stamnt">f</span>103 0 16 -2 270 2140 2950 3900 4950 0.001 -12 -26 -26 -44 60 90 100 120 120 <span class="stamnt">f</span>104 0 16 -2 450 800 2830 3800 4950 0.001 -11 -22 -22 -50 40 80 100 120 120 <span class="stamnt">f</span>105 0 16 -2 325 700 2700 3800 4950 0.001 -16 -35 -40 -60 50 60 170 180 200 <span class="comment">;alto</span> <span class="stamnt">f</span>201 0 16 -2 800 1150 2800 3500 4950 0.001 -4 -20 -36 -60 80 90 120 130 140 <span class="stamnt">f</span>202 0 16 -2 400 1600 2700 3300 4950 0.001 -24 -30 -35 -60 60 80 120 150 200 <span class="stamnt">f</span>203 0 16 -2 350 1700 2700 3700 4950 0.001 -20 -30 -36 -60 50 100 120 150 200 <span class="stamnt">f</span>204 0 16 -2 450 800 2830 3500 4950 0.001 -9 -16 -28 -55 70 80 100 130 135 <span class="stamnt">f</span>205 0 16 -2 325 700 2530 3500 4950 0.001 -12 -30 -40 -64 50 60 170 180 200 <span class="comment">;countertenor</span> <span class="stamnt">f</span>301 0 16 -2 660 1120 2750 3000 3350 0.001 -6 -23 -24 -38 80 90 120 130 140 <span class="stamnt">f</span>302 0 16 -2 440 1800 2700 3000 3300 0.001 -14 -18 -20 -20 70 80 100 120 120 <span class="stamnt">f</span>303 0 16 -2 270 1850 2900 3350 3590 0.001 -24 -24 -36 -36 40 90 100 120 120 <span class="stamnt">f</span>304 0 16 -2 430 820 2700 3000 3300 0.001 -10 -26 -22 -34 40 80 100 120 120 <span class="stamnt">f</span>305 0 16 -2 370 630 2750 3000 3400 0.001 -20 -23 -30 -34 40 60 100 120 120 <span class="comment">;tenor</span> <span class="stamnt">f</span>401 0 16 -2 650 1080 2650 2900 3250 0.001 -6 -7 -8 -22 80 90 120 130 140 <span class="stamnt">f</span>402 0 16 -2 400 1700 2600 3200 3580 0.001 -14 -12 -14 -20 70 80 100 120 120 <span class="stamnt">f</span>403 0 16 -2 290 1870 2800 3250 3540 0.001 -15 -18 -20 -30 40 90 100 120 120 <span class="stamnt">f</span>404 0 16 -2 400 800 2600 2800 3000 0.001 -10 -12 -12 -26 70 80 100 130 135 <span class="stamnt">f</span>405 0 16 -2 350 600 2700 2900 3300 0.001 -20 -17 -14 -26 40 60 100 120 120 <span class="comment">;bass</span> <span class="stamnt">f</span>501 0 16 -2 600 1040 2250 2450 2750 0.001 -7 -9 -9 -20 60 70 110 120 130 <span class="stamnt">f</span>502 0 16 -2 400 1620 2400 2800 3100 0.001 -12 -9 -12 -18 40 80 100 120 120 <span class="stamnt">f</span>503 0 16 -2 250 1750 2600 3050 3340 0.001 -30 -16 -22 -28 60 90 100 120 120 <span class="stamnt">f</span>504 0 16 -2 400 750 2400 2600 2900 0.001 -11 -21 -20 -40 40 80 100 120 120 <span class="stamnt">f</span>505 0 16 -2 350 600 2400 2675 2950 0.001 -20 -32 -28 -36 40 80 100 120 120 <span class="comment">;****************************************************************</span> <span class="comment">; start dur amp start freq end freq start formant end formant</span> <span class="stamnt">i</span>1 0 1 .8 440 412.5 201 203 <span class="stamnt">i</span>1 + . .8 412.5 550 201 204 <span class="stamnt">i</span>1 + . .8 495 330 202 205 <span class="stamnt">i</span>1 + . .8 110 103.125 501 503 <span class="stamnt">i</span>1 + . .8 103.125 137.5 501 504 <span class="stamnt">i</span>1 + . .8 123.75 82.5 502 505 <span class="stamnt">i</span>1 7 . .4 440 412.5 201 203 <span class="stamnt">i</span>1 8 . .4 412.5 550 201 204 <span class="stamnt">i</span>1 9 . .4 495 330 202 205 <span class="stamnt">i</span>1 7 . .4 110 103.125 501 503 <span class="stamnt">i</span>1 8 . .4 103.125 137.5 501 504 <span class="stamnt">i</span>1 9 . .4 123.75 82.5 502 505 <span class="stamnt">i</span>1 + . .4 440 412.5 101 103 <span class="stamnt">i</span>1 + . .4 412.5 550 101 104 <span class="stamnt">i</span>1 + . .4 495 330 102 105 <span class="stamnt">e</span> <span class="csdtag"></CsScore></span> <span class="csdtag"></CsoundSynthesizer></span> </pre> </div> </div> <p><br class="example-break" /> </p> </div> <div class="refsect1" title="See Also"> <a id="idp23916688"></a> <h2>See Also</h2> <p> <a class="link" href="fof.html" title="fof"><em class="citetitle">fof</em></a> </p> </div> <div class="refsect1" title="Credits"> <a id="idp23917688"></a> <h2>Credits</h2> <p> </p> <table border="0" summary="Simple list" class="simplelist"> <tr> <td>Author: Rasmus Ekman</td> </tr> <tr> <td><span class="emphasis"><em>fof2</em></span> is a modification of <span class="emphasis"><em>fof</em></span> by Rasmus Ekman</td> </tr> </table> <p> </p> <p>New in Csound 3.45</p> </div> </div> <div class="navfooter"> <hr /> <table width="100%" summary="Navigation footer"> <tr> <td width="40%" align="left"><a accesskey="p" href="fof.html">Prev</a> </td> <td width="20%" align="center"> <a accesskey="u" href="OpcodesTop.html">Up</a> </td> <td width="40%" align="right"> <a accesskey="n" href="fofilter.html">Next</a></td> </tr> <tr> <td width="40%" align="left" valign="top">fof </td> <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> <td width="40%" align="right" valign="top"> fofilter</td> </tr> </table> </div> </body> </html>