From 003a009ebcc638bd455e37f4845ffb2e524e17a1 Mon Sep 17 00:00:00 2001 From: jdperos Date: Sat, 27 Jun 2026 11:28:40 -0400 Subject: [PATCH] Better Octave Drop logic (#6796) --- soh/src/code/audio_playback.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/soh/src/code/audio_playback.c b/soh/src/code/audio_playback.c index 6569123781..ce6c5d6f19 100644 --- a/soh/src/code/audio_playback.c +++ b/soh/src/code/audio_playback.c @@ -121,7 +121,11 @@ void Audio_NoteSetResamplingRate(NoteSubEu* noteSubEu, f32 resamplingRateInput) noteSubEu->bitField1.hasTwoParts = true; if (3.99996f < resamplingRateInput) { if (CVarGetInteger(CVAR_AUDIO("ExperimentalOctaveDrop"), 0) || noteSubEu->bitField1.isSyntheticWave) { - resamplingRate = resamplingRateInput * 0.25; + resamplingRate = resamplingRateInput * 0.5f; + + while (resamplingRate > 1.99998f) { + resamplingRate *= 0.5f; + } } else { resamplingRate = 1.99998f; }