From 62a94b75f3e6cd79d11968c9de292956e63faab3 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Fri, 24 Mar 2017 02:56:38 +0100 Subject: [PATCH] python/lib/aubio/cmd.py: check we found a few beats --- python/lib/aubio/cmd.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/python/lib/aubio/cmd.py b/python/lib/aubio/cmd.py index 67354f70..9422d1c5 100644 --- a/python/lib/aubio/cmd.py +++ b/python/lib/aubio/cmd.py @@ -272,9 +272,16 @@ class process_tempo(process_beat): self.beat_locations.append(self.tempo.get_last_s()) def flush(self, frames_read, samplerate): import numpy as np - bpms = 60./ np.diff(self.beat_locations) - median_bpm = np.mean(bpms) - sys.stdout.write('%.2f bpm' % median_bpm + '\n') + if len(self.beat_locations) < 2: + outstr = "unknown bpm" + else: + bpms = 60./ np.diff(self.beat_locations) + median_bpm = np.mean(bpms) + if len(self.beat_locations) < 10: + outstr = "%.2f bpm (uncertain)" % median_bpm + else: + outstr = "%.2f bpm" % median_bpm + sys.stdout.write(outstr + '\n') class process_notes(default_process): valid_opts = ['method', 'hop_size', 'buf_size', 'samplerate'] -- 2.11.0