All Projects → Lichtso → CCWT

Lichtso / CCWT

Licence: MIT license
Complex Continuous Wavelet Transform

Programming Languages

c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
Makefile
30231 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to CCWT

audiowmark
Audio Watermarking
Stars: ✭ 101 (-25.74%)
Mutual labels:  signal-processing, fft
filtering-stft-and-laplace-transform
Simple demo of filtering signal with an LPF and plotting its Short-Time Fourier Transform (STFT) and Laplace transform, in Python.
Stars: ✭ 50 (-63.24%)
Mutual labels:  signal-processing, fft
FftSharp
A .NET Standard library for computing the Fast Fourier Transform (FFT) of real or complex data
Stars: ✭ 132 (-2.94%)
Mutual labels:  signal-processing, fft
Audio Spectrum Analyzer In Python
A series of Jupyter notebooks and python files which stream audio from a microphone using pyaudio, then processes it.
Stars: ✭ 273 (+100.74%)
Mutual labels:  signal-processing, fft
Rustfft
A mixed-radix FFT library written in pure Rust
Stars: ✭ 183 (+34.56%)
Mutual labels:  signal-processing, fft
ooura
Javascript port of Ooura FFT implementation
Stars: ✭ 23 (-83.09%)
Mutual labels:  signal-processing, fft
DTMF-Decoder
A Java program to implement a DMTF Decoder.
Stars: ✭ 28 (-79.41%)
Mutual labels:  signal-processing, fft
Eulerian Remote Heartrate Detection
Remote heart rate detection through Eulerian magnification of face videos
Stars: ✭ 48 (-64.71%)
Mutual labels:  signal-processing, fft
Pycroscopy
Scientific analysis of nanoscale materials imaging data
Stars: ✭ 144 (+5.88%)
Mutual labels:  signal-processing, fft
spectrogram
Taking an audio signal (wav) and converting it into a spectrogram. Written in Go programming language.
Stars: ✭ 34 (-75%)
Mutual labels:  png, fft
susa
High Performance Computing (HPC) and Signal Processing Framework
Stars: ✭ 55 (-59.56%)
Mutual labels:  signal-processing, fft
dsp-kit
A digital signal processing library in Javascript
Stars: ✭ 32 (-76.47%)
Mutual labels:  fft
autosvg
Autosvg is tracing tool, which can convert image format like (jpg,png,gif) into vector
Stars: ✭ 35 (-74.26%)
Mutual labels:  png
setigen
Python library for generating and injecting artificial narrow-band signals into radio frequency data
Stars: ✭ 19 (-86.03%)
Mutual labels:  signal-processing
pnglib-es6
Create png images in pure javascript (modern & fast ES6 version using typed Arrays)
Stars: ✭ 41 (-69.85%)
Mutual labels:  png
to-ico
Convert PNG to ICO in memory
Stars: ✭ 115 (-15.44%)
Mutual labels:  png
Cough-signal-processing
Different methods and techniques for features extraction from audio
Stars: ✭ 42 (-69.12%)
Mutual labels:  signal-processing
mkl fft
NumPy-based Python interface to Intel (R) MKL FFT functionality
Stars: ✭ 52 (-61.76%)
Mutual labels:  fft
AbstractFFTs.jl
A Julia framework for implementing FFTs
Stars: ✭ 72 (-47.06%)
Mutual labels:  fft
ee.Screen
Takes screenshots of web pages for the list of URLs. Various resolutions, multiple formats (JPG, PDF, PNG and TXT)
Stars: ✭ 19 (-86.03%)
Mutual labels:  png

CCWT library for C and Python

Did you ever wanted to easily generate a spectrogram like this one?

spectrogram

Take the Tutorial with lots of examples and all features being explained.

Features

Complex continuous wavelet transformation

  • with a gabor wavelet
  • interfaces for C99, python2.7 and python3.5
  • using libFFTW for performance
  • and libPNG as possible output
  • 6 render modes
  • parallelization / multithreading support
  • customizable frequency bands
  • helper method for linear and exponential frequency bands

Dependencies

Ubuntu

sudo apt-get install libfftw3-dev libpng-dev

Arch Linux

sudo pacman -S fftw libpng

Mac OS

brew install fftw libpng

Installation

[sudo] pip[3] install ccwt

Documentation

ccwt.fft()

  • input_signal: Numpy 1D float32, float64, complex64 or complex128 array
  • padding: Zero samples to be virtually added at each end of the input signal, default is 0
  • thread_count: Default is 1 (no multi threading)

ccwt.frequency_band()

  • height: Height of the resulting image in pixels and number of frequencies to analyze
  • frequency_range: Difference between the highest and the lowest frequency to analyze, default is height/2
  • frequency_offset: Lowest frequency to analyze, default is 0.0
  • frequency_basis: Values > 0.0 switch from a linear to an exponential frequency scale using this as basis, default is 0.0 / linear mode
  • deviation: Values near 0.0 have better frequency resolution, values towards infinity have better time resolution, default is 1.0

ccwt.numeric_output()

  • fourier_transformed_signal: Numpy 1D complex128 array generated by ccwt.fft()
  • frequency_band: Numpy 2D float64 array generated by ccwt.frequency_band()
  • width: Width of the resulting image in pixels, can be the length of the input signal or less for downsampling
  • padding: Same value as passed to ccwt.fft()
  • thread_count: Default is 1 (no multi threading)

ccwt.render_png()

Same as ccwt.numeric_output() but with these additionally at the beginning:

  • file: File object to store the resulting PNG image
  • render_mode: indicating the color scheme for rendering, see include/render_mode.h for possible values
  • logarithmic_basis: Values > 0.0 switch from a linear to a logarithmic intensity rendering using this as basis
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].