UNPKG

spessasynth_lib

Version:

MIDI and SoundFont2/DLS library with no compromises

35 lines (34 loc) 831 B
import { reverbBufferBinary } from "./reverb_as_binary.js"; /** * Creates a reverb processor * @param context {BaseAudioContext} * @param reverbBuffer {AudioBuffer} * @returns {{conv: ConvolverNode, promise: Promise<AudioBuffer>}} */ export function getReverbProcessor(context, reverbBuffer = undefined) { let solve; /** * @type {Promise<AudioBuffer>} */ let promise = new Promise(r => solve = r); const convolver = context.createConvolver(); if (reverbBuffer) { convolver.buffer = reverbBuffer; solve(); } else { // decode promise = context.decodeAudioData(reverbBufferBinary.slice(0)); promise.then(b => { convolver.buffer = b; }); } return { conv: convolver, promise: promise }; }