I am trying to make a metronome as part of a bigger app by using an oscillator that switches on and off at set intervals in Web Audio Api, I have tried both the Start()/Stop() method and the LinearRampToValue(), in the code below. The oscillator plays at the correct bpm/interval but it won't leave a silent gap between clicks (I hope it makes sense)...what am I doing wrong? it's more of a pulse than a click with gaps as of now. Thanks! function startMetronome() { document.getElementById("startStopButton").innerText = "Stop"; document.getElementById("startStopButton").style.background = "black"; playingMetronome = true; const bpm = parseInt(bpmInput.value); const interval = (60 / bpm) * 1000; oscillator = audioContext.createOscillator(); oscillator.frequency.value = 440; oscillator.type = "triangle"; let gainNode = audioContext.createGain(); oscillator.connect(gainNode); gainNode.conn...
A site where you can share knowledge