2
<refentry id="pvswarp">
3
<indexterm id="Indexpvswarp"><primary>pvswarp</primary></indexterm>
4
<refentryinfo><title>Spectral Processing:Streaming</title></refentryinfo>
6
<refentrytitle>pvswarp</refentrytitle>
10
<refname>pvswarp</refname>
12
Warp the spectral envelope of a PVS signal
17
<title>Description</title>
19
Warp the spectral envelope of a PVS signal by means of shifting and scaling.
25
<synopsis>fsig <command>pvswarp</command> fsigin, kscal, kshift[, klowest, kmeth, kgain, kcoefs]</synopsis>
29
<title>Performance</title>
31
<emphasis>fsig</emphasis> -- output pv stream
35
<emphasis>fsigin</emphasis> -- input pv stream
39
<emphasis>kscal</emphasis> -- spectral envelope scaling ratio. Values > 1 stretch the envelope and < 1 compress it.
43
<emphasis>kshift</emphasis> -- spectral envelope shift, values > 0 shift the envelope linearly upwards and values < 1 shift it downwards.
47
<emphasis>klowest</emphasis> -- lowest frequency shifted (affects only kshift, defaults to 0).
51
<emphasis>kmethod</emphasis> -- spectral envelope extraction method
52
1: liftered cepstrum method; 2: true envelope method
57
<emphasis>kgain</emphasis> -- amplitude scaling (defaults to 1).
61
<emphasis>kcoefs</emphasis> -- number of cepstrum coefs used in formant preservation (defaults to 80).
66
It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode.
72
<title>Examples</title>
75
<title>Example</title>
77
asig in ; get the signal in
79
fsig pvsanal asig, 1024, 256, 1024, 1 ; analyse it
80
ftps pvswarp fsig, 1.5, 0 ; warp it
81
atps pvsynth ftps ; synthesise it
88
The example above shows a spectral envelope warper, scaling the freq envelope by 1.5. Used with vocal sounds, it will shift the formants and result in a changed vowel timbre, similar to the effect of a singer inhaling helium (the 'donald duck' effect).
91
Here is an example of the use of the <emphasis>pvswarp</emphasis> opcode. It uses the file <ulink url="examples/pvswarp.csd"><citetitle>pvswarp.csd</citetitle></ulink>.
93
<title>Example of the <emphasis>pvswarp</emphasis> opcode.</title>
94
<para>See the sections <link linkend="UsingRealTime"><citetitle>Real-time Audio</citetitle></link> and <link linkend="CommandFlags"><citetitle>Command Line Flags</citetitle></link> for more information on using command line flags.</para>
95
<xi:include href="examples-xml/pvswarp.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
102
<title>See Also</title>
104
<link linkend="pvsanal"><citetitle>pvsanal</citetitle></link>,
105
<link linkend="pvsynth"><citetitle>pvsynth</citetitle></link>,
106
<link linkend="pvsadsyn"><citetitle>pvsadsyn</citetitle></link>
111
<title>Credits</title>
114
<member>Author: &namevictor;</member>
115
<member>November 2004 </member>
119
<para>New plugin in version 5</para>
120
<para>November 2004.</para>