gibberish-dsp
Version:
Gibberish is designed to be an optimized API for audio synthesis using per-sample techniques.
16 lines (11 loc) • 491 B
JavaScript
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