]> git.parisson.com Git - timeside.git/commitdiff
timeside/analyzer/max_level.py: use AnalyzerResultContainer
authorPaul Brossier <piem@piem.org>
Mon, 15 Apr 2013 22:12:31 +0000 (17:12 -0500)
committerPaul Brossier <piem@piem.org>
Mon, 15 Apr 2013 22:12:31 +0000 (17:12 -0500)
tests/test_max_level.py [new file with mode: 0755]
timeside/analyzer/max_level.py

diff --git a/tests/test_max_level.py b/tests/test_max_level.py
new file mode 100755 (executable)
index 0000000..d55f6f7
--- /dev/null
@@ -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())
index 5dd251a0985863eb2d28fa8545bc5e0f3827b843..d280326207551329c9d02b09ce89b9990127aa52 100644 (file)
@@ -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])