diff --git a/main.py b/main.py index aab902a..fbae41b 100644 --- a/main.py +++ b/main.py @@ -70,7 +70,8 @@ def playback_thread(file_path, state): # Apply volume if vol != 100.0: - multiplier = max(0.0, vol / 100.0) + # Use cubic curve for more natural volume adjustment (human hearing is logarithmic) + multiplier = max(0.0, (vol / 100.0) ** 3) arr = arr.astype(np.float32) * multiplier arr = np.clip(arr, -32768, 32767).astype(np.int16)