I'm looking to implement a time-domain pitch modification algorithm such as PSOLA (Pitch Synchronous Overlap and Add) or WSOLA (Waveform Similarity Overlap and Add).
At the moment I'm using PSOLA, but it seems to me that WSOLA would be more robust to polyphonic signals with complex waveforms, whereas PSOLA works better with monophonic signals such as vocals. I feel it could be better to future-proof by using WSOLA, even though I'm only interested in monophonic signals for now.
I'm wondering if there is any disadvantage to using WSOLA as opposed to PSOLA.
It seems both techniques work in a similar fashion, both identifying repetition within the waveform, although WSOLA does not necessarily lock to the fundamental. Does fundamental locking make PSOLA superior for vocals?
To be more precise, I'm trying to work out the advantages and disadvantages of WSOLA vs PSOLA for the following tasks:
- Pitch correction
- Time correction
- Formant correction