79 lines
3 KiB
HTML
79 lines
3 KiB
HTML
<!DOCTYPE html>
|
|
<!--
|
|
Copyright (C) 2018-2021 Andreas Gustafsson. This file is part of
|
|
the Gaborator library source distribution. See the file LICENSE at
|
|
the top level of the distribution for license information.
|
|
-->
|
|
<html>
|
|
<head>
|
|
<link rel="stylesheet" href="doc.css" />
|
|
<link rel="icon" type="image/png" href="favicon64.png" />
|
|
<title>The Gaborator</title>
|
|
</head>
|
|
<body>
|
|
<h1>The Gaborator</h1>
|
|
<p>The Gaborator is a library that generates constant-Q spectrograms
|
|
for visualization and analysis of audio signals. It also supports a
|
|
fast and accurate inverse transformation of the spectrogram coefficients
|
|
back into audio for spectral effects and editing.</p>
|
|
|
|
<p>The Gaborator implements the invertible constant-Q transform of
|
|
Velasco, Holighaus, Dörfler, and Grill, described in the papers
|
|
<i><a href="http://www.univie.ac.at/nonstatgab/pdf_files/dohogrve11_amsart.pdf">
|
|
Constructing an invertible constant-Q transform with nonstationary Gabor frames, 2011</a></i>
|
|
and <i><a href="http://www.univie.ac.at/nonstatgab/pdf_files/dogrhove12_amsart.pdf">
|
|
A Framework for invertible, real-time constant-Q transforms, 2012</a></i>,
|
|
using Gaussian bandpass filters and an efficient multi-rate architecture.
|
|
</p>
|
|
|
|
<p>The Gaborator is written in C++11 and compatible with C++14 and C++17.
|
|
It has been tested on macOS, Linux, NetBSD, FreeBSD, and iOS, on Intel
|
|
x86_64 and ARM processors.</p>
|
|
|
|
<p>The Gaborator is open source under the GNU Affero General Public
|
|
License, version 3, and is also available for commercial licensing.
|
|
See the file <a href="../LICENSE">LICENSE</a> for details.</p>
|
|
|
|
<h2>Example Code</h2>
|
|
|
|
<p>The following examples demonstrate the use of the library in
|
|
various scenarios. They are presented in a "literate
|
|
programming" style, with the code embedded in the commentary
|
|
rather than the other way around.
|
|
Concatenating the code fragments in each example yields a complete C++
|
|
program, which can also be found as a <code>.cc</code> file in
|
|
the <code>examples/</code> directory.</p>
|
|
<ul>
|
|
<li><a href="render.html">Example 1: Rendering a Spectrogram Image</a></li>
|
|
<li><a href="filter.html">Example 2: Frequency-Domain Filtering</a></li>
|
|
<li><a href="stream.html">Example 3: Streaming</a></li>
|
|
<li><a href="snr.html">Example 4: Measuring the Signal-to-Noise Ratio</a></li>
|
|
<li><a href="synth.html">Example 5: Synthesis from Scratch</a></li>
|
|
</ul>
|
|
|
|
<h2>API Reference</h2>
|
|
<p>The following documents define the library API.
|
|
</p>
|
|
<ul>
|
|
<li><a href="ref/intro.html">API Introduction</a></li>
|
|
<li><a href="ref/gaborator_h.html">Spectrum analysis and synthesis: <code>gaborator.h</code></a></li>
|
|
<li><a href="ref/render_h.html">Spectrogram rendering: <code>render.h</code></a></li>
|
|
</ul>
|
|
|
|
<h2>How it Works</h2>
|
|
<p>The following document outlines the operation of the library.</p>
|
|
<ul>
|
|
<lI><a href="overview.html">Overview of Operation</a>
|
|
</ul>
|
|
|
|
<h2>FAQ</h2>
|
|
<ul>
|
|
<li><a href="realtime.html">Is it real-time?</a></li>
|
|
</ul>
|
|
|
|
<h2>Contact</h2>
|
|
<p>Email questions and bug reports to the author at info@gaborator.com.</p>
|
|
|
|
</body>
|
|
</html>
|