Do not use initial adjustment if we have enough samples
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
DataHoarder 2022-03-08 13:42:22 +01:00
parent 13b9682824
commit 54bb437c0b
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk

View file

@ -82,6 +82,12 @@ func (f NormalizationFilter) Process(source audio.Source) audio.Source {
}
if len(sampleBuffer) > nsamples {
adjustment = adjustment*(1-ratio) + float32(volume)*ratio
if adjustment > float32(1/peak) {
adjustment = float32(1 / peak)
}
size := len(sampleBuffer) - nsamples
out := make([]float32, size)
for i, e := range sampleBuffer[:size] {
@ -89,6 +95,12 @@ func (f NormalizationFilter) Process(source audio.Source) audio.Source {
}
outBlocks <- out
sampleBuffer = sampleBuffer[size:]
} else {
adjustment = float32(volume)
if adjustment > float32(1/peak) {
adjustment = float32(1 / peak)
}
}
}