stft - Short time Fourier transform

  •        41

A streaming-ish short time Fourier transform. Creates a function for processing a signal with a short time Fourier transform.

https://github.com/mikolalysenko/stft

Dependencies:

ndarray : ~0.2.4
ndarray-fft : ~0.0.2

Tags
Implementation
License
Platform

   




Related Projects

iStudio

  •    

iStudio is an open source audio development platform aiming to become professional audio and signal processing suite with fully functional audio editor.

pyo - Python DSP module - ajaxsoundstudio.com

  •    C

pyo is a Python module written in C to help digital signal processing script creation. pyo is a Python module containing classes for a wide variety of audio signal processing types. With pyo, user will be able to include signal processing chains directly in Python scripts or projects, and to manipulate them in real time through the interpreter. Tools in pyo module offer primitives, like mathematical operations on audio signal, basic signal processing (filters, delays, synthesis generators, etc.), but also complex algorithms to create sound granulation and others creative audio manipulations. pyo supports OSC protocol (Open Sound Control), to ease communications between softwares, and MIDI protocol, for generating sound events and controlling process parameters. pyo allows creation of sophisticated signal processing chains with all the benefits of a mature, and widely used, general programming language.

Concept-dsp

  •    C

This program is intended as an educational tool to explain the concept of Discrete Fourier Transform (DFT). It uses the Fast Fourier Transform to calculate the DFT of a given arbitrary time domain signal and plots it graphically.

Faust : signal processing language

  •    

Faust is a programming language for realtime audio signal processing

Fourier Transform

  •    C++

Description and detailed explanation on Fourier Transform, some FFT, LPC etc. Runable project demonstrates DCT transform on continuous audio, show and edit audio source with different zooming and view.


Tone.js - A Web Audio framework for making interactive music in the browser.

  •    Javascript

Tone.js is a Web Audio framework for creating interactive music in the browser. The architecture of Tone.js aims to be familiar to both musicians and audio programmers looking to create web-based audio applications. On the high-level, Tone offers common DAW (digital audio workstation) features like a global transport for scheduling events and prebuilt synths and effects. For signal-processing programmers (coming from languages like Max/MSP), Tone provides a wealth of high performance, low latency building blocks and DSP modules to build your own synthesizers, effects, and complex control signals. Full Installation Instruction.

dsp.js - Digital Signal Processing for Javascript

  •    Javascript

DSP.js is a comprehensive digital signal processing library for javascript. It includes many functions for signal analysis and generation, including Oscillators (sine, saw, square, triangle), Window functions (Hann, Hamming, etc), Envelopes (ADSR), IIR Filters (lowpass, highpass, bandpass, notch), FFT and DFT transforms, Delays, Reverb.

essentia - C++ library for audio and music analysis, description and synthesis, including Python bindings

  •    Jupyter

Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPL license. It contains an extensive collection of reusable algorithms which implement audio input/output functionality, standard digital signal processing blocks, statistical characterization of data, and a large set of spectral, temporal, tonal and high-level music descriptors. The library is also wrapped in Python and includes a number of predefined executable extractors for the available music descriptors, which facilitates its use for fast prototyping and allows setting up research experiments very rapidly. Furthermore, it includes a Vamp plugin to be used with Sonic Visualiser for visualization purposes. Essentia is designed with a focus on the robustness of the provided music descriptors and is optimized in terms of the computational cost of the algorithms. The provided functionality, specifically the music descriptors included in-the-box and signal processing algorithms, is easily expandable and allows for both research experiments and development of large-scale industrial applications. If you use example extractors (located in src/examples), or your own code employing Essentia algorithms to compute descriptors, you should be aware of possible incompatibilities when using different versions of Essentia.

Wavelet Studio

  •    CSharp

C# library to assist the signal processing with Wavelet Analysis.

kapre - kapre: Keras Audio Preprocessors

  •    Python

Keras Audio Preprocessors. Written by Keunwoo Choi. Why bother to save STFT/melspectrograms to your storage? Just do it on-the-fly on-GPU.

eXtace

  •    C

eXtace is a 3D audio visualization tool (or eye candy depending on how you look at it). eXtace requires ESD (Esound) for its sound input source. It performs a FFT (fast fourier transform) on audio and displays it via various graphical modes.

audiolazy - Expressive Digital Signal Processing (DSP) package for Python

  •    Python

Another difficulty concerns expressive code creation for audio processing in blocks through indexes and vectors. Sometimes, that's unavoidable, or at least such avoidance would limit the power of the system that works with sequence data. Block sequences can be found from sample sequences being both objects, where the latter can be the result of a method or function over the former. The information needed for such is the block size and where would start the next block. Although one can think about the last block and the exact index where it would start, most of the time spent in steps like this one happens to be an implementation issue that just keep the focus away from the problem being worked on. To allow a thing like an endless data sequence, there should be no need to know when something stops.

ThinkDSP - Think DSP: Digital Signal Processing in Python, by Allen B. Downey.

  •    Jupyter

LaTeX source and Python code for Think DSP: Digital Signal Processing in Python, by Allen B. Downey. The premise of this book (and the other books in the Think X series) is that if you know how to program, you can use that skill to learn other things. I am writing this book because I think the conventional approach to digital signal processing is backward: most books (and the classes that use them) present the material bottom-up, starting with mathematical abstractions like phasors.

TarsosDSP - A Real-Time Audio Processing Framework in Java

  •    Java

TarsosDSP is a Java library for audio processing. Its aim is to provide an easy-to-use interface to practical music processing algorithms implemented, as simply as possible, in pure Java and without any other external dependencies. The library tries to hit the sweet spot between being capable enough to get real tasks done but compact and simple enough to serve as a demonstration on how DSP algorithms works. TarsosDSP features an implementation of a percussion onset detector and a number of pitch detection algorithms: YIN, the Mcleod Pitch method and a “Dynamic Wavelet Algorithm Pitch Tracking” algorithm. Also included is a Goertzel DTMF decoding algorithm, a time stretch algorithm (WSOLA), resampling, filters, simple synthesis, some audio effects, and a pitch shifting algorithm. To show the capabilities of the library, TarsosDSP example applications are available. Head over to the TarosDSP release directory for freshly baked binaries and code smell free (that is the goal anyway), oven-fresh sources.

Kiss FFT

  •    C

A Fast Fourier Transform based up on the principle, "Keep It Simple, Stupid." Kiss FFT is a very small, reasonably efficient, mixed radix FFT library that can use either fixed or floating point data types.

JAMin

  •    C

JAMin is the JACK Audio Connection Kit (JACK) Audio Mastering interface. JAMin is designed to perform professional audio mastering of stereo input streams from JACK enabled applications. It uses LADSPA for digital signal processing (DSP).

madmom - Python audio and music signal processing library

  •    Python

Madmom is an audio signal processing library written in Python with a strong focus on music information retrieval (MIR) tasks. The library is internally used by the Department of Computational Perception, Johannes Kepler University, Linz, Austria (http://www.cp.jku.at) and the Austrian Research Institute for Artificial Intelligence (OFAI), Vienna, Austria (http://www.ofai.at).

FFT of 1 dimensional time buffer

  •    Lazarus

Program that does an FFT (Fast Fourier Transformation) algorithm on a 1 dimensional time buffer read from a file. It will display graphically.

ImageMagick

  •    C++

ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.