Gerald Leung
Implementation Goal of Phase Vocoder Spectral Analysis and Manipulation Matlab Implementation Result Discussion and Conclusion
Time Stretch ◦ Unwrap phase and calculate the Magnitude and Phase increment per sample in analysis grid ◦ Interpolate the synthesis phase response using phase increments calculated from analysis grid in previous step ◦ Re-construct the audio signal using a weighted sum of cosine functions using the interpolated synthesized magnitude and phase as cosine parameters *** IFFT Operation ***
FFT of a window function is represented as a series of Sine and Cosine Functions
Given the interpolated phase and magnitude, we can re-construct the signal from frequency domain for each window segment Overlap add the interpolated window segment using the same hope size window in the analysis grid
Similar Concept as Time Stretching ◦ Take FFT of each window segment and calculate the magnitude and phase increment per sample (FFT bin) ◦ Multiply the phase increment by a transposition factor ◦ Interpolate the synthesis signal using transposed phase increments from previous step ◦ Re-construct the signal from the frequency domain using weighted sum of cosine functions with interpolated phase and magnitude as parameters
Zero-phase every FFT bin Take the IFFT of the magnitude of FFT bin for signal re-construction
Same concept as Robotization Randomize the phase instead
Maintain loud parts of the signal Attenuate low parts of the signal Modify the magnitude, maintain the phase grain = in_signal(pin+1:pin+WLen).*w1; f = fft(grain); r = abs(f); ft = f.*r.^2./(r+coef);
Not Completely free of artifact free ◦ Mathematically impossible to express the exact spectrum ◦ Phasiness, reverbation etc
Large windows causes “smearing” effect Smaller windows ◦ Less frequency resolution ◦ Minimum frequency is more restricted Less bass