From fbdfa2a7b54894a565fd57d5e27f19d752fe39fa Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 17 Feb 2026 21:01:56 +0100 Subject: clean-up pass mq-partials --- tools/mq_editor/viewer.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'tools/mq_editor/viewer.js') diff --git a/tools/mq_editor/viewer.js b/tools/mq_editor/viewer.js index 451421d..c57d693 100644 --- a/tools/mq_editor/viewer.js +++ b/tools/mq_editor/viewer.js @@ -157,6 +157,7 @@ class SpectrogramViewer { // Draw frequency bins const numBins = fftSize / 2; const binFreqWidth = sampleRate / fftSize; + const freqNorm = 1. / (this.freqEnd - this.freqStart); for (let bin = 0; bin < numBins; ++bin) { const freq = bin * binFreqWidth; @@ -171,16 +172,16 @@ class SpectrogramViewer { const normalized = (magDB + 80) / 80; const clamped = Math.max(0, Math.min(1, normalized)); // Power law for better peak visibility - const intensity = Math.pow(clamped, 0.3); + const intensity = Math.pow(clamped, 2.); - const freqNorm0 = (freq - this.freqStart) / (this.freqEnd - this.freqStart); - const freqNorm1 = (freqNext - this.freqStart) / (this.freqEnd - this.freqStart); + const freqNorm0 = (freq - this.freqStart) * freqNorm; + const freqNorm1 = (freqNext - this.freqStart) * freqNorm; const y0 = Math.floor(height - freqNorm1 * height); const y1 = Math.floor(height - freqNorm0 * height); const binHeight = Math.max(1, y1 - y0); const color = this.getSpectrogramColor(intensity); - ctx.fillStyle = `rgba(${color.r},${color.g},${color.b},0.5)`; + ctx.fillStyle = `rgba(${color.r},${color.g},${color.b}, 0.5)`; ctx.fillRect(xStart, y0, frameWidth, binHeight); } } @@ -449,8 +450,7 @@ class SpectrogramViewer { // Normalize to [0, 1] const normalized = (magDB + 80) / 80; - const clamped = Math.max(0, Math.min(1, normalized)); - const intensity = Math.pow(clamped, 0.3); + const intensity = Math.max(0, Math.min(1, normalized)); const barHeight = intensity * height; const x = i * barWidth; -- cgit v1.2.3