[Cs-dev] PVS adding phase support?
| Date | 2009-07-01 14:06 |
| From | peiman khosravi |
| Subject | [Cs-dev] PVS adding phase support? |
| Attachments | None None |
| 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
|
| Date | 2009-07-01 14:07 |
| From | peiman khosravi |
| Subject | [Csnd] Fwd: PVS adding phase support? |
---------- Forwarded message ---------- From: peiman khosravi <peimankhosravi@gmail.com> Date: 2009/7/1 Subject: PVS adding phase support? To: Developer discussions <csound-devel@lists.sourceforge.net> 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
|
| Date | 2009-07-03 12:38 |
| From | peiman |
| Subject | Re: [Cs-dev] PVS adding phase support? |
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 > > -- View this message in context: http://www.nabble.com/PVS-adding-phase-support--tp24289569p24321779.html Sent from the Csound - Dev mailing list archive at Nabble.com. ------------------------------------------------------------------------------ _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
| Date | 2009-07-03 13:11 |
| From | Richard Dobson |
| Subject | Re: [Cs-dev] PVS adding phase support? |
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@lists.sourceforge.net |
| Date | 2009-07-04 01:52 |
| From | peiman khosravi |
| Subject | Re: [Cs-dev] PVS adding phase support? |
| Attachments | None None |
| 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@blueyonder.co.uk> So would I. I am not sure over the patent position. Probably the plain |
| Date | 2009-07-04 14:10 |
| From | Richard Dobson |
| Subject | Re: [Cs-dev] PVS adding phase support? |
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@lists.sourceforge.net |