PVS adding phase support?

View: New views
5 Messages — Rating Filter:   Alert me  

PVS adding phase support?

by peiman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I am just wondering if there are any plans to implement the amplitude+phase formant for pvsanal in the near future? I think this addition + adding support for phase-data for pvsftw & pvsftr would allow some kind of phase locking and be very very useful indeed, or is it out of the question?

Otherwise, are there any tricks to allow the reintroduction of the phase information into the signal using the current opcodes?

Many Thanks
Peiman

------------------------------------------------------------------------------

_______________________________________________
Csound-devel mailing list
Csound-devel@...
https://lists.sourceforge.net/lists/listinfo/csound-devel

Re: PVS adding phase support?

by peiman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I just had a quick glance at Puckette's article 'phase locked vocoder'. It sounds promising, he mentions that with phase locking the re-synthesised signal has more presence and is free from the usual fft artifacts. Are there any software out there to allow phase locking (even commercial)?

I would love to have this in csound! :-)

Thanks in advance
Peiman  

peiman wrote:
Hello,
I am just wondering if there are any plans to implement the amplitude+phase
formant for pvsanal in the near future? I think this addition + adding
support for phase-data for pvsftw & pvsftr would allow some kind of phase
locking and be very very useful indeed, or is it out of the question?

Otherwise, are there any tricks to allow the reintroduction of the phase
information into the signal using the current opcodes?

Many Thanks
Peiman

------------------------------------------------------------------------------

_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-devel

Re: PVS adding phase support?

by richarddobson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

So would I. I am not sure over the patent position. Probably the plain
Puckette solution is OK. The later ("improved") one was patented by
Dolson and Laroche for use in Creative Labs time-scaling software (but
in a disappointing  way - to reduce CPU time to a minimum by getting
away with the minimum 50% frame overlap; so drums still process rather
badly!).

The equivalent of phase locking in the amp/freq format is (as far as I
can tell!) what I call "bin bunching" (mentioned in my ICMC paper on the
SDFT and SPV). That is, where bins converge on a source component, their
frequency values are almost equal (i.e. ~equal phase increments). So
instead of multiplying them to scale pitch, you work out the required
shift for that block (i.e. find the central or peak frequency value) and
~add~ the frequency offset to all of them as a block - so the frequency
differences between them are preserved.  Most of my ICMC examples were
actually done using this approach, in a preliminary form. I have yet to
try it inside blocking pvoc. The trick of course being to decide which
bins belong with which source component;  not so easy with noise-rich or
otherwise complex sources. Accuracy would require good interpolation
methods to find the real peak frequency - it will not simply be the
value of the loudest bin.  Current state of the art (commercial)
algorithms are using wavelets, transient detection, and "stuff".


The problem with adding the amp/phase format now is that it will
probably entail revisions to many or all the pvs opcodes; and those
which depend on manipulating frequency bins would have to either reject
the format, or do all the maths necessary (in both directions) to
recover the  phase format internally  (subtraction of the centre
frequency, and re-normalizing of the bin phase value relative to the
analysis rate; I would have to look it up to give specifics).
Amplitude-only processes would be unaffected. Sadly, I am confronted
with lots of deadlines for work at the moment so can't look at it for a
while. I have never worked with the amp/phase format myself (Soundhack
uses it quite a lot, IIRC); revamping opcodes to do so would require
someone who has. The easy bit is updating the analysis and synthesis
opcodes, the code is already in there, but not much good without
updating the opcodes too.

Richard Dobson




> I just had a quick glance at Puckette's article 'phase locked vocoder'. It
> sounds promising, he mentions that with phase locking the re-synthesised
> signal has more presence and is free from the usual fft artifacts. Are there
> any software out there to allow phase locking (even commercial)?
>
> I would love to have this in csound! :-)
>


------------------------------------------------------------------------------
_______________________________________________
Csound-devel mailing list
Csound-devel@...
https://lists.sourceforge.net/lists/listinfo/csound-devel

Re: PVS adding phase support?

by peiman :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks very much for the detailed explanation.

Indeed creative labs stuff seems unimaginative and rather disappointing. I will read your ICMC paper tomorrow to get my head around the idea. So does this mean that adding to all the bins (i.e. shifting them) will keep the phase intact?

Thanks
Peiman 



2009/7/3 Richard Dobson <richarddobson@...>
So would I. I am not sure over the patent position. Probably the plain
Puckette solution is OK. The later ("improved") one was patented by
Dolson and Laroche for use in Creative Labs time-scaling software (but
in a disappointing  way - to reduce CPU time to a minimum by getting
away with the minimum 50% frame overlap; so drums still process rather
badly!).

The equivalent of phase locking in the amp/freq format is (as far as I
can tell!) what I call "bin bunching" (mentioned in my ICMC paper on the
SDFT and SPV). That is, where bins converge on a source component, their
frequency values are almost equal (i.e. ~equal phase increments). So
instead of multiplying them to scale pitch, you work out the required
shift for that block (i.e. find the central or peak frequency value) and
~add~ the frequency offset to all of them as a block - so the frequency
differences between them are preserved.  Most of my ICMC examples were
actually done using this approach, in a preliminary form. I have yet to
try it inside blocking pvoc. The trick of course being to decide which
bins belong with which source component;  not so easy with noise-rich or
otherwise complex sources. Accuracy would require good interpolation
methods to find the real peak frequency - it will not simply be the
value of the loudest bin.  Current state of the art (commercial)
algorithms are using wavelets, transient detection, and "stuff".


The problem with adding the amp/phase format now is that it will
probably entail revisions to many or all the pvs opcodes; and those
which depend on manipulating frequency bins would have to either reject
the format, or do all the maths necessary (in both directions) to
recover the  phase format internally  (subtraction of the centre
frequency, and re-normalizing of the bin phase value relative to the
analysis rate; I would have to look it up to give specifics).
Amplitude-only processes would be unaffected. Sadly, I am confronted
with lots of deadlines for work at the moment so can't look at it for a
while. I have never worked with the amp/phase format myself (Soundhack
uses it quite a lot, IIRC); revamping opcodes to do so would require
someone who has. The easy bit is updating the analysis and synthesis
opcodes, the code is already in there, but not much good without
updating the opcodes too.

Richard Dobson




> I just had a quick glance at Puckette's article 'phase locked vocoder'. It
> sounds promising, he mentions that with phase locking the re-synthesised
> signal has more presence and is free from the usual fft artifacts. Are there
> any software out there to allow phase locking (even commercial)?
>
> I would love to have this in csound! :-)
>


------------------------------------------------------------------------------
_______________________________________________
Csound-devel mailing list
Csound-devel@...
https://lists.sourceforge.net/lists/listinfo/csound-devel


------------------------------------------------------------------------------

_______________________________________________
Csound-devel mailing list
Csound-devel@...
https://lists.sourceforge.net/lists/listinfo/csound-devel

Re: PVS adding phase support?

by richarddobson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

peiman khosravi wrote:

> Thanks very much for the detailed explanation.
>
> Indeed creative labs stuff seems unimaginative and rather disappointing.
> I will read your ICMC paper tomorrow to get my head around the idea. So
> does this mean that adding to all the bins (i.e. shifting them) will
> keep the phase intact?
>
> Thanks
> Peiman
>
>

All the bins associated with a given spectral peak. Fully distinct peaks
are easy to deal with (e.g. a simple periodic tone). I have never got
around to writing serious peak-tracking things - unlike Victor, say,
whose partial-tracking opcodes will depend on it. It's definitely not
something to under-estimate! A primary application of transient analysis
is to avoid shifting bins associated with the transient itself (e.g. the
drumstick impact) and shift only the pitched bits. Short FFT sizes do
not help. So no free lunch, sadly! That's about as far as my knowledge
extends, pitch-shifting-wise.

Richard Dobson



------------------------------------------------------------------------------
_______________________________________________
Csound-devel mailing list
Csound-devel@...
https://lists.sourceforge.net/lists/listinfo/csound-devel