| At 21:02 01/03/97 -0500, you wrote:
>Actually, isn't linear mixing *absolutely* identical to interpolating
>between FFT frames, since addition in the frequency domain equals
>addition in the time domain?? Forgive me if I'm missing something.
>
Interpolation is not the same as a addition. If you interpolate amplitude
and phase between two FFT frames, you - in effect - create frequencies
which are some way between the two source frames. This is not something
you'd expect from mixing. (Except possibly on incredibly cheap equipment,
where anything can happen. ;-) )
The problem is that the way most people do this doesn't get you a morph
that makes musical sense.
Imagine one frame has only a single sine wave of frequency f and the other
has a single sine of frequency 10f. A true morph would create a gliss from
one frequency to the other.
But because FFTs are based on analysis channels, this doesn't happen.
Instead the interpolation is usually done linearly *along* each channel
over time rather than 'vertically' through the whole spectrum. This simply
makes the sound go slightly fuzzy in the middle as the frequencies in each
channel jiggle around a little along the fade. The result is a very
unsatisfactory fuzzy crossfade. Because each channel remains isolated and
independent the shape of the spectrum *as a whole* is not really being
interpolated at all.
This is the main reason why the result isn't so useful in practice, and why
you need to do things like interpolate pitch, short term spectrum and
medium term spectral envelope independently (or however you choose to do
it) to get a convincing effect. There are also other problems like FFT
windowing artefacts to contend with.
Sometimes it's easier to build discrete sum-of-sine models of everything
using the FFT analysis data as a starting point, and do the interpolation
between those the hard way. Fun, fun, fun... :-)
R. |