summaryrefslogtreecommitdiff
path: root/src/audio/backend/miniaudio_backend.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/backend/miniaudio_backend.cc')
-rw-r--r--src/audio/backend/miniaudio_backend.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/audio/backend/miniaudio_backend.cc b/src/audio/backend/miniaudio_backend.cc
index da8d558..3be9fb0 100644
--- a/src/audio/backend/miniaudio_backend.cc
+++ b/src/audio/backend/miniaudio_backend.cc
@@ -158,12 +158,13 @@ void MiniaudioBackend::audio_callback(ma_device* pDevice, void* pOutput,
}
// Exponential averaging: instant attack, fast decay
- // Decay rate of 0.7 gives ~1 second decay time for visual sync
- // (At 128ms callbacks: 0.7^7.8 ≈ 0.1 after ~1 second)
+ // Decay rate of 0.5 gives ~500ms decay time for 120 BPM music
+ // (At 128ms callbacks: 0.5^3.9 ≈ 0.07 after ~500ms = 1 beat)
+ // TODO: Make decay rate configurable based on BPM from tracker/MainSequence
if (frame_peak > realtime_peak_) {
realtime_peak_ = frame_peak; // Attack: instant
} else {
- realtime_peak_ *= 0.7f; // Decay: fast (30% per callback)
+ realtime_peak_ *= 0.5f; // Decay: 50% per callback
}
}