> On March 20, 2020 4:58 PM Andreas Gustafsson <g...@waxingwave.com> wrote:
> 
>  
> robert bristow-johnson wrote:
> > anyway, while i have done this sliding Hann window before, i haven't
> > done it for a sliding DFT.  but i would be excited to see a good
> > implementation of constant Q filterbank that is very close to
> > perfect reconstruction if the modification in the frequency domain
> > is null. one could make a Hann windowed DTFT evaluated at a finite
> > number of arbitrary frequencies.  i just wonder if a sliding Hann
> > window would be best.  but, using a truncated cosine as the impulse
> > response of the TIIR, whatever shape of the window would have to be
> > a sum of truncated cosines (plus the constant term).  but you could
> > make a nice frequency analyzer of log-spaced, constant-Q,
> > filterbanks with a bank of truncated IIRs and pre-multiplying the
> > input to each filter by e^(-j omega n).  making them add up to a
> > wire is a harder problem.
> 
> Isn't this pretty much what my Gaborator library (gaborator.com) does?
> It performs constant Q analysis using Gaussian windows, and resynthesis
> that reconstructs the original signal to within about -115 dB using
> single precision floats.

wow, i really like your spectrogram display.  quite elegant.

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.  how many of these do you have per octave, Andreas?  looks like it 
could be 24 or 48. 

but that's really an impressive spectrogram demo.  (and the Subliminal track is 
interesting music.)

> 
> It's not exactly "sliding" since the output samples of the filters are
> not at the original sample rate but decimated by powers of two
> depending on the bandwidth of each filter,

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.

> but that could be seen as a
> feature since it means any frequency-domain modifications can run more
> efficiently as they have fewer samples to process.

which is sorta the wavelet thing.  higher pitched wavelets are shorter.  but 
that's not the case with the normal STFT.

>  For example, if
> you are modifying a frequency band with a center frequency of 50 Hz
> and a bandwidth of 10 Hz, there is little point in running that
> modification at a full 44.1 or 48 kHz sample rate.

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.


--
 
r b-j                  r...@audioimagination.com
 
"Imagination is more important than knowledge."
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to