From: Roger Dannenberg <rbd@cs...> - 2008-12-24 16:41:04
David Sky wrote:
> In Nyquist you cannot alter the pitch of previously-existing audio
> also changing its duration.
David, I know what you meant, but I use Nyquist for pitch shifting and
time stretching all the time. Doing this well it tricky and depends on
the source material. I haven't invested the effort to develop a
high-quality general solution, so I don't have much to offer here. For
some of my own work, I've used the yin primitive to detect periods of
monophonic tones and then some careful cutting and splicing to insert or
remove periods in order to change durations. This is an instance of the
PSOLA (pitch-synchronous overlap and add) technique.
For lower quality, you can use simple granular synthesis techniques for
time-domain pitch shifting. There is an explanation in
demos/pitch_change.htm in the Nyquist distribution.