MCPcopy Create free account
hub / github.com/corbanbrook/dsp.js

github.com/corbanbrook/dsp.js @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
253 symbols 509 edges 22 files 6 documented · 2% updated 4y ago★ 1,76824 open issues

Browse by type

Functions 253 Types & classes 0
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

DSP.js

NOTE: This project is no longer maintained (and hasnt been for years). I wrote this when I was much younger and experimenting in Audio and DSP. This is no longer much of a passion of mine.

DSP.js is a digital signal processing library for javascript. It includes many functions for signal analysis and generation, including Oscillators (sine, saw, square, triangle), Window functions (Hann, Hamming, etc), Envelopes (ADSR), IIR Filters (lowpass, highpass, bandpass, notch), FFT and DFT transforms, Delays, Reverb.

Modules

  • DFT(bufferSize, sampleRate): Discrete Fourier Transform
  • Usage: js var dft = new DFT(1024, 44100); dft.forward(signal); var spectrum = dft.spectrum;

  • FFT(bufferSize, sampleRate): Fast Fourier Transform

  • Usage: js var fft = new FFT(2048, 44100); fft.forward(signal); var spectrum = fft.spectrum;

  • Oscillator(waveform, frequency, amplitude, bufferSize, sampleRate): Signal Generator

  • Sine wave
  • Square wave
  • Saw wave
  • Triangle wave
  • Usage: js var osc = new Oscillator(SINEWAVE, 440, 1, 2048, 22050); osc.generate(); var signal = osc.signal;

  • ADSR(attack, decay, sustainLevel, sustain, release, sampleRate): Attack-Decay-Sustain-Release Envelope

  • Usage: js var envelope = new ADSR(0.01, 0.1, 0.5, 0.1, 0.2, 44100); envelope.process(signal);

  • IIRFilter(filter, cutoff, sampleRate): Infinite Impulse Response Filters

  • Low Pass Filter
  • High Pass Filter
  • Usage: js var filter = IIRFilter(LOWPASS, 200, 44100); filter.process(signal);

  • MultiDelay(maxDelayInSamplesSize, delayInSamples, masterVolume, delayVolume): Delay which feeds back its own delayed signal

  • Usage: js var delay = MultiDelay(44100*5, 44100*1, 1.0, 0.6); delay.process(signal);

  • Reverb(maxDelayInSamplesSize, delayInSamples, masterVolume, mixVolume, delayVolume, dampFrequency): Reverb

  • Usage: js var reverb = Reverb(20000, 6500, 0.8, 0.5, 0.9, 4500); reverb.process(signal);

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 253

Languages

TypeScript100%

Modules by API surface

examples/js/processing.js165 symbols
examples/js/jquery-1.4.2.min.js32 symbols
examples/js/jquery-ui-1.8.custom.min.js26 symbols
dsp.js17 symbols
test/audio-harness.js3 symbols
test/reverb-test.js1 symbols
test/oscillator-test.js1 symbols
test/multidelay-test.js1 symbols
test/iirfilter-test.js1 symbols
test/filter-test.js1 symbols
test/fft-test.js1 symbols
test/dft-test.js1 symbols

For agents

$ claude mcp add dsp.js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page