diff options
Diffstat (limited to 'src/audio/backend')
| -rw-r--r-- | src/audio/backend/miniaudio_backend.cc | 7 |
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 } } |
