]> git.parisson.com Git - timeside.git/commitdiff
timeside/analyzer/aubio_temporal.py: only get bpm if more than 2 beats found, factorize
authorPaul Brossier <piem@piem.org>
Sun, 14 Apr 2013 15:44:09 +0000 (10:44 -0500)
committerPaul Brossier <piem@piem.org>
Sun, 14 Apr 2013 15:44:09 +0000 (10:44 -0500)
timeside/analyzer/aubio_temporal.py

index 5893fdd07014bfba1c62a46a9f7091d4cee7bbf1..5d7edc16a00d29031db9e0de3268170d008d460c 100644 (file)
@@ -75,23 +75,20 @@ class AubioTemporal(Processor):
         onsets.value = self.onsets
 
         onsetrate_mean = AnalyzerResult(id = "aubio_onset_rate_mean", name = "onset rate (aubio)", unit = "bpm")
+        onsetrate_median = AnalyzerResult(id = "aubio_onset_rate_median", name = "onset rate (median) (aubio)", unit = "bpm")
         if len(self.onsets) > 1:
             periods = [60./(b - a) for a,b in zip(self.onsets[:-1],self.onsets[1:])]
             onsetrate_mean.value = mean (periods)
+            onsetrate_median.value = median (periods)
         else:
-            onserate_mean.value = 0
-
-        onsetrate_median = AnalyzerResult(id = "aubio_onset_rate_median", name = "onset rate (median) (aubio)", unit = "bpm")
-        if len(self.onsets):
-            onsetrate_median.value = mean (periods)
-        else:
+            onsetrate_mean.value = 0
             onsetrate_median.value = 0
 
         beats = AnalyzerResult(id = "aubio_beat", name = "beats (aubio)", unit = "s")
         beats.value = self.beats
 
         bpm = AnalyzerResult(id = "aubio_bpm", name = "bpm (aubio)", unit = "bpm")
-        if len(self.beats) > 1:
+        if len(self.beats) > 2:
             periods = [60./(b - a) for a,b in zip(self.beats[:-1],self.beats[1:])]
             bpm.value = median (periods)
         else: