Files
stk/doc/html/classstk_1_1VoicForm.html
2013-09-29 23:44:33 +02:00

138 lines
12 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="faq.html">FAQ</a> &nbsp; <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
<HR>
<!-- Generated by Doxygen 1.5.8 -->
<div class="navpath"><a class="el" href="namespacestk.html">stk</a>::<a class="el" href="classstk_1_1VoicForm.html">VoicForm</a>
</div>
<div class="contents">
<h1>stk::VoicForm Class Reference</h1><!-- doxytag: class="stk::VoicForm" --><!-- doxytag: inherits="stk::Instrmnt" -->Four formant synthesis instrument.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="VoicForm_8h-source.html">VoicForm.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for stk::VoicForm:</div>
<div class="dynsection">
<p><center><img src="classstk_1_1VoicForm.png" usemap="#stk::VoicForm_map" border="0" alt=""></center>
<map name="stk::VoicForm_map">
<area href="classstk_1_1Instrmnt.html" alt="stk::Instrmnt" shape="rect" coords="0,56,88,80">
<area href="classstk_1_1Stk.html" alt="stk::Stk" shape="rect" coords="0,0,88,24">
</map>
</div>
<p>
<a href="classstk_1_1VoicForm-members.html">List of all members.</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="classstk_1_1VoicForm.html#9462c5ba6b627f5508c336153510de4c">VoicForm</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class constructor. <a href="#9462c5ba6b627f5508c336153510de4c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="298da1434bf38e6bf83c2f9db78f01ac"></a><!-- doxytag: member="stk::VoicForm::~VoicForm" ref="298da1434bf38e6bf83c2f9db78f01ac" args="(void)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#298da1434bf38e6bf83c2f9db78f01ac">~VoicForm</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Class destructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d62987970200d4e9720190b884fb689d"></a><!-- doxytag: member="stk::VoicForm::clear" ref="d62987970200d4e9720190b884fb689d" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#d62987970200d4e9720190b884fb689d">clear</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset and clear all internal state. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb2b7ffe130e016c847cd7aebfd628ee"></a><!-- doxytag: member="stk::VoicForm::setFrequency" ref="eb2b7ffe130e016c847cd7aebfd628ee" args="(StkFloat frequency)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#eb2b7ffe130e016c847cd7aebfd628ee">setFrequency</a> (StkFloat frequency)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set instrument parameters for a particular frequency. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6ee860f09b9598c1251a9653b50139bb"></a><!-- doxytag: member="stk::VoicForm::setPhoneme" ref="6ee860f09b9598c1251a9653b50139bb" args="(const char *phoneme)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#6ee860f09b9598c1251a9653b50139bb">setPhoneme</a> (const char *phoneme)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set instrument parameters for the given phoneme. Returns false if phoneme not found. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd504d4d29134a778b08b2229dd0c0c9"></a><!-- doxytag: member="stk::VoicForm::setVoiced" ref="cd504d4d29134a778b08b2229dd0c0c9" args="(StkFloat vGain)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#cd504d4d29134a778b08b2229dd0c0c9">setVoiced</a> (StkFloat vGain)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the voiced component gain. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4fa86def4ded3698f75c0e4bdbdf638"></a><!-- doxytag: member="stk::VoicForm::setUnVoiced" ref="a4fa86def4ded3698f75c0e4bdbdf638" args="(StkFloat nGain)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#a4fa86def4ded3698f75c0e4bdbdf638">setUnVoiced</a> (StkFloat nGain)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the unvoiced component gain. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="14d8323edda6e8c82ab39d633b8064a8"></a><!-- doxytag: member="stk::VoicForm::setFilterSweepRate" ref="14d8323edda6e8c82ab39d633b8064a8" args="(unsigned int whichOne, StkFloat rate)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#14d8323edda6e8c82ab39d633b8064a8">setFilterSweepRate</a> (unsigned int whichOne, StkFloat rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the sweep rate for a particular formant filter (0-3). <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e4adfe6542f6103a8ac85c7ea2f2ce5"></a><!-- doxytag: member="stk::VoicForm::setPitchSweepRate" ref="2e4adfe6542f6103a8ac85c7ea2f2ce5" args="(StkFloat rate)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#2e4adfe6542f6103a8ac85c7ea2f2ce5">setPitchSweepRate</a> (StkFloat rate)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set voiced component pitch sweep rate. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="425c88ad505e260604771cfe3de6ed47"></a><!-- doxytag: member="stk::VoicForm::speak" ref="425c88ad505e260604771cfe3de6ed47" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#425c88ad505e260604771cfe3de6ed47">speak</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start the voice. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="33cacda32d42f3282312043c54b3cee7"></a><!-- doxytag: member="stk::VoicForm::quiet" ref="33cacda32d42f3282312043c54b3cee7" args="(void)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#33cacda32d42f3282312043c54b3cee7">quiet</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stop the voice. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f8431ef3c7588c0d032e821d4dd1ad9"></a><!-- doxytag: member="stk::VoicForm::noteOn" ref="9f8431ef3c7588c0d032e821d4dd1ad9" args="(StkFloat frequency, StkFloat amplitude)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#9f8431ef3c7588c0d032e821d4dd1ad9">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></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9e54927b3bec7b9727c32791bbb9b19"></a><!-- doxytag: member="stk::VoicForm::noteOff" ref="b9e54927b3bec7b9727c32791bbb9b19" args="(StkFloat amplitude)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#b9e54927b3bec7b9727c32791bbb9b19">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></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="427ca45d3e44e093c11f16e30fc2b550"></a><!-- doxytag: member="stk::VoicForm::controlChange" ref="427ca45d3e44e093c11f16e30fc2b550" args="(int number, StkFloat value)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#427ca45d3e44e093c11f16e30fc2b550">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></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c12629d2730f582e405b221e1d7b6f29"></a><!-- doxytag: member="stk::VoicForm::tick" ref="c12629d2730f582e405b221e1d7b6f29" args="(unsigned int channel=0)" -->
StkFloat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classstk_1_1VoicForm.html#c12629d2730f582e405b221e1d7b6f29">tick</a> (unsigned int channel=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute and return one output sample. <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Four formant synthesis instrument.
<p>
This instrument contains an excitation singing wavetable (looping wave with random and periodic vibrato, smoothing on frequency, etc.), excitation noise, and four sweepable complex resonances.<p>
Measured formant data is included, and enough data is there to support either parallel or cascade synthesis. In the floating point case cascade synthesis is the most natural so that's what you'll find here.<p>
Control Change Numbers:<ul>
<li>Voiced/Unvoiced Mix = 2</li><li>Vowel/Phoneme Selection = 4</li><li>Vibrato Frequency = 11</li><li>Vibrato Gain = 1</li><li>Loudness (Spectral Tilt) = 128</li></ul>
<p>
by Perry R. Cook and Gary P. Scavone, 1995 - 2009. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="9462c5ba6b627f5508c336153510de4c"></a><!-- doxytag: member="stk::VoicForm::VoicForm" ref="9462c5ba6b627f5508c336153510de4c" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">stk::VoicForm::VoicForm </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Class constructor.
<p>
An <a class="el" href="classstk_1_1StkError.html" title="STK error handling class.">StkError</a> will be thrown if the rawwave path is incorrectly set.
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="VoicForm_8h-source.html">VoicForm.h</a></ul>
</div>
<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-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
</table>
</BODY>
</HTML>