digital-filterdeprecated

Collection of digital filters, for audio & dsp applications.

Usage no npm install needed!

<script type="module">
  import digitalFilter from 'https://cdn.skypack.dev/digital-filter';
</script>

README

digital-filter experimental Build Status

Collection of digital filters, for audio & dsp applications.

Usage

npm install digital-filter

Produce 1024 samples of grey noise:

const noise = require('colors-of-noise/white')
const filter = require('digital-filter/loudness')

//generate frame of grey noise
let data = filter(noise(new Float32Array(1024)))

Filters

leakyIntegrator(samples, {lambda: 0.95, y: 0})

[FIR]

Leaky integrator.

Takes input array samples and params object, modifies samples in-place. Params object should be shared between subsequent calls.

Params:

  • lambda − defines amount of "leak".
  • y − keeps value of last sample, updated after every call.
let leaky = require('digital-filter/leaky-integrator')

let opts = {lambda: .5}

//render 3 frames
for (let i = 0; i < 3; i++) {
    let data = new Float32Array(1024)
    leaky(data, opts)
}

movingAverage(samples, {memory: 8})

[FIR]

Moving average.

Takes input array samples and params object, modifies samples in-place. Params object should be shared between subsequent calls.

Params:

  • memory − array with initial values of memory. If number, this will create an array of that size.
let ma = require('digital-filter/moving-average')

//average of 5 items
let opts = {memory: 5}

for (let i = 0; i < 3; i++) {
    let data = new Float32Array(1024)
    ma(data, opts)
}

loudness(data, {type: ''})

Implemented filter types:

See also