wavelet is a cross-platform c++ library for online estimation of the Continuous Wavelet Transform (CWT). The online estimation is based on a filterbank implementation of the CWT with minimal delay per scale and optimization based on multi-rate computation. The library also allows for offline estimation of the CWT using FFT.
The following wavelets are currently implemented:
- Complex Morlet Wavelet (also called Gabor wavelet)
- Paul wavelet
Jules Françoise: jules.francoise@ircam.fr
This code has been authored by Jules Françoise in the framework of the SkAT-VG European project, with Frederic Bevilacqua, in the Sound Music Movement Interaction team of the STMS Lab - IRCAM - CNRS - UPMC (2011-2015).
Copyright (C) 2015 Ircam-Centre Pompidou.
This project is released under the GPLv3 license. For commercial applications, a proprietary license is available upon request to Frederick Rousseau frederick.rousseau@ircam.fr.
Wavelet is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Wavelet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Wavelet. If not, see http://www.gnu.org/licenses/.
The library uses a subset of c++11 functions. It depends on the open-source matrix library Armadillo for linear algebra and FFT (only required for offline computation), Boost (header-only), and Catch for unit-testing.
The source code is available on Github: https://github.com/Ircam-RnD/wavelet
The online transform is also implemented as a PiPo external for Cycling'74 Max.
The full documentation is available on Github Pages: http://ircam-rnd.github.io/wavelet/
To compile the library, you need the following dependencies installed:
- Boost: http://www.boost.org/
- [optional] Armadillo: http://arma.sourceforge.net/ (only required for offline computation)
See the xcode project in "ide/xcode/"
The library can be built using CMake. In the root directory, type the following command to generate the Makefiles:
cmake . -G"Unix Makefiles"
The following commands can be used to build the static library and run the unit tests, and generate the documentation:
make
make tests
The following commands can be used to generate the developer documentation and the api documentation:
make doc
make docapi
The header file "wavelet_all.h" includes all useful headers of the library.
- doxygen
- swig
- Numpy
- Matplotlib (for plotting utilities)
The python module can be built using CMake. In the python directory, type the following command to generate the Makefiles and build the python module:
cmake . -G"Unix Makefiles"
make
The module should be installed in "${wavelet_root}/python/bin/"