<?xml version="1.0" encoding="UTF-8"?>
	<rss version="2.0"
		xmlns:content="http://purl.org/rss/1.0/modules/content/"
		xmlns:wfw="http://wellformedweb.org/CommentAPI/"
		xmlns:dc="http://purl.org/dc/elements/1.1/"
		xmlns:atom="http://www.w3.org/2005/Atom"

			>

	<channel>
		<title>Cycling 74  &#187;  Topic: Questions about The Phase Vocoder &#8211; Part 1 by Richard Dudas and Cort Lippe</title>
		<atom:link href="http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/feed" rel="self" type="application/rss+xml" />
		<link>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/feed</link>
		<description></description>
		<pubDate>Wed, 19 Jun 2013 15:56:24 +0000</pubDate>
		<generator>http://bbpress.org/?v=2.2.4</generator>
		<language></language>

		
														
					
				<item>
					<guid>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/#post-53312</guid>
					<title><![CDATA[Questions about The Phase Vocoder &#8211; Part 1 by Richard Dudas and Cort Lippe]]></title>
					<link>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/#post-53312</link>
					<pubDate>Sun, 14 Nov 2010 20:13:35 +0000</pubDate>
					<dc:creator>t</dc:creator>

					<description>
						<![CDATA[
						<p>Link to the tutorial and files:</p>
<p><a href="http://cycling74.com/2006/11/02/the-phase-vocoder-%E2%80%93-part-i/" rel="nofollow">http://cycling74.com/2006/11/02/the-phase-vocoder-%E2%80%93-part-i/</a></p>
<p>or just a picture of a pfft∼ subpatcher:</p>
<p><a href="http://img543.imageshack.us/img543/9639/pfftsubpatch.png" rel="nofollow">http://img543.imageshack.us/img543/9639/pfftsubpatch.png</a></p>
<p>1. What is the role of the actual phase vocoder part in the pfft∼ subpatch? It seems to me that there is a synchronous granular synthesis going on in the pfft∼ and that the FFT is just resynthesizing the sound (for nothing). I know I am missing something important here but I just can’t understand what is going on. I tried to move the time domain part of the pfft∼ subpatch into the main patch and erase the pfft∼. The result was a “SGS” with no overlap or overlap 2 (if I manually set the hop size for the “previous” window which is otherwise set by fftinfo∼). Where/how does some &#8220;proper&#8221; overlap happen because the sound is evidently smooth? </p>
<p>2. The sampling rate in the pfft∼ subpatch is 4 times bigger with overlap 4 if I understand that right (compared to the mother patch).  Does this create the 4&#215;2=8 overlap? *2 because we are reading 2 windows at the same time&#8230;? </p>
<p>3.  Why is there a need for frameaccum∼ in this patch? I think I am really confused with the running phase and the frameaccum∼ object in general. As far as I understand, the phase difference is calculated between two equivalent bins in successive frames. So if you jump from frame 1 to frame 10, the difference is calculated between frame 10 and 9 instead of 1. Is that not enough to calculate the frequency? Why frameaccum∼? According to the formulas found in the article “A Tutorial on Spectral Sound Processing Using Max/MSP and Jitter” by Jean-Francois Charles this data should be enough:</p>
<p>“center frequency fc (Hz) of the frequency bin m is</p>
<p>fc = m × (sr/FFTSize)</p>
<p>assuming no more than one frequency is present in each frequency bin in the analyzed signal, its value in Hz can be expressed as</p>
<p>f = fc + &#8220;delta&#8221;φ × (sr/(2π × WindowSize))</p>
<p>where &#8220;delta&#8221;φ is the phase difference, wrapped within the range [–π, π].”</p>
<p>I am sorry for such a long post but I am evidently very confused about some essential basics&#8230;.thanks for any answer!</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/#post-191784</guid>
					<title><![CDATA[Re: Questions about The Phase Vocoder &#8211; Part 1 by Richard Dudas and Cort Lippe]]></title>
					<link>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/#post-191784</link>
					<pubDate>Tue, 16 Nov 2010 19:32:19 +0000</pubDate>
					<dc:creator>Jean-Francois Charles</dc:creator>

					<description>
						<![CDATA[
						<p>Hello,<br />
Quite subtle tutorial, of course, and interesting questions!<br />
1. The [fft~] object does the &#8220;analysis&#8221; part of the phase vocoder. The &#8220;re-synthesis&#8221; part, or &#8220;inverse FFT&#8221; is processed by the output of the [pfft~], through the [fftout~] door. The windowing can remind you of granular synthesis, but here, it is really the windowing function added before the FFT process. This windowing is kind-of hidden when you use the inputs of [pfft~] (i.e. [fftin~]) to go from time to spectral domain.<br />
2. Overlap 4 means that, in a way, you are processing 4 windows at the same time. I&#8217;m not sure I understand your question, sorry.<br />
3. In case you would like to know where the &#8220;one frequency in the frequency bin&#8221; is, you would use the formula (actually, it&#8217;s just proportionality). But here, what you want to do is re-synthesize the sound. And what the inverse-FFT engine wants is a x &#038; a y (cartesian coordinates). You will get them by giving the polar coordinates to [poltocar~]. But to do that, you need a phase value, not a phase difference. That&#8217;s why you use [frameaccum~], to translate these phase differences back into phases, usable by [poltocar~].<br />
Hope that helps a little.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/#post-191785</guid>
					<title><![CDATA[Re: Questions about The Phase Vocoder &#8211; Part 1 by Richard Dudas and Cort Lippe]]></title>
					<link>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/#post-191785</link>
					<pubDate>Tue, 16 Nov 2010 20:54:21 +0000</pubDate>
					<dc:creator>AlexHarker</dc:creator>

					<description>
						<![CDATA[
						<p>I think the most obvious thing you are missing is:</p>
<p>You take the differences of the phases and then move between frames at a different rate, and hence the differences sum to produce a set of running phases that *are not the same* as the input (unless the speed is 1, in which case this is what we want). This makes the result quite different from SGS.</p>
<p>This running phase / phase difference business:</p>
<p>1 &#8211; is where all the problems of the phase vocoder start.</p>
<p>2 &#8211; is the essential difference between a kind of SGS and the phase vocoder &#8211; in theory the phase vocoder sounds smooth in a way that SGS will not, because we are taking into account phase in the reconstruction of (and phase is a relative measure &#8211; so it&#8217;s the differences that are important) &#8211; by continuing each bin according to its phase changes over time we hope to achieve something that SGS can&#8217;t.</p>
<p>Maybe that makes things a little clearer?</p>
<p>A.</p>
						]]>
					</description>

					
					
				</item>

			
				<item>
					<guid>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/#post-191786</guid>
					<title><![CDATA[Re: Questions about The Phase Vocoder &#8211; Part 1 by Richard Dudas and Cort Lippe]]></title>
					<link>http://cycling74.com/forums/topic/questions-about-the-phase-vocoder-part-1-by-richard-dudas-and-cort-lippe/#post-191786</link>
					<pubDate>Wed, 17 Nov 2010 00:01:19 +0000</pubDate>
					<dc:creator>t</dc:creator>

					<description>
						<![CDATA[
						<p>Thank you very much to both of you! After reading your posts 10 times and switching between various articles I had a relieving &#8220;ahaaa&#8221; moment. I can see now the cunningness of that patch! Brilliant! Thanks again!</p>
						]]>
					</description>

					
					
				</item>

					
		
	</channel>
	</rss>

