@alexanderlee/stft
v1.0.0
Published
Short time Fourier transform
Downloads
366
Maintainers
Readme
stft
A streaming-ish short time Fourier transform.
Example
var shortTimeFT = require("stft")
function onFreq(re, im) {
//Frequency stuff. Process it here
istft(re, im)
}
function onTime(v) {
//Got data, emit it here
console.log("out frame:", v)
}
var stft = shortTimeFT(1, 1024, onFreq)
var istft = shortTimeFT(-1, 1024, onTime)
//Feed stuff into signal
stft(new Float32Array([1, 0, 0, 0, ... ])
Install
npm install stft
require("stft")(direction, frame_size, ondata[, options])
Creates a function for processing a signal with a short time Fourier transform.
direction
is a flag that determines whether the stft is forward or inverseframe_size
is the size of a frame for the stftondata
is a callback that gets fired whenever data is ready to be processedoptions
is an optional object that takes the following parametersoptions.hop_size
the amount of samples between stft hopsoptions.window_func
a windowing function, which takes a parameter from[0,1]
and returns a weight
Returns A function that can be called with a frame (either real or complex) that adds a chunk of data to the stft queue
require("stft").stft(frame_size, ondata[, options])
Short cut for require("stft")(1, frame_size, ondata, options)
require("stft").istft(frame_size, ondata[, options])
Short cut for require("stft")(-1, frame_size, ondata, options)
Credits
(c) 2013 Mikola Lysenko. MIT License