--- /dev/null
+#! /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())
@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:
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])