Options
All
  • Public
  • Public/Protected
  • All
Menu

Module "osc/dsf"

Index

Functions

Functions

Const dsf

  • dsf(phase: number, freq: number, amp?: undefined | number, dc?: undefined | number, alpha?: any, beta?: any): number
  • 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:

    Parameters

    • phase: number
    • freq: number
    • Default value amp: undefined | number = 1
    • Default value dc: undefined | number = 0
    • Default value alpha: any = 0.5
    • Default value beta: any = 1

    Returns number

Const dsfHOF

  • Higher order version of dsf oscillator with pre-configured params. Slightly faster, but not dynamically changeable waveform.

    Parameters

    • Default value alpha: number = 0.5
    • Default value beta: number = 1

    Returns StatelessOscillator

Generated using TypeDoc