@thi.ng/dsp
Version:
Composable signal generators, oscillators, filters, FFT, spectrum, windowing & related DSP utils
42 lines • 1.56 kB
TypeScript
import { type Fn } from "@thi.ng/api/fn";
import type { StatelessOscillator } from "./api.js";
/**
* Higher order function to produce an additive version of given
* {@link StatelessOscillator}. Returns new oscillator function.
*
* @remarks
* The `freqFn` and `ampFn` functions are used to compute respective frequency
* and amplitude factors for each of the `n` requested harmonics (given in
* `[i,n]` range).
*
* @param osc -
* @param freqFn -
* @param ampFn -
* @param n -
*/
export declare const additive: (osc: StatelessOscillator, freqFn: Fn<number, number>, ampFn: Fn<number, number>, n: number) => StatelessOscillator;
/**
* Returns a {@link StatelessOscillator} which constructs a square waveform from
* `n` partials. If `useGibbs` is true (default), also applies {@link gibbs} to
* each partial.
*
* @remarks
* [Interactive graph of this oscillator](https://www.desmos.com/calculator/irugw6gnhy)
*
* @param n - number of partials
* @param useGibbs -
*/
export declare const squareAdditive: (n?: number, useGibbs?: boolean) => StatelessOscillator;
/**
* Returns a {@link StatelessOscillator} which constructs a sawtooth waveform
* from `n` partials. If `useGibbs` is true (default), also applies
* {@link gibbs} to each partial.
*
* @remarks
* [Interactive graph of this oscillator](https://www.desmos.com/calculator/irugw6gnhy)
*
* @param n - number of partials
* @param useGibbs -
*/
export declare const sawAdditive: (n?: number, useGibbs?: boolean) => StatelessOscillator;
//# sourceMappingURL=osc-additive.d.ts.map