mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-08-28 06:14:09 +00:00
Audio: fix pop/crackle — exponential ramps + longer release tail
Linear gain ramps + osc.stop() too close to release end caused waveform discontinuities. Switched to exponentialRamp (natural decay curve), 0.0001 floor (-80dB), 50ms extra headroom before oscillator stop.
This commit is contained in:
@@ -98,14 +98,14 @@
|
||||
|
||||
envGain.gain.setValueAtTime(0, noteStart);
|
||||
envGain.gain.linearRampToValueAtTime(voiceVol, noteStart + a);
|
||||
envGain.gain.linearRampToValueAtTime(voiceVol * s, noteStart + a + d);
|
||||
envGain.gain.setValueAtTime(voiceVol * s, noteEnd);
|
||||
envGain.gain.linearRampToValueAtTime(0.001, noteEnd + r);
|
||||
envGain.gain.exponentialRampToValueAtTime(Math.max(voiceVol * s, 0.0001), noteStart + a + d);
|
||||
envGain.gain.setValueAtTime(Math.max(voiceVol * s, 0.0001), noteEnd);
|
||||
envGain.gain.exponentialRampToValueAtTime(0.0001, noteEnd + r);
|
||||
|
||||
osc.connect(envGain);
|
||||
envGain.connect(filter);
|
||||
osc.start(noteStart);
|
||||
osc.stop(noteEnd + r + 0.01);
|
||||
osc.stop(noteEnd + r + 0.05);
|
||||
osc.onended = () => { osc.disconnect(); envGain.disconnect(); };
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@
|
||||
<script src="traces.js?v=1774135052" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="analytics.js?v=1774126708" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio.js?v=1774200683" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio-v1-constellation.js?v=1774199178" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio-v1-constellation.js?v=1774204296" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="live.js?v=1774203115" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="observers.js?v=1774290000" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="observer-detail.js?v=1774028201" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
|
||||
Reference in New Issue
Block a user