import type { StatelessOscillator } from "./api.js"; /** * Oscillator using Discrete Summation Formula: * * `y(t) = (1-a^2) * sin(2πt) / (1 + a^2 - 2a * cos(b * 2πt))` * * @remarks * `alpha` should be in `[0,1)` interval, `beta` is used as factor for the base * `freq` and used for the cosine modulation term. The default config for both * params is 0.5, 1.0 respectively, creating a waveform similar to a bandlimited * sawtooth. If both params are zero, the result is a pure sine. * * Note: Higher `alpha` values cause an increasing number (and amplitude) of * spikes in the waveform. Therefore, the higher the `alpha`, the lower `amp` * should be to avoid excessive out-of-range values. * * References: * * - [Interactive graph](https://www.desmos.com/calculator/klvl9oszfm) * - https://ccrma.stanford.edu/files/papers/stanm5.pdf * * @param phase - * @param freq - * @param amp - * @param dc - * @param alpha - * @param beta - */ export declare const dsf: StatelessOscillator; /** * Higher order version of {@link dsf} oscillator with pre-configured * params. Slightly faster, but not dynamically changeable waveform. * * @param alpha - * @param beta - */ export declare const dsfHOF: (alpha?: number, beta?: number) => StatelessOscillator; //# sourceMappingURL=osc-dsf.d.ts.map