frequency-viewer
plot frequencies given raw data
example
var fscope = ;fscope;;{return + ;{ return Math }}var data = 8000;var index = 0;{var t;for var i = 0; i < 8000; i++t = index + i / 44000;datai+index % datalength = ;index += i;window;};
If that is too slow, you can also run the fft in a web worker using webworkify:
var work = ;var w = ;var queue = ;w;var fscope ={queue;w;};fscope;;{return + ;{ return Math }}var data = 8000;var index = 0;{var t;for var i = 0; i < 8000; i++t = index + i / 44000;datai+index % datalength = ;index += i;window;};
and in work.js
:
var fscope = ;module {;};
methods
var fscope =
var scope = fscope(opts)
Create a new frequency scope.
You can set the baud rate with opts.rate
, default: 44000.
You can pass in a custom opts.worker(function (data, cb) {})
to perform the
fft work in a web worker.
scope.draw(data)
Update the polyline with data
, a Float32Array
of raw data to compute
frequency domain information for.
scope.appendTo(target)
Append the scope html element to target
, a query selector string or container
element.
scope.resize()
Compute the height and width of the container, resizing accordingly.
var reals = fscope.worker(data)
This is the function that performs the fft. If you want to run the fft code in a
webworker, you can call fscope.worker()
in your implementation.
install
With npm do:
npm install frequency-viewer
This module works well in browserify. To use this module without using browserify, you can download a UMD build from browserify cdn.
license
MIT