Sign in

username:

password:



Not a member?

Search compdsp



Search tips

comp.dsp by Keywords

Adaptive Filter | ADPCM | ADSP | ADSP-2181 | Aliasing | AMR | Anti-Aliasing | ARMA | Autocorrelation | AutoCovariance | Beamforming | Bessel | Blackfin | Butterworth | C6713 | CCS | Chebyshev | CIC Filter | Circular Convolution | Code Composer Studio | Comb Filter | Compression | Convolution | Cross Correlation | DCT | Decimation | Deconvolution | Demodulation | DM642 | DSP Boards | DSP/BIOS | DTMF | Echo Cancellation | Equalization | Equalizer | ETSI | EZLITE (Ez-kit Lite) | FFT | FFTW | FIR Filter | Fixed Point | FSK | G.711 | G.723 | G.729 | Gaussian Noise | Goertzel | GPIO | Hilbert Transform | IFFT | IIR Filter | Interpolation | Invariance | JTAG | Kalman | Laplace Transform | Levinson | LPC | McBSP | MIPS | Modulation | MPEG | Multirate | Notch Filter | Nyquist | OFDM | Oversampling | Pink Noise | Pitch | PLL | Polyphase | QAM | QDMA | Quantization | Quantizer | Radar | Random Noise | Reed Solomon | Remez | Resampling | RTDX | Sampling | Sharc | TI C6711 | Undersampling | Viterbi | Wavelets | White Noise | Wiener Filter | Windowing | XDS510PP | Z Transform

Sponsor

Evaluate multicore with Texas Instruments:
Low-cost evaluation module & free software development kit available NOW.

Discussion Groups

Free Online Books

See Also

Embedded SystemsFPGAElectronics

Discussion Groups | Comp.DSP | Pitch Shift using DFT?

There are 2 messages in this thread.

You are currently looking at messages 0 to 2.


Pitch Shift using DFT? - nearly blind - 2004-09-19 00:39:00

I coded a quick Matlab script to do a pitch shift
using the first method that came to mind and which
I'm guessing is the first method that comes to
everyone's mind when they first think about this 
problem.

I took the time samples divided them into overlapped
frames, took the DFT of each frame, pitch shifted,
and took the IDFT, etc.
By pitch shifting the DFT I mean: (SHIFT < 1)
	for i=1: N/2-1
		new_dft_bin[i * SHIFT] += old_dft_bin[i]
	end
and the rest of new_dft_bin[] is set to the appropriate conjugate of above
such that the IFFT is real.

Suprisingly, it sounded pretty good for a wide range of shifts,e.g. SHIFT=0.5, 
The worst artifact is that a significant
reverb effect is introduced.

Does anyone know the theoretical reason of why reverb is introduced?

Note: 
If I run all the processing except the actual DFT pitch shift, the output
sounds fine with no reverb; this is true even if I change the
phases of each DFT bin to zero.
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Pitch Shift using DFT? - Stephan M. Bernsee - 2004-09-19 05:41:00



Hi,

that won't work right for a couple of reasons. I think instead of 
repeating it all here you should have a look at my article "Pitch 
Shifting using the Fourier Transform" which is located at:

  http://www.dspdimension.com/html/pshiftstft.html

This is part of several articles posted in the "Articles" section on 
http://www.dspdimension.com
-- 
Stephan M. Bernsee
http://www.dspdimension.com

______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.