On Tue, Aug 2, 2011 at 2:28 PM, Conley, Dylan <dylan.con...@marquette.edu> wrote: > Greetings, > > Is anyone aware of an open source pitch-shift algorithm implementation that > is quick (< 2ms) precise (to within 0.5 cents) and leaves the formant intact?
Hi Dylan! I'm not an expert in this but you can do that in two steps: first do pitch-shifting and after that do a formant correction. For a pitch shifting you can for example look at Fons Adriaensen's zita-at1 (http://kokkinizita.linuxaudio.org/linuxaudio/index.html) which is 'autotuning' app which is very well done (but without formant correction). Or you can use any other technique (with time domain methods it's easier to get low latency). Formant correction (at least the way I've done it) consists of applying unprocessed signal's spectral envelope to the processed (pitch shifted) signal. You can get spectral envelope by low pass filtering signal's amplitude spectrum or (better) with LPC. Cheers! Igor -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp