From: Paul Brossier Date: Fri, 24 Mar 2017 01:56:38 +0000 (+0100) Subject: python/lib/aubio/cmd.py: check we found a few beats X-Git-Tag: 0.4.5~44^2~1 X-Git-Url: https://git.aubio.org/?a=commitdiff_plain;h=62a94b75f3e6cd79d11968c9de292956e63faab3;p=aubio.git python/lib/aubio/cmd.py: check we found a few beats --- 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']