UNPKG

@omnimedia/omnitool

Version:

open source video processing tools

25 lines 930 B
export async function prepAudio(driver, source) { const arrayBuffer = await source.arrayBuffer(); const audioCTX = new AudioContext({ sampleRate: 16000 }); try { const audioData = await audioCTX.decodeAudioData(arrayBuffer); let audio; if (audioData.numberOfChannels === 2) { const SCALING_FACTOR = Math.sqrt(2); const left = audioData.getChannelData(0); const right = audioData.getChannelData(1); audio = new Float32Array(left.length); for (let i = 0; i < audioData.length; ++i) audio[i] = (SCALING_FACTOR * (left[i] + right[i])) / 2; } else { audio = audioData.getChannelData(0); } const duration = await driver.getAudioDuration(source); return { audio, duration }; } finally { await audioCTX.close(); } } //# sourceMappingURL=prep-audio.js.map