<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?action=history&amp;feed=atom&amp;title=Programmer_Guide%2FSPU_Reference%2FPVANA_PVSYN</id>
	<title>Programmer Guide/SPU Reference/PVANA PVSYN - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?action=history&amp;feed=atom&amp;title=Programmer_Guide%2FSPU_Reference%2FPVANA_PVSYN"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;action=history"/>
	<updated>2026-05-06T20:54:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;diff=4474&amp;oldid=prev</id>
		<title>Toni: moved Programmer Guide/SPU Reference/PVANA or PVSYN - phase vocoder I or O modules to Programmer Guide/SPU Reference/PVANA PVSYN</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;diff=4474&amp;oldid=prev"/>
		<updated>2011-04-28T10:05:54Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/stx/docs/wiki/index.php/Programmer_Guide/SPU_Reference/PVANA_or_PVSYN_-_phase_vocoder_I_or_O_modules&quot; class=&quot;mw-redirect&quot; title=&quot;Programmer Guide/SPU Reference/PVANA or PVSYN - phase vocoder I or O modules&quot;&gt;Programmer Guide/SPU Reference/PVANA or PVSYN - phase vocoder I or O modules&lt;/a&gt; to &lt;a href=&quot;/stx/docs/wiki/index.php/Programmer_Guide/SPU_Reference/PVANA_PVSYN&quot; title=&quot;Programmer Guide/SPU Reference/PVANA PVSYN&quot;&gt;Programmer Guide/SPU Reference/PVANA PVSYN&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:05, 28 April 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Toni</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;diff=2771&amp;oldid=prev</id>
		<title>Christian: Text replace - &quot;S_TOOLS-STx&quot; to &quot;{{STX}}&quot;</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;diff=2771&amp;oldid=prev"/>
		<updated>2011-04-05T15:58:33Z</updated>

		<summary type="html">&lt;p&gt;Text replace - &amp;quot;S_TOOLS-STx&amp;quot; to &amp;quot;{{STX}}&amp;quot;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:58, 5 April 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l106&quot;&gt;Line 106:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 106:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:spu_pvana_pvsyn_circuit.png]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:spu_pvana_pvsyn_circuit.png]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Figure: Functional diagram of &amp;lt;code&amp;gt;PVANA&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PVSYN&amp;lt;/code&amp;gt; SPAtoms in the framework of the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;S_TOOLS-STx &lt;/del&gt;analysis-synthesis model.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Figure: Functional diagram of &amp;lt;code&amp;gt;PVANA&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PVSYN&amp;lt;/code&amp;gt; SPAtoms in the framework of the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{STX}} &lt;/ins&gt;analysis-synthesis model.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Christian</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;diff=1836&amp;oldid=prev</id>
		<title>Admin: 1 revision:&amp;#32;Initial import</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;diff=1836&amp;oldid=prev"/>
		<updated>2010-11-18T16:31:54Z</updated>

		<summary type="html">&lt;p&gt;1 revision: Initial import&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:31, 18 November 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;diff=1835&amp;oldid=prev</id>
		<title>193.171.195.8: initial import</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.kfs.oeaw.ac.at/stx/docs/wiki/index.php?title=Programmer_Guide/SPU_Reference/PVANA_PVSYN&amp;diff=1835&amp;oldid=prev"/>
		<updated>2010-05-17T13:05:27Z</updated>

		<summary type="html">&lt;p&gt;initial import&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:{{SUBPAGENAME}}}}&lt;br /&gt;
====PVANA / PVSYN - phase vocoder I/O modules====&lt;br /&gt;
&lt;br /&gt;
Phase vocoder analysis.&lt;br /&gt;
&lt;br /&gt;
=====Usage:=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PVANA &amp;lt;var&amp;gt;SIGIN&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;L&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;D&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;I&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;LFFT&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;FMT&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;TYPE WIN WTYPE&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Inputs:=====&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;SIGIN&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The input signal (the name of mono wave item).&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;L&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The frame length in samples.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;D&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The decimation length in samples.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;I&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The interpolation length in samples&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;LFFT&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The FFT length.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;FMT&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The spectrum format. The following values are supported:&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - complex&lt;br /&gt;
&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - amplitude&lt;br /&gt;
&amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; - power&lt;br /&gt;
Note that negative amplitudes are allowed for amplitude spectrum values (&amp;lt;var&amp;gt;FMT&amp;lt;/var&amp;gt;==&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;TYPE&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The algorithm type - 1..amplitude thresholding.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;WIN&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The window name: &amp;lt;code&amp;gt;rectangle&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;hanning&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;hamming&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;blackman&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;kaiser&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;bartlett&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;taprectangle&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;nuttall&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;flattop&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;gaussian&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;WTYPE&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The window type:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;normal&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;dual&amp;lt;/code&amp;gt;|&amp;lt;code&amp;gt;tight&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Outputs:=====&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;A&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The first part of the spectrum (depending on format &amp;lt;var&amp;gt;FMT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;B&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The second part of the spectrum (depending on the format &amp;lt;var&amp;gt;FMT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;SR&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The sampling rate.&lt;br /&gt;
&lt;br /&gt;
Phase vocoder synthesis.&lt;br /&gt;
&lt;br /&gt;
=====Usage:=====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PVSYN &amp;lt;var&amp;gt;SIGOUT L D I LFFT FMT A B WIN WTYPE&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Inputs:=====&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;SIGOUT&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The name of the shell wave item for signal output (compatible with &amp;lt;var&amp;gt;SIGIN&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
See the above atom &amp;lt;code&amp;gt;PVANA&amp;lt;/code&amp;gt; for a description of the other input parameters.&lt;br /&gt;
&lt;br /&gt;
=====Outputs:=====&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:The number of frames.&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;var&amp;gt;I&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:-1&lt;br /&gt;
&lt;br /&gt;
=====Function:=====&lt;br /&gt;
&lt;br /&gt;
This atom implements the phase vocoder as published in the book &amp;quot;Elements of Computer Music&amp;quot; (R. F. Moore. Elements of Computer Music. Prentice-Hall, Englewood Cli#s, NJ. USA, 1990). The spectrum format (&amp;lt;var&amp;gt;FMT&amp;lt;/var&amp;gt;) has to be set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; (amplitude or power) for this atom to truly represent a phase vocoder, for only then is phase-unwrapping and differentiation done. If the spectrum format is set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; (complex), this atom implements a channel vocoder. It can be used as an analysis or re-synthesis module for signal time-warping and/or signal modification methods in the frequency domain.&lt;br /&gt;
&lt;br /&gt;
The advantage of the phase vocoder over other analysis/re-synthesis methods is the time and phase synchronicity of the input and output signals. For time-warping, the factor between the input and output timescales is defined by the ratio of the decimation to the interpolation length (&amp;lt;var&amp;gt;D&amp;lt;/var&amp;gt;/&amp;lt;var&amp;gt;I&amp;lt;/var&amp;gt;). If no timescale transformation should be performed, the values of &amp;lt;var&amp;gt;D&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;I&amp;lt;/var&amp;gt; must be equal. In the current implementation, the &amp;quot;overlap-add&amp;quot; re-synthesis method is included, but not the &amp;quot;oscillator bank&amp;quot; method. This atom can therefore be used for time-warping, but not for frequency-warping.&lt;br /&gt;
&lt;br /&gt;
Conditions for the parameters &amp;lt;var&amp;gt;L&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;D&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;I&amp;lt;/var&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;L&amp;lt;/var&amp;gt; mod &amp;lt;var&amp;gt;D&amp;lt;/var&amp;gt; = 0 and&lt;br /&gt;
&amp;lt;var&amp;gt;L&amp;lt;/var&amp;gt; mod &amp;lt;var&amp;gt;I&amp;lt;/var&amp;gt; = 0 and&lt;br /&gt;
&amp;lt;var&amp;gt;L&amp;lt;/var&amp;gt;&amp;lt; &amp;lt;var&amp;gt;LFFT&amp;lt;/var&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The example shows a filter circuit using &amp;lt;code&amp;gt;PVANA&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;PVSYN&amp;lt;/code&amp;gt; for signal I/O. No timescale modification is performed (&amp;lt;var&amp;gt;D&amp;lt;/var&amp;gt;=&amp;lt;var&amp;gt;I&amp;lt;/var&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
[[File:spu_pvana_pvsyn_circuit.png]]&lt;br /&gt;
&lt;br /&gt;
Figure: Functional diagram of &amp;lt;code&amp;gt;PVANA&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PVSYN&amp;lt;/code&amp;gt; SPAtoms in the framework of the S_TOOLS-STx analysis-synthesis model.&lt;/div&gt;</summary>
		<author><name>193.171.195.8</name></author>
	</entry>
</feed>