From: yomguy Date: Sun, 29 May 2011 19:32:24 +0000 (+0000) Subject: analyzers : fix max_level and mean_level (renamed rms_level), change unit to dBFS X-Git-Tag: 0.3.2~29 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=63e15537516148b0f11ee646949a3a1fdb4a39e4;p=timeside.git analyzers : fix max_level and mean_level (renamed rms_level), change unit to dBFS --- diff --git a/timeside/analyzer/dc.py b/timeside/analyzer/dc.py index 5b4ef04..50d9575 100644 --- a/timeside/analyzer/dc.py +++ b/timeside/analyzer/dc.py @@ -56,4 +56,3 @@ class MeanDCShift(Processor): def result(self): return numpy.round(100*numpy.mean(self.values),3) - diff --git a/timeside/analyzer/max_level.py b/timeside/analyzer/max_level.py index cc1b848..b49ffb1 100644 --- a/timeside/analyzer/max_level.py +++ b/timeside/analyzer/max_level.py @@ -32,7 +32,7 @@ class MaxLevel(Processor): @interfacedoc def setup(self, channels=None, samplerate=None, nframes=None): super(MaxLevel, self).setup(channels, samplerate, nframes) - self.value = -140 + self.value = 0 @staticmethod @interfacedoc @@ -47,13 +47,13 @@ class MaxLevel(Processor): @staticmethod @interfacedoc def unit(): - return "dB" + return "dBFS" def process(self, frames, eod=False): - max = numpy.round(20*numpy.log(frames.max()), 2) + max = frames.max() if max > self.value: self.value = max return frames, eod def result(self): - return self.value + return numpy.round(20*numpy.log10(self.value), 3) diff --git a/timeside/analyzer/mean_level.py b/timeside/analyzer/mean_level.py index 4cdd0d6..1e3e421 100644 --- a/timeside/analyzer/mean_level.py +++ b/timeside/analyzer/mean_level.py @@ -31,29 +31,29 @@ class MeanLevel(Processor): @interfacedoc def setup(self, channels=None, samplerate=None, nframes=None): super(MeanLevel, self).setup(channels, samplerate, nframes) - self.values = numpy.array([0]) + self.values = numpy.array([]) @staticmethod @interfacedoc def id(): - return "meanlevel" + return "rmslevel" @staticmethod @interfacedoc def name(): - return "Mean RMS level" + return "RMS level" @staticmethod @interfacedoc def unit(): - return "dB" + return "dBFS" def __str__(self): return "%s %s" % (str(self.value), unit()) def process(self, frames, eod=False): - self.values = numpy.append(self.values, numpy.mean(numpy.sqrt(numpy.square(frames)))) + self.values = numpy.append(self.values, numpy.mean(numpy.square(frames))) return frames, eod def result(self): - return numpy.round(20*numpy.log10(numpy.mean(self.values)), 2) + return numpy.round(20*numpy.log10(numpy.sqrt(numpy.mean(self.values))), 3)