From 3c9331a29b38787331eaff3624bc28d6bd994318 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Sun, 1 Dec 2013 14:46:53 -0500 Subject: [PATCH] timeside/analyzer/aubio_temporal.py: make onsetrate a segment, beats an event --- timeside/analyzer/aubio_temporal.py | 36 ++++++++++------------------- 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/timeside/analyzer/aubio_temporal.py b/timeside/analyzer/aubio_temporal.py index 1528e9b..f4c3ce4 100644 --- a/timeside/analyzer/aubio_temporal.py +++ b/timeside/analyzer/aubio_temporal.py @@ -97,45 +97,33 @@ class AubioTemporal(Analyzer): self.pipe.results.add(onsets) #--------------------------------- - # Onset Rate + # Onset Rate: Segment (time, duration, value) #--------------------------------- - onsetrate = self.new_result(data_mode='value', time_mode='event') - # Set metadata + onsetrate = self.new_result(data_mode='value', time_mode='segment') onsetrate.id_metadata.id += '.' + "onset_rate" onsetrate.id_metadata.name = " " + "Onset Rate" onsetrate.id_metadata.unit = "bpm" - - # Set Data , data_mode='value', time_mode='event' - # Event = list of (time, value) - # TODO : add time if len(self.onsets) > 1: - onsetrate.data_object.value = 60. / numpy.diff(self.onsets) - onsetrate.data_object.time = self.onsets[:-1] + periods = 60. / numpy.diff(self.onsets) + periods = numpy.append(periods, periods[-1]) + onsetrate.data_object.time = self.onsets + onsetrate.data_object.duration = periods + onsetrate.data_object.value = 60. / periods else: onsetrate.data_object.value = [] + onsetrate.data_object.time = [] self.pipe.results.add(onsetrate) #--------------------------------- - # Beats + # Beats: Event (time, "Beat") #--------------------------------- - beats = self.new_result(data_mode='label', time_mode='segment') - # Set metadata + beats = self.new_result(data_mode='label', time_mode='event') beats.id_metadata.id += '.' + "beat" beats.id_metadata.name += " " + "Beats" beats.id_metadata.unit = "s" - - # Set Data, data_mode='label', time_mode='segment' - # Segment = list of (time, duration, labelId) - if len(self.beats) > 1: - duration = numpy.diff(self.beats) - duration = numpy.append(duration, duration[-1]) - beats.data_object.time = self.beats - beats.data_object.duration = duration - beats.data_object.label = numpy.ones(len(self.beats)) - else: - beats.data_object.label = [] - + beats.data_object.time = self.beats + beats.data_object.label = numpy.ones(len(self.beats)) beats.label_metadata.label = {1: 'Beat'} self.pipe.results.add(beats) -- 2.39.5