-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Variable-Q transform and arbitrary frequency scale #6
Comments
This is not an issue. The name of this project is "Constant-Q Sliding DFT", which is also the main purpose. |
Further reading:
|
Actually, I thought about variable bin bandwidth again. In my current project, an improved time resolution at low frequencies would be beneficial. However, I do not plan to use a frequency scale other than logarithmic in this repo. According to [1]:
...the variable bin bandwidth can be mapped via parameter According to [3], the windowing procedure remains the same as in the constant Q case, where [1] A Matlab Toolbox for Efficient Perfect Reconstruction Time-Frequency Transforms with Log-Frequency Resolution |
I have yet to see good use cases of arbitrary bin spacing (which is a special case of VQT and it is closely related to long-term variable-Q transform paper) as last time, I've played around with my VQ-sDFT implementation on my spectrogram sketch to generate Mel spectrogram with this algorithm: |
I suppose it will not be too hard to perform a sliding DFT with arbitrary frequency bin spacing and arbitrary bin bandwidth as well based on the current QDFT implementation. However, a dedicated repository would be appropriate for this purpose. The explicit logarithmic frequency scale also has its place. |
Exactly it is not hard to do something like this (relevant section is when using CQT part of this CodePen audio visualization, which uses Goertzel algorithm instead of sDFT, but it doesn't matter since any CQT/VQT implementation can be easily adapted to use arbitrary bin spacing and bandwidth), it is just logarithmic frequency scaling are more convenient since it follows musical scales whereas perceptual and other frequency scales are not |
BTW, my VQ-sDFT (alongside SWIFT) implementation with arbitrary frequency scale support is included in my first AudioWorklet-based audio visualization project over CodePen, for those who interested on variable-Q transform and arbitrary frequency audio spectrum analyzer |
Variable-Q transform is very similar to constant-Q transform except the Q value is lower as the frequency decreases, which is useful if you want to have better time resolution on lower frequencies at the expense of frequency resolution at bass frequencies (like a logarithmic-frequency spectrogram with ERB frequency resolution).
Arbitrary frequency scale for bin spacing also enables variable-Q transform and with that, it can directly calculate Mel spectrogram using VQT with Mel-frequency bin spacing and resolution.
The text was updated successfully, but these errors were encountered: