[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 |