summaryrefslogtreecommitdiff
path: root/opcodes/lpreson.xml
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/lpreson.xml')
-rw-r--r--opcodes/lpreson.xml43
1 files changed, 35 insertions, 8 deletions
diff --git a/opcodes/lpreson.xml b/opcodes/lpreson.xml
index 5dceb57..f259787 100644
--- a/opcodes/lpreson.xml
+++ b/opcodes/lpreson.xml
@@ -6,19 +6,17 @@
<refentrytitle>lpreson</refentrytitle>
</refmeta>
-
-
<refnamediv>
<refname>lpreson</refname>
<refpurpose>
Resynthesises a signal from the data passed internally by a previous lpread.
- </refpurpose>
+ </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<para>
- Resynthesises a signal from the data passed internally by a previous lpread.
+ Resynthesises a signal from the data passed internally by a previous <emphasis>lpread</emphasis>.
</para>
</refsect1>
@@ -36,16 +34,45 @@
<para>
<emphasis>lpreson</emphasis> receives values internally produced by a leading <emphasis>lpread</emphasis>.<emphasis>lpread</emphasis> gets its values from the control file according to the input value <emphasis>ktimpnt</emphasis> (in seconds). If <emphasis>ktimpnt</emphasis> proceeds at the analysis rate, time-normal synthesis will result; proceeding at a faster, slower, or variable rate will result in time-warped synthesis. At each k-period, <emphasis>lpread</emphasis> interpolates between adjacent frames to more accurately determine the parameter values (presented as output) and the filter coefficient settings (passed internally to a subsequent <emphasis>lpreson</emphasis>).
</para>
-<para>The error signal <emphasis>kerr</emphasis> (between 0 and 1) derived during predictive analysis reflects the deterministic/random nature of the analyzed source. This will emerge low for pitched (periodic) material and higher for noisy material. The transition from voiced to unvoiced speech, for example, produces an error signal value of about .3. During synthesis, the error signal value can be used to determine the nature of the <link linkend="lpreson"><citetitle>lpreson</citetitle></link> driving function: for example, by arbitrating between pitched and non-pitched input, or even by determining a mix of the two. In normal speech resynthesis, the pitched input to <link linkend="lpreson"><citetitle>lpreson</citetitle></link> is a wideband periodic signal or pulse train derived from a unit such as <link linkend="buzz"><citetitle>buzz</citetitle></link>, and the nonpitched source is usually derived from <link linkend="rand"><citetitle>rand</citetitle></link>. However, any audio signal can be used as the driving function, the only assumption of the analysis being that it has a flat response.
+
+ <para>
+ The error signal <emphasis>kerr</emphasis> (between 0 and 1) derived during predictive analysis reflects the deterministic/random nature of the analyzed source. This will emerge low for pitched (periodic) material and higher for noisy material. The transition from voiced to unvoiced speech, for example, produces an error signal value of about .3. During synthesis, the error signal value can be used to determine the nature of the <emphasis>lpreson</emphasis> driving function: for example, by arbitrating between pitched and non-pitched input, or even by determining a mix of the two. In normal speech resynthesis, the pitched input to <emphasis>lpreson</emphasis> is a wideband periodic signal or pulse train derived from a unit such as <link linkend="buzz"><citetitle>buzz</citetitle></link>, and the nonpitched source is usually derived from <link linkend="rand"><citetitle>rand</citetitle></link>. However, any audio signal can be used as the driving function, the only assumption of the analysis being that it has a flat response.
</para>
- <para><link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> is a formant shifted <link linkend="lpreson"><citetitle>lpreson</citetitle></link>, in which <emphasis>kfrqratio</emphasis> is the (cps) ratio of shifted to original formant positions. This permits synthesis in which the source object changes its apparent acoustic size. <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> with <emphasis>kfrqratio</emphasis> = 1 is equivalent to <link linkend="lpreson"><citetitle>lpreson</citetitle></link>.
+
+ <para>
+ <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> is a formant shifted <emphasis>lpreson</emphasis>, in which <emphasis>kfrqratio</emphasis> is the (cps) ratio of shifted to original formant positions. This permits synthesis in which the source object changes its apparent acoustic size. <link linkend="lpfreson"><citetitle>lpfreson</citetitle></link> with <emphasis>kfrqratio</emphasis> = 1 is equivalent to <emphasis>lpreson</emphasis>.
</para>
- <para>Generally, <link linkend="lpreson"><citetitle>lpreson</citetitle></link> provides a means whereby the time-varying content and spectral shaping of a composite audio signal can be controlled by the dynamic spectral content of another. There can be any number of lpread/lpreson (or lpfreson) pairs in an instrument or in an orchestra; they can read from the same or different control files independently.
+
+ <para>
+ Generally, <emphasis>lpreson</emphasis> provides a means whereby the time-varying content and spectral shaping of a composite audio signal can be controlled by the dynamic spectral content of another. There can be any number of <emphasis>lpread/lpreson</emphasis> (or <emphasis>lpfreson</emphasis>) pairs in an instrument or in an orchestra; they can read from the same or different control files independently.
</para>
-
</refsect1>
<refsect1>
+ <title>Examples</title>
+ <para>
+ Here is an example of the lpreson opcode. It uses the file <ulink url="examples/lpreson.csd"><citetitle>lpreson.csd</citetitle></ulink>.
+ <example>
+ <title>Example of the lpreson opcode.</title>
+ <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>
+ <xi:include href="examples-xml/lpreson.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+ </example>
+ The audio file <quote>fox.wav</quote> is 2.8 seconds long. So <emphasis>filelen</emphasis>'s output should be a line like this:
+ <screen>
+fox.wav = 2.756667 seconds
+ </screen>
+ </para>
+ <para>
+ Here is another example of the lpreson opcode. It uses the file <ulink url="examples/lpreson-2.csd"><citetitle>lpreson-2.csd</citetitle></ulink>.
+ <example>
+ <title>Another example of the lpreson opcode.</title>
+ <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>
+ <xi:include href="examples-xml/lpreson-2.csd.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+ </example>
+ </para>
+ </refsect1>
+
+ <refsect1>
<title>See Also</title>
<para>
<link linkend="lpfreson"><citetitle>lpfreson</citetitle></link>,