UNPKG

@thi.ng/dsp

Version:

Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils

20 lines (19 loc) 575 B
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 };