The Gaborator

The Gaborator is a C++ library that generates constant-Q spectrograms for the visualization and analysis of audio signals. A constant-Q spectrogram samples a frequency range at a given number of points per octave or per semitone rather than per Hz, resulting in a more musically and perceptually meaningful display than a traditional constant-bandwidth spectrogram. As of version 2, constant-bandwidth and mel scale spectrograms are also supported.

The Gaborator also supports a fast and accurate inverse transformation of the spectrogram coefficients back into audio for spectral effects and editing. Both analysis and resynthesis run at a rate of many millions of samples per second on a typical PC or mobile CPU.

The Gaborator can also be viewed as a multirate filter bank of logarithmically spaced filters, as a phase vocoder using logarithmically spaced frequency bands and supporting a highly accurate reconstruction of the original signal, or as a way to calculate a sampled, invertible constant-Q transform or wavelet transform.

For more information, see the online documentation, watch the talk Exploring Time-Frequency Space with the Gaborator presented at the 2017 Audio Developer Conference, or email the author at info@gaborator.com.

Online Demos

The online demos below let you interactively pan and zoom through constant-Q spectrograms generated using the Gaborator. The user interface is similar to that of online maps and based on the Leaflet library.

Piano: Aria by J. S. Bach

Strings: Meditation by Josef Suk

Multitrack recording: The Swing State by Subliminal

Speech: plain, vocoder effect

Scientific signals: gravitational wave

Synthetic signals: sine waves, logarithmic sweep, impulse, pair of impulses, impulse train, white noise, pink noise

Download

The latest version of the Gaborator library can be downloaded here: gaborator-2.1.tar.gz.

iOS App

Spectrolite is a real-time spectrogram app for iOS, based on the Gaborator.

Licensing and Services

The Gaborator is free to use under the terms of the GNU Affero General Public License, version 3 (AGPLv3). If you are unable to use it under the AGPLv3, commercial licenses are available on flexible terms and at reasonable rates. If you are considering writing your own library of similar functionality, licensing the Gaborator will almost certainly be both faster and less expensive.

If you need help with integrating the Gaborator into your own application, the author is available for consulting. Or if you need a feature that is currently missing, consider contracting for its development. Please contact info@gaborator.com for details.