Giter VIP home page Giter VIP logo

Comments (6)

jurihock avatar jurihock commented on July 20, 2024 1

Further reading:

from qdft.

jurihock avatar jurihock commented on July 20, 2024 1

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]:

Auditory filters in the human auditory system are approximately constant-Q only for frequencies above 500 Hz and smoothly approach a constant bandwidth towards lower frequencies. Accordingly, music signals generally do not contain closely spaced pitches at low frequencies, thus the Q-factors (relative frequency resolution) can safely be reduced towards lower frequencies, which in turn improves the time resolution.

...the variable bin bandwidth can be mapped via parameter gamma like in [2].

According to [3], the windowing procedure remains the same as in the constant Q case, where gamma equals to 0. Altough an additional memory access to particular bin fiddles is required, I don't expect a huge performance drawback.

[1] A Matlab Toolbox for Efficient Perfect Reconstruction Time-Frequency Transforms with Log-Frequency Resolution
[2] librosa.vqt
[3] Sliding with a constant Q

from qdft.

jurihock avatar jurihock commented on July 20, 2024 1

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.

from qdft.

jurihock avatar jurihock commented on July 20, 2024

This is not an issue. The name of this project is "Constant-Q Sliding DFT", which is also the main purpose.

from qdft.

TF3RDL avatar TF3RDL commented on July 20, 2024

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:
mel spectrogram using sdft

from qdft.

TF3RDL avatar TF3RDL commented on July 20, 2024

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

from qdft.

Related Issues (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.