From 36d8edfb07022a7eaab797ebbc12101e389b11fb686fa85029b404adf77dd6cb Mon Sep 17 00:00:00 2001 From: copecone Date: Sat, 11 Jul 2026 00:24:50 +0900 Subject: [PATCH] Add Gain Filter --- Util/Audio/Filter/Gain.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 Util/Audio/Filter/Gain.cs diff --git a/Util/Audio/Filter/Gain.cs b/Util/Audio/Filter/Gain.cs new file mode 100644 index 0000000..645978c --- /dev/null +++ b/Util/Audio/Filter/Gain.cs @@ -0,0 +1,22 @@ +using System; + +namespace ADOFAIRenderer.Util.Audio.Filter +{ + public class Gain : IAudioFilter + { + public float Level = 0f; + + public void Initialize(int sampleRate, int channels) { } + + public float ProcessSample(float sample, int channel) => + sample * (float)Math.Pow(10, Level / 20); + + public void ProcessBlock(Span buffer) + { + for (var i = 0; i < buffer.Length; i++) + buffer[i] = ProcessSample(buffer[i], 0); + } + + public void Reset() { } + } +} \ No newline at end of file