Csound Csound-dev Csound-tekno Search About

[Csnd] Re: Re: Re: Re: Re: Re: Re: looping pvsfread sounds different each time

Date2009-06-01 21:02
From"Partev Barr Sarkissian"
Subject[Csnd] Re: Re: Re: Re: Re: Re: Re: looping pvsfread sounds different each time
Looping something with phase in it? Be aware of a thing
called tiling. It's the audio version of a tile pattern
on a floor, that repeats. Always got to find that point
where you can loop at that'll be glitch free.


Happy hunting,
-Partev


===========================================================================



--- richarddobson@blueyonder.co.uk wrote:

From: Richard Dobson 
To: csound@lists.bath.ac.uk
Subject: [Csnd] Re: Re: Re: Re: Re: Re: looping pvsfread sounds different each time
Date: Sun, 31 May 2009 08:28:05 +0100

There is an inherent problem with looping phase vocoder files, as I 
found out a while back in implementing a standalone player. The problem 
is, as usual, the phase, or rather the running accumulation of it. When 
a performance starts phases are reset to a default position (e.g. all 
zero, as the CARL code does); and the phases naturally cycle along as 
the sound is rendered. One may say that at the end of the sound, the 
final phase values represent in a sense the whole history of the sound. 
To get a seamless (glitch-free) looping, one has no choice but to resume 
with whatever the current phase values are, and very often (I would say 
probably always), the sound will be different, sometimes extremely so.

It is a bit like a group of athletes running a race. They all start off 
in a tidy line, but usually end randomly distributed. Then you ask them 
to run the race again, but with the same relative positions they had at 
the end. The result will be different each time (the faster runners may 
tire more than the plodders, etc), so that perchance from time to time 
they will start in a line again.

I have not found a solution to this. Inevitably, zeroing or otherwise 
resetting the phases at the loop point will introduce a glitch. The only 
thing I have so far thought of is simply crossfading the start of a new 
render with the end of the previous one - hardly ideal.


Richard Dobson


victor wrote:
> Could you be so kind to compare it with pvread?
> ----- Original Message ----- From: "Hector Centeno" 
> To: 
> Sent: Thursday, May 28, 2009 1:18 AM
> Subject: [Csnd] Re: Re: Re: Re: looping pvsfread sounds different each time
> 
> 
>> Hello again,
>>
>> So I installed Csound 5.03 and tested the same orchestra. It seems
>> that I was wrong about previous versions not presenting this problem
>> but it actually behaves different. These are the renders in both
>> versions:
>>



Send bugs reports to this list.
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"




_____________________________________________________________
Netscape.  Just the Net You Need.

Date2009-06-01 21:11
FromRichard Dobson
Subject[Csnd] Re: Re: Re: Re: Re: Re: Re: Re: looping pvsfread sounds different each time
Partev Barr Sarkissian wrote:
> Looping something with phase in it? Be aware of a thing
> called tiling. It's the audio version of a tile pattern
> on a floor, that repeats. Always got to find that point
> where you can loop at that'll be glitch free.
> 
> 

Unfortunately it is a bit more complicated. To begin with, in the 
frequency domain you do not have one phase, but N phases, each of which 
is incrementing (in some sense) arbitrarily, modulo 2PI, frame by frame. 
They may all start out at the same position (e.g. zero), like so many 
independent clocks started together, but will not end up at the same 
relative position. So what do you do when you want to go back seamlessly 
to the starting point?  The problem is also closely related to the 
general smearing problem of pvoc, where you want some subset(s) of those 
phases to stay in lockstep during transformations, but, needless to say, 
they don't. In this instance, rewinding to the start of the sound counts 
as a transformation.

Richard Dobson