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
|
<HTML>
<TITLE>OSCIL</TITLE>
<CENTER><A NAME="oscil"></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="./table.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="./itablew.html">Next</A>
<HR></CENTER>
<H2>
oscil, oscili, foscil, foscili</H2>
<PRE> kr <B>oscil</B> kamp, kcps, ifn[, iphs]
kr <B>oscili</B> kamp, kcps, ifn[, iphs]
ar <B>oscil</B> xamp, xcps, ifn[, iphs]
ar <B>oscili</B> xamp, xcps, ifn[, iphs]
ar <B>foscil</B> xamp, kcps, kcar, kmod, kndx, ifn[, iphs]
ar <B>foscili</B> xamp, kcps, kcar, kmod, kndx, ifn[, iphs]</PRE>
<HR>
<H4>
<U>DESCRIPTION</U></H4>
Table <I>ifn</I> is incrementally sampled modulo the table length and the
value obtained is multiplied by <I>amp</I>.
<H4>
<U>INITIALIZATION</U></H4>
<I>ifn</I> - function table number. Requires a wrap-around guard point.
<P><I>iphs</I> (optional) - initial phase of sampling, expressed as a fraction
of a cycle (0 to 1). A negative value will cause phase initialization to
be skipped. The default value is 0.
<H4>
<U>PERFORMANCE</U></H4>
The <B>oscil</B> units output periodic control (or audio) signals consisting
of the value of <I>kamp</I>(<I>xamp</I>)times the value returned from control
rate (audio rate) sampling of a stored function table. The internal phase
is simultaneously advanced in accordance with the cps input value. While
the amplitude and frequency inputs to the K-rate <B>oscils</B> are scalar
only, the corresponding inputs to the audio-rate <B>oscils</B> may each
be either scalar or vector, thus permitting amplitude and frequency modulation
at either sub-audio or audio frequencies.
<P><B>foscil</B> is a composite unit that effectively banks two oscils
in the familiar Chowning FM setup, wherein the audio-rate output of one
generator is used to modulate the frequency input of another (the "carrier").
Effective carrier frequency = <I>kcps * kcar</I>, and modulating frequency
= <I>kcps * kmod</I>. For integral values of <I>kcar</I> and <I>kmod</I>,
the perceived fundamental will be the minimum positive value of <I>kcps
* (kcar - n * kmod), n = 1,1,2,...</I> The input <I>kndx</I> is the index
of modulation (usually time-varying and ranging 0 to 4 or so) which determines
the spread of acoustic energy over the partial positions given by n = 0,1,2,..,
etc. <I>ifn</I> should point to a stored sine wave.
<P><B>oscili</B> and <B>foscili</B> differ from <B>oscil</B> and <B>foscil</B>
respectively in that the standard procedure of using a truncated phase
as a sampling index is here replaced by a process that interpolates between
two successive lookups. Interpolating generators will produce a noticeably
cleaner output signal, but they may take as much as twice as long to run.
Adequate accuracy can also be gained without the time cost of interpolation
by using large stored function tables of 2K, 4K or 8K points if the space
is available.
<H4>
<U>EXAMPLE:</U></H4>
<PRE> k1 <B>oscil</B> 10, 5, 1 ; 5 cps vibrato
a1 <B>oscil</B> 5000, 440 + k1, 1 ; around A440 + -10 cps</PRE>
<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="./table.html">Previous</A>
- <A HREF="../CONTENTS.html">Contents</A> - <A HREF="../INDEX.html">Index</A>
- <A HREF="./itablew.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>
|