Automatically control volume of songs in playlist to make a better experience.
Pros: Lower input dynamic range required by peak detector; Inherently higher linearity
Cons: Instabilities with high compression or expansion; Higher settling-time
- looper filter: generate VGA parameter
- peak detector: detect amplitude level of Vout
- log conv: make AGC a linear system in decibels
Pros: No instability problems; Ideally zero settling-time
Cons: AGC input dynamic range required by peak detector; High linearity required in loop
for ((i=1;i<10;i++)); do
ffmpeg -i raw/${i}.mp3 -acodec pcm_f32le -ac 1 -ar 44100 input/${i}.wav;
done
python3 agc.py # -> output/*.wav
TI: Software Implementation of Automatic Gain Controller for Speech Signal http://www.ti.com/lit/wp/spraal1/spraal1.pdf
Automatic gain control https://en.wikipedia.org/wiki/Automatic_gain_control
Python AGC of audio time-freq Demo https://github.com/jorgehatccrma/pyagc
Adaptive volume normalization on a stream of PCM data https://dsp.stackexchange.com/questions/24335/adaptive-volume-normalization-on-a-stream-of-pcm-data
Adaptive Gain Control with the Least Mean Squares Algorithm https://www.allaboutcircuits.com/technical-articles/adaptive-gain-control-with-the-least-mean-squares-algorithm/
Adaptive Volume Rendering using Fuzzy Logic Control http://web.cse.ohio-state.edu/~shen.94/papers//Li2001.pdf
Automatic Loudness Control https://www.acoustics.asn.au/conference_proceedings/ICA2010/cdrom-ICA2010/papers/p960.pdf
StreamingKit https://github.com/tumtumtum/StreamingKit
iOS AVAudioEngine http://www.jianshu.com/p/506c62183763
Audio API Overview https://www.objc.io/issues/24-audio/audio-api-overview/
Understanding Automatic Gain Control https://www.allaboutcircuits.com/technical-articles/understanding-automatic-gain-control/
tf_agc - Time-frequency Automatic Gain Control https://labrosa.ee.columbia.edu/matlab/tf_agc/
Youtube: Automatic Volume Level Control circuit demonstration | scanner https://www.youtube.com/watch?v=pUii_pDQxg8