From a5f05b471588940f0ce5c205759960a080ab7db9 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Sat, 10 Sep 2022 23:19:23 +0200 Subject: [PATCH] hotfix: regression of #196 - samples loaded as arrays would not be repitched --- packages/webaudio/webaudio.mjs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index bfb6f9a3..2a6d39d0 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -70,6 +70,13 @@ const getSoundfontKey = (s) => { const getSampleBufferSource = async (s, n, note) => { let transpose = 0; + let midi; + + if (note !== undefined) { + midi = typeof note === 'string' ? toMidi(note) : note; + transpose = midi - 36; // C3 is middle C + } + const ac = getAudioContext(); // is sample from loaded samples(..) const samples = getLoadedSamples(); @@ -90,8 +97,6 @@ const getSampleBufferSource = async (s, n, note) => { if (!note) { throw new Error('no note(...) set for sound', s); } - const midi = typeof note === 'string' ? toMidi(note) : note; - transpose = midi - 36; // C3 is middle C const midiDiff = (noteA) => toMidi(noteA) - midi; // object format will expect keys as notes const closest = Object.keys(bank)