@soundtouchjs/interpolation-strategy-kaiser
v2.0.3
Published
Kaiser interpolation strategy for SoundTouchJS and audio-worklet.
Maintainers
Readme
@soundtouchjs/interpolation-strategy-kaiser
Kaiser interpolation strategy plugin for SoundTouchJS.
I accept cash if you like what's been done.
Part of the SoundTouchJS monorepo — for more information and so much more.
Usage
import { registerInterpolationStrategy, SoundTouch } from '@soundtouchjs/core';
import { registerKaiserStrategy } from '@soundtouchjs/interpolation-strategy-kaiser';
registerKaiserStrategy({ registerInterpolationStrategy });
const st = new SoundTouch({
interpolationStrategy: 'kaiser',
});
st.setInterpolationStrategyParams({ zeroCrossings: 6, beta: 10 });Profile
Tunable windowed-sinc strategy with strong flexibility for quality and transition-width tradeoffs.
Params
zeroCrossings(default4, normalized to2..16)beta(default8.6, normalized to0..20) — Kaiser window shape parameter; higher = sharper cutoff, more ringingnormalize(defaultfalse) — when true, kernel weights are normalized to sum to 1windowPower(default1) — exponent applied to the Kaiser window shape; values above 1 sharpen the window
Related docs
- Core interpolation registration API: https://cutterscrossing.com/SoundTouchJS/?path=/docs/interpolation-strategies-strategy-plugin-authoring--docs
- Core interpolation strategy overview: https://cutterscrossing.com/SoundTouchJS/?path=/docs/interpolation-strategies--docs
Exports
kaiserKernel: Interpolation kernel implementation.kaiserStrategy: Strategy descriptor with idkaiser.registerKaiserStrategy: Helper that registerskaiserStrategyinto a compatible registry.kaiserStrategy.defaultParams: Runtime defaults for strategy params.
License
MPL-2.0 — see LICENSE for details.
