mirror of
https://github.com/thestk/stk
synced 2026-01-13 04:51:53 +00:00
93 lines
7.2 KiB
HTML
93 lines
7.2 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"> <img src="ccrma.gif"><P>
|
|
<a class="qindex" href="index.html">Home</a> <a class="qindex" href="information.html">Information</a> <a class="qindex" href="classes.html">Classes</a> <a class="qindex" href="download.html">Download</a> <a class="qindex" href="usage.html">Usage</a> <a class="qindex" href="maillist.html">Mail List</a> <a class="qindex" href="system.html">Requirements</a> <a class="qindex" href="links.html">Links</a> <a class="qindex" href="tutorial.html">Tutorial</a></CENTER>
|
|
<HR>
|
|
<!-- Generated by Doxygen 1.2.8.1 -->
|
|
<h1>VoicForm Class Reference</h1>Four formant synthesis instrument.
|
|
<a href="#_details">More...</a>
|
|
<p>
|
|
<code>#include <<a class="el" href="VoicForm_8h-source.html">VoicForm.h</a>></code>
|
|
<p>
|
|
<p>Inheritance diagram for VoicForm::
|
|
<p><center><img src="classVoicForm.gif" usemap="#VoicForm_map" border="0"></center>
|
|
<map name="VoicForm_map">
|
|
<area href="classInstrmnt.html" alt="Instrmnt" shape="rect" coords="0,56,67,80">
|
|
<area href="classStk.html" alt="Stk" shape="rect" coords="0,0,67,24">
|
|
</map>
|
|
<a href="classVoicForm-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
|
|
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a0" doxytag="VoicForm::VoicForm"></a>
|
|
</td><td valign=bottom><a class="el" href="classVoicForm.html#a0">VoicForm</a> ()</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Class constructor, taking the lowest desired playing frequency.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a1" doxytag="VoicForm::~VoicForm"></a>
|
|
</td><td valign=bottom><a class="el" href="classVoicForm.html#a1">~VoicForm</a> ()</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Class destructor.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a2" doxytag="VoicForm::clear"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a2">clear</a> ()</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Reset and clear all internal state.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a3" doxytag="VoicForm::setFrequency"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a3">setFrequency</a> (MY_FLOAT frequency)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Set instrument parameters for a particular frequency.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a4" doxytag="VoicForm::setPhoneme"></a>
|
|
bool </td><td valign=bottom><a class="el" href="classVoicForm.html#a4">setPhoneme</a> (const char *phoneme)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Set instrument parameters for the given phoneme. Returns FALSE if phoneme not found.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a5" doxytag="VoicForm::setVoiced"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a5">setVoiced</a> (MY_FLOAT vGain)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Set the voiced component gain.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a6" doxytag="VoicForm::setUnVoiced"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a6">setUnVoiced</a> (MY_FLOAT nGain)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Set the unvoiced component gain.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a7" doxytag="VoicForm::setFilterSweepRate"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a7">setFilterSweepRate</a> (int whichOne, MY_FLOAT rate)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Set the sweep rate for a particular formant filter (0-3).</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a8" doxytag="VoicForm::setPitchSweepRate"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a8">setPitchSweepRate</a> (MY_FLOAT rate)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Set voiced component pitch sweep rate.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a9" doxytag="VoicForm::speak"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a9">speak</a> ()</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Start the voice.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a10" doxytag="VoicForm::quiet"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a10">quiet</a> ()</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Stop the voice.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a11" doxytag="VoicForm::noteOn"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a11">noteOn</a> (MY_FLOAT frequency, MY_FLOAT amplitude)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Start a note with the given frequency and amplitude.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a12" doxytag="VoicForm::noteOff"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a12">noteOff</a> (MY_FLOAT amplitude)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Stop a note with the given amplitude (speed of decay).</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a13" doxytag="VoicForm::tick"></a>
|
|
MY_FLOAT </td><td valign=bottom><a class="el" href="classVoicForm.html#a13">tick</a> ()</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Compute one output sample.</em></font><br><br></td></tr>
|
|
<tr><td nowrap align=right valign=top><a name="a14" doxytag="VoicForm::controlChange"></a>
|
|
void </td><td valign=bottom><a class="el" href="classVoicForm.html#a14">controlChange</a> (int number, MY_FLOAT value)</td></tr>
|
|
<tr><td> </td><td><font size=-1><em>Perform the control change specified by <em>number</em> and <em>value</em> (0.0 - 128.0).</em></font><br><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>Vowel/Phoneme Selection = 4<li>Vibrato Frequency = 11<li>Vibrato Gain = 1<li>Loudness (Spectral Tilt) = 128</ul>
|
|
by Perry R. Cook and Gary P. Scavone, 1995 - 2002.
|
|
<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>
|
|
<HR>
|
|
|
|
<table>
|
|
<tr><td><A HREF="http://www-ccrma.stanford.edu/software/stk/"><I>The Synthesis ToolKit in C++ (STK)</I></A></td></tr>
|
|
<tr><td>©1995-2002 Perry R. Cook and Gary P. Scavone. All Rights Reserved.</td></tr>
|
|
</table>
|
|
|
|
</BODY>
|
|
</HTML>
|