robert bristow-johnson wrote:
> i've also fiddled with Gaussian windows and STFT around the turn of
> the century.  i like that the Fourier Transform of a Gaussian is
> another Gaussian, so each frequency component will generate a
> Gaussian pulse in the frequency domain.

Yes.  The Gaussian also has many other nice properties such as being
free of side lobes, having faster than exponential fall-off, and being
both separable and circularly symmetric in the 2-D case.

> how many of these do you have per octave, Andreas?  looks like it
> could be 24 or 48.

The demos use 48 frequency bands per octave, but the underlying
library can handle any integer number of bands per octave from 6
up to several hundred.

> does this make the pixel density along the t-axis be the same for
> higher octaves as it is for lower?  because for constant-Q, you can
> have more pixels per second for the high pitched bins.  but drawing
> that would be a little weird.

There's a distinction between spectrogram coefficients (filter bank
output samples) and display pixels.  The density of the coefficients
along the time axis is indeed higher in the higher octaves.

Converting the coefficients to display pixels involves taking their
magnitudes and then resampling the magnitudes to the density of pixels
per time unit implied by the display zoom factor.  This means
different octaves get resampled by different factors; typically an
octave somewhere in the middle ends up with a one-to-one
correspondence between coefficients and pixels, while higher octaves
are decimated and lower octaves are interpolated.

> which is sorta the wavelet thing.

Yes, that is one way of looking at it.

> Andreas, for each pixel, what parameters do you have?  like an
> amplitude and phase, or do you have more data such as frequency
> sweep rate or amplitude ramp rate?  Using a Gaussian window, you can
> extract all that data out of the windowed samples that are used for
> the pixel.

Again distinguishing between coefficients and pixels, the coefficients
of each frequency band are just complex quadrature samples of the
band's signal downmixed to baseband (using radio terminology), so to
determine the sweep rate or amplitude ramp rate you have to look at
more than one coefficient.

In the displayed pixels, the only parameter is the magnitude; the
phase has been discarded (and therefore the original signal can only
be reconstructed from the coefficients, not from the pixels).  The
coloring in the demo is made by constructing a separate spectrogram
for each stereo channel or track, tinting them differently and adding
them together in RGB space.
-- 
Andreas Gustafsson, g...@waxingwave.com
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to