23 lines
702 B
C#
23 lines
702 B
C#
namespace FluidSim.Core
|
||
{
|
||
/// <summary>
|
||
/// Mixes multiple audio samples and applies a soft‑clipping tanh.
|
||
/// </summary>
|
||
public static class SoundProcessor
|
||
{
|
||
/// <summary>Overall gain applied after mixing (before tanh).</summary>
|
||
public static float MasterGain { get; set; } = 0.01f;
|
||
|
||
/// <summary>
|
||
/// Mixes an array of raw audio samples and returns a single sample in [‑1, 1].
|
||
/// </summary>
|
||
public static float MixAndClip(params float[] samples)
|
||
{
|
||
float sum = 0f;
|
||
foreach (float s in samples)
|
||
sum += s;
|
||
sum *= MasterGain;
|
||
return sum;
|
||
}
|
||
}
|
||
} |