package replaygain import ( "git.gammaspectra.live/S.O.N.G/Kirika/audio/filter" "math" ) // NewReplayGainFilter Creates a VolumeFilter applying calculated ReplayGain values, pre amplifying by preAmp. Values are in dB func NewReplayGainFilter(gain, peak, preAmp float64) filter.VolumeFilter { volume := math.Pow(10, (gain+preAmp)/20) //prevent clipping volume = math.Min(volume, 1/peak) return filter.NewVolumeFilter(volume) }