diff --git a/packages/soundfonts/fontloader.mjs b/packages/soundfonts/fontloader.mjs index a13eb764..45fae951 100644 --- a/packages/soundfonts/fontloader.mjs +++ b/packages/soundfonts/fontloader.mjs @@ -126,13 +126,18 @@ export function registerSoundfonts() { const bufferSource = await getFontBufferSource(instrument, note || n, ctx); bufferSource.start(time); const stop = (time) => bufferSource.stop(time); + const g = new GainNode(ctx, { gain: 0.3 }); + bufferSource.connect(g); bufferSource.onended = () => { bufferSource.disconnect(); + g.disconnect(); onended(); }; - return { node: bufferSource, stop }; + return { node: g, stop }; }, { type: 'soundfont', prebake: true }, ); }); } + +registerSoundfonts(); diff --git a/website/src/docs/MiniRepl.jsx b/website/src/docs/MiniRepl.jsx index 83106a53..cce24623 100644 --- a/website/src/docs/MiniRepl.jsx +++ b/website/src/docs/MiniRepl.jsx @@ -18,6 +18,7 @@ if (typeof window !== 'undefined') { import('@strudel.cycles/webaudio'), import('@strudel.cycles/osc'), import('@strudel.cycles/csound'), + import('@strudel.cycles/soundfonts'), ); } diff --git a/website/src/repl/prebake.mjs b/website/src/repl/prebake.mjs index 5c86dd08..04ec66a7 100644 --- a/website/src/repl/prebake.mjs +++ b/website/src/repl/prebake.mjs @@ -1,12 +1,12 @@ import { Pattern, toMidi, valueToMidi } from '@strudel.cycles/core'; -import { registerSoundfonts } from '@strudel.cycles/soundfonts'; +//import { registerSoundfonts } from '@strudel.cycles/soundfonts'; import { registerSynthSounds, samples } from '@strudel.cycles/webaudio'; export async function prebake() { // https://archive.org/details/SalamanderGrandPianoV3 // License: CC-by http://creativecommons.org/licenses/by/3.0/ Author: Alexander Holm registerSynthSounds(); - registerSoundfonts(); + //registerSoundfonts(); await Promise.all([ samples(`./piano.json`, `./piano/`, { prebake: true }), // https://github.com/sgossner/VCSL/