Files
stk/doc/html/classSaxofony.html
2013-09-29 23:39:37 +02:00

172 lines
11 KiB
HTML

<HTML>
<HEAD>
<TITLE>The Synthesis ToolKit in C++ (STK)</TITLE>
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<CENTER>
<img src="princeton.gif"> &nbsp; <img src="ccrma.gif"> &nbsp; <img src="mcgill.gif"><P>
<a class="qindex" href="index.html">Home</a> &nbsp; <a class="qindex" href="information.html">Information</a> &nbsp; <a class="qindex" href="classes.html">Classes</a> &nbsp; <a class="qindex" href="download.html">Download</a> &nbsp; <a class="qindex" href="usage.html">Usage</a> &nbsp; <a class="qindex" href="maillist.html">Mail List</a> &nbsp; <a class="qindex" href="system.html">Requirements</a> &nbsp; <a class="qindex" href="links.html">Links</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.3.4 -->
<h1>Saxofony Class Reference</h1><code>#include &lt;<a class="el" href="Saxofony_8h-source.html">Saxofony.h</a>&gt;</code>
<p>
<p>Inheritance diagram for Saxofony:
<p><center><img src="classSaxofony.png" usemap="#Saxofony_map" border="0" alt=""></center>
<map name="Saxofony_map">
<area href="classInstrmnt.html" alt="Instrmnt" shape="rect" coords="0,56,65,80">
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,65,24">
</map>
<a href="classSaxofony-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
STK faux conical bore reed instrument class.
<p>
This class implements a "hybrid" digital waveguide instrument that can generate a variety of wind-like sounds. It has also been referred to as the "blowed string" model. The waveguide section is essentially that of a string, with one rigid and one lossy termination. The non-linear function is a reed table. The string can be "blown" at any point between the terminations, though just as with strings, it is impossible to excite the system at either end. If the excitation is placed at the string mid-point, the sound is that of a clarinet. At points closer to the "bridge", the sound is closer to that of a saxophone. See Scavone (2002) for more details.<p>
This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others.<p>
Control Change Numbers:<ul>
<li>Reed Stiffness = 2</li><li>Reed Aperture = 26</li><li><a class="el" href="classNoise.html">Noise</a> Gain = 4</li><li>Blow Position = 11</li><li>Vibrato Frequency = 29</li><li>Vibrato Gain = 1</li><li>Breath Pressure = 128</li></ul>
<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2004.
<p>
<p>
Definition at line <a class="el" href="Saxofony_8h-source.html#l00049">49</a> of file <a class="el" href="Saxofony_8h-source.html">Saxofony.h</a>.<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a0">Saxofony</a> (StkFloat lowestFrequency)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class constructor, taking the lowest desired playing frequency. </em> <a href="#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a1" doxytag="Saxofony::~Saxofony" ></a>
&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a1">~Saxofony</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a2" doxytag="Saxofony::clear" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a2">clear</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset and clear all internal state. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a3" doxytag="Saxofony::setFrequency" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a3">setFrequency</a> (StkFloat frequency)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set instrument parameters for a particular frequency. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a4" doxytag="Saxofony::setBlowPosition" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a4">setBlowPosition</a> (StkFloat aPosition)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the "blowing" position between the air column terminations (0.0 - 1.0). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a5" doxytag="Saxofony::startBlowing" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a5">startBlowing</a> (StkFloat amplitude, StkFloat rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply breath pressure to instrument with given amplitude and rate of increase. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a6" doxytag="Saxofony::stopBlowing" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a6">stopBlowing</a> (StkFloat rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrease breath pressure with given rate of decrease. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a7" doxytag="Saxofony::noteOn" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a7">noteOn</a> (StkFloat frequency, StkFloat amplitude)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start a note with the given frequency and amplitude. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a8" doxytag="Saxofony::noteOff" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a8">noteOff</a> (StkFloat amplitude)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop a note with the given amplitude (speed of decay). <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a9" doxytag="Saxofony::tick" ></a>
StkFloat&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a9">tick</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute one output sample. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a10" doxytag="Saxofony::tick" ></a>
StkFloat *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a10">tick</a> (StkFloat *vector, unsigned int vectorSize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computer <em>vectorSize</em> outputs and return them in <em>vector</em>. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a11">tick</a> (<a class="el" href="classStkFrames.html">StkFrames</a> &amp;frames, unsigned int channel=1)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs. </em> <a href="#a11"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a12" doxytag="Saxofony::controlChange" ></a>
void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classSaxofony.html#a12">controlChange</a> (int number, StkFloat value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform the control change specified by <em>number</em> and <em>value</em> (0.0 - 128.0). <br><br></td></tr>
</table>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="a0" doxytag="Saxofony::Saxofony" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> Saxofony::Saxofony </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">StkFloat&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>lowestFrequency</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Class constructor, taking the lowest desired playing frequency.
<p>
An <a class="el" href="classStkError.html">StkError</a> will be thrown if the rawwave path is incorrectly set. </td>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a11" doxytag="Saxofony::tick" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="classStkFrames.html">StkFrames</a>&amp; Saxofony::tick </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="classStkFrames.html">StkFrames</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>frames</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>unsigned int&nbsp;</td>
<td class="mdname" nowrap> <em>channel</em> = 1</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Fill a channel of the <a class="el" href="classStkFrames.html">StkFrames</a> object with computed outputs.
<p>
The <code>channel</code> argument should be one or greater (the first channel is specified by 1). An <a class="el" href="classStkError.html">StkError</a> will be thrown if the <code>channel</code> argument is zero or it is greater than the number of channels in the <a class="el" href="classStkFrames.html">StkFrames</a> object.
<p>
Reimplemented from <a class="el" href="classInstrmnt.html#a10">Instrmnt</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="Saxofony_8h-source.html">Saxofony.h</a></ul>
<HR>
<table>
<tr><td><A HREF="http://ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
<tr><td>&copy;1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>