@thi.ng/dsp
Version:
Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils
20 lines (19 loc) • 575 B
JavaScript
import { TAU } from "@thi.ng/math/api";
const dsf = (phase, freq, amp = 1, dc = 0, alpha = 0.5, beta = 1) => {
const aa = alpha * alpha;
const a2 = 2 * alpha;
phase *= TAU * freq;
return amp * ((1 - aa) * Math.sin(phase) / (1 + aa - a2 * Math.cos(beta * phase))) + dc;
};
const dsfHOF = (alpha = 0.5, beta = 1) => {
const aa = alpha * alpha;
const a2 = 2 * alpha;
return (phase, freq, amp = 1, dc = 0) => {
phase *= TAU * freq;
return amp * ((1 - aa) * Math.sin(phase) / (1 + aa - a2 * Math.cos(beta * phase))) + dc;
};
};
export {
dsf,
dsfHOF
};