The Gaborator

The Gaborator is a C++ library that generates constant-Q spectrograms for 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.

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.

Another way of looking at the Gaborator is that it implements a kind of sampled, invertible constant-Q transform or wavelet transform. It can also be considered a kind of phase vocoder supporting a highly accurate reconstruction of the original signal.

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

Online Demos

The online demos below let you interactively pan and zoom through 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


The latest version of the Gaborator library can be downloaded here: gaborator-1.7.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 for details.