All Projects → r9y9 → Constantq.jl

r9y9 / Constantq.jl

Licence: other
A fast constant-q transform in Julia

Programming Languages

julia
2034 projects

ConstantQ

Build Status Build status Coverage Status License

A fast constant-q transform in Julia

High-level interface

X, timeaxis, freqaxis = cqt(x, fs)

where x is a input monoral signal and fs is its sampling frequency.

Low-level interface

# Define geometrically-spaced frequency range to analyze
freq = GeometricFrequency(min=55, max=fs/2, bins=24)

# Create spectral kernel matrix
K = speckernel(Float64, fs, freq)

# Compute constant-q spectrogram
hopsize = convert(Int, round(fs * 0.005)) # 5ms hopsize
X, timeaxis, freqaxis = cqt(x, fs, K, hopsize=hopsize)

References

  • J. C. Brown and M. S. Puckette, "An efficient algorithm for the calculation of a constant Q transform," J. Acoust. Soc. Amer., vol. 92, no. 5, pp. 2698–2701, 1992.
  • J. C. Brown. "Calculation of a constant Q spectral transform," Journal of the Acoustical Society of America,, 89(1): 425–434, 1991.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].