From: Paul Brossier Date: Mon, 15 Apr 2013 22:12:31 +0000 (-0500) Subject: timeside/analyzer/max_level.py: use AnalyzerResultContainer X-Git-Tag: 0.5.0~115^2~10 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=0c747ce60360e7f46db1106ba0e8a53dc4410427;p=timeside.git timeside/analyzer/max_level.py: use AnalyzerResultContainer --- diff --git a/tests/test_max_level.py b/tests/test_max_level.py new file mode 100755 index 0000000..d55f6f7 --- /dev/null +++ b/tests/test_max_level.py @@ -0,0 +1,30 @@ +#! /usr/bin/env python + +from unit_timeside import * +from timeside.decoder import * +from timeside.analyzer.max_level import MaxLevel + +class TestAubioMelEnergy(TestCase): + + def setUp(self): + self.analyzer = MaxLevel() + + def testOnSweep(self): + "runs on sweep" + self.source = os.path.join (os.path.dirname(__file__), "samples", "sweep.wav") + + def testOnGuitar(self): + "runs on guitar" + self.source = os.path.join (os.path.dirname(__file__), "samples", "guitar.wav") + + def tearDown(self): + decoder = FileDecoder(self.source) + (decoder | self.analyzer).run() + results = self.analyzer.results() + print results + #print results.to_yaml() + #print results.to_json() + #print results.to_xml() + +if __name__ == '__main__': + unittest.main(testRunner=TestRunner()) diff --git a/timeside/analyzer/max_level.py b/timeside/analyzer/max_level.py index 5dd251a..d280326 100644 --- a/timeside/analyzer/max_level.py +++ b/timeside/analyzer/max_level.py @@ -37,17 +37,12 @@ class MaxLevel(Processor): @staticmethod @interfacedoc def id(): - return "maxlevel" + return "maxlevel_analyzer" @staticmethod @interfacedoc def name(): - return "Max level" - - @staticmethod - @interfacedoc - def unit(): - return "dBFS" + return "Max level analyzer" def process(self, frames, eod=False): if frames.size: @@ -56,5 +51,7 @@ class MaxLevel(Processor): self.value = max return frames, eod - def result(self): - return numpy.round(20*numpy.log10(self.value), 3) + def results(self): + result = AnalyzerResult(id = "maxlevel", name = "Max level", unit = "dBFS") + result.value = numpy.round(20*numpy.log10(self.value), 3) + return AnalyzerResultContainer([result])