A utility class for audio frames.
Initially based on audioop (2011-2023), this class is self-implemented
in 02-2024 due to PEP 594 (dead batteries). Actually, 'audioop' is one
of the 19 removed libraries with no proposed alternative.
Example
>>> frames = b' '
>>> a = sppasAudioFrames(frames, sampwidth=2, nchannels=1)
>>> a.rms()
3
>>> a.minmax()
(1,5)
Supported sample width is only either 1 (8bits) or 2 (16bits) or 4 (32bits).
Note that operations such as rms() or mul() make no distinction between
mono and stereo fragments, i.e. all samples are treated equal. If this is
a problem the stereo fragment should be split into two mono fragments first
and recombined later.