UNPKG

gibberish-dsp

Version:

Gibberish is designed to be an optimized API for audio synthesis using per-sample techniques.

16 lines (11 loc) 491 B
let g = require( 'genish.js' ) // constructor for schroeder allpass filters let allPass = function( _input, length=500, feedback=.5 ) { let index = g.counter( 1,0,length ), buffer = g.data( length ), bufferSample = g.peek( buffer, index, { interp:'none', mode:'samples' }), out = g.memo( g.add( g.mul( -1, _input), bufferSample ) ) g.poke( buffer, g.add( _input, g.mul( bufferSample, feedback ) ), index ) return out } module.exports = allPass