-
Notifications
You must be signed in to change notification settings - Fork 535
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
ConstantQ Transform? #136
Comments
We do not have this transform, although it could be nice to have it if we see benefits of using it instead of FFT for descriptor computation. |
Approach by Schörkhuber and Klapuri 2010: |
This is an invertible constant q based on gabor frames, implemented in python and matlab: |
C++ implementation in QM DSP Library |
Implemented in the latest master. |
We are in the process of testing our current implementation. Alternative implementations: |
Summary of the most relevant CQT implementations:
Schörkhuber, Klapuri, Holighaus and Dörfler, 2014, a nonstationary Gabor transform, allows perfect reconstruction while the phases are still accurate. It might be interesting to implement this in Essentia. |
@pabloEntropia we have to select among the last two approaches (Holighaus 2012 and Schörkhuber 2014) or their combination. You can read these papers meanwhile. |
Great I will start reading them! |
@pabloEntropia what's your feedback on these two papers? |
Both papers are based on CQ-NSGT (Velasco, Holighaus, Dörfler and Grill, 2011). Holighaus, Dörfler, Velasco and Grill, 2012 just shows how to use the CQ-NSGT frame-wise (sliCQ). |
Hi! |
just saw this: https://mtg.github.io/essentia-labs/news/2019/02/07/invertible-constant-q/ |
Hello! Planning to use the variable-Q transform here with Python routines. Is there an implementation for Python of it available? Otherwise, I'll just use the Matlab version instead... Thanks :) |
In the aforementioned post we show how to use our Constant-Q C++ implementation with Python wrappers in just a few lines:) |
Thanks for this work - can you confirm that the "Schörkhuber 2014" (i.e. the "best" CQ-NSGT with phase) is the implementation in the code? Also, did you have a chance to implement the time-aligned coefficients/matrix form (namely the rasterization/interpolation as described by the paper?) In the code it looks like this is true:
However in the associated feature release/blog post (https://mtg.github.io/essentia-labs/news/2019/02/07/invertible-constant-q/), the Schörkhuber 2014 paper is not mentioned in the references. |
My search in the algorithm reference documentation
and a quick search of the repository proved fruitless.
Is there an implementation of it (e.g. like this) available in Essentia?
The text was updated successfully, but these errors were encountered: