The Gaborator

Waveforms are so last century

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 fixed-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 info@gaborator.com.

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

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

Download

The Gaborator library can be downloaded here: gaborator-1.7.tar.gz.

iOS App

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

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.

Licenses and services are offered through the author's EU VAT registered limited company. Please contact info@gaborator.com for details.