I tried out this implementation of TD-PSOLA (https://github.com/sannawag/TD-PSOLA) and even though I know how the algorithm works, I can't understand why I get NO audible differences in the output when using f_ratio = 0.5, given that f_ratio = f_new/f_orig.
I've tried printing the length of 'peaks' (that would be the total number of peaks) arrays from both, the original signal and the new signal, by using find_peaks() again after shift_pitch() returns the output. I got these results:
f_ratio #orig_peaks #new_peaks
1 417 416
0.9 417 389
0.8 417 403
0.7 417 396
0.6 417 324
0.5 417 404
This looks completely nonsense to me.
I've already tried using another windows (numpy's Hamming, Hanning). Of course, it has to have something to do with the overlap-and-add process...right?
Any help would be greatly appreciated.