From 4887a8f2947003a339e662338d6ea66a4957739f Mon Sep 17 00:00:00 2001 From: Thomas Fillon Date: Thu, 26 Sep 2013 15:02:42 +0200 Subject: [PATCH] Update aubio_temporal and aubio_pitch to match new analyzerResult structure --- timeside/analyzer/aubio_pitch.py | 6 ++-- timeside/analyzer/aubio_temporal.py | 52 +++++++++++++++++------------ 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/timeside/analyzer/aubio_pitch.py b/timeside/analyzer/aubio_pitch.py index 8ee73ff..1154267 100644 --- a/timeside/analyzer/aubio_pitch.py +++ b/timeside/analyzer/aubio_pitch.py @@ -69,7 +69,7 @@ class AubioPitch(Analyzer): container = super(AubioPitch, self).results() - pitch = self.new_result(dataMode='value', resultType='framewise') + pitch = self.new_result(dataMode='value', timeMode='framewise') pitch.idMetadata.id = "aubio_pitch" pitch.idMetadata.name = "f0 (aubio)" @@ -78,9 +78,7 @@ class AubioPitch(Analyzer): # parameters : None # TODO check with Piem "default" and "freq" in setup # Set Data - self.pitches = numpy.array(self.pitches) - pitch.data.data = self.pitches - pitch.data.dataType = float + pitch.data.value = numpy.array(self.pitches) container.add_result(pitch) return container diff --git a/timeside/analyzer/aubio_temporal.py b/timeside/analyzer/aubio_temporal.py index 0694901..389b100 100644 --- a/timeside/analyzer/aubio_temporal.py +++ b/timeside/analyzer/aubio_temporal.py @@ -75,15 +75,17 @@ class AubioTemporal(Analyzer): #--------------------------------- # Onsets #--------------------------------- - onsets = self.new_result(dataMode='label', resultType='event') + onsets = self.new_result(dataMode='label', timeMode='event') onsets.idMetadata.id = "aubio_onset" onsets.idMetadata.name = "onsets (aubio)" onsets.idMetadata.unit = 's' - # Set Data , dataMode='label', resultType='event' + # Set Data , dataMode='label', timeMode='event' # Event = list of (time, labelId) - onsets.data.data = [(time,1) for time in self.onsets] + + onsets.data.label = numpy.ones(len(self.onsets)) + onsets.data.time = self.onsets onsets.labelMetadata.label = {1: 'Onset'} @@ -92,39 +94,43 @@ class AubioTemporal(Analyzer): #--------------------------------- # Onset Rate #--------------------------------- - onsetrate = self.new_result(dataMode='value', resultType='event') + onsetrate = self.new_result(dataMode='value', timeMode='event') # Set metadata onsetrate.idMetadata.id = "aubio_onset_rate" onsetrate.idMetadata.name = "onset rate (aubio)" onsetrate.idMetadata.unit = "bpm" - # Set Data , dataMode='value', resultType='event' + # Set Data , dataMode='value', timeMode='event' # Event = list of (time, value) + # TODO : add time if len(self.onsets) > 1: - periods = 60. / numpy.diff(self.onsets) - onsetrate.data.data = zip(periods,self.onsets[:-1]) + onsetrate.data.value = 60. / numpy.diff(self.onsets) + onsetrate.data.time = self.onsets[:-1] else: - onsetrate.data.data = [] + onsetrate.data.value = [] container.add_result(onsetrate) #--------------------------------- # Beats #--------------------------------- - beats = self.new_result(dataMode='label', resultType='segment') + beats = self.new_result(dataMode='label', timeMode='segment') # Set metadata - beats.idMetadata.id="aubio_beat" - beats.idMetadata.name="beats (aubio)" - beats.idMetadata.unit="s" + beats.idMetadata.id = "aubio_beat" + beats.idMetadata.name = "beats (aubio)" + beats.idMetadata.unit = "s" - # Set Data, dataMode='label', resultType='segment' + # Set Data, dataMode='label', timeMode='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.data = [(time,dur,1) for (time, dur) in zip(self.beats, duration)] + beats.data.time = self.beats + beats.data.duration = duration + beats.data.label = numpy.ones(len(self.beats)) else: - beats.data.data = [] + beats.data.label = [] + beats.labelMetadata.label = {1: 'Beat'} container.add_result(beats) @@ -132,21 +138,23 @@ class AubioTemporal(Analyzer): #--------------------------------- # BPM #--------------------------------- - bpm = self.new_result(dataMode='value', resultType='segment') + bpm = self.new_result(dataMode='value', timeMode='segment') # Set metadata - bpm.idMetadata.id="aubio_bpm" - bpm.idMetadata.name="bpm (aubio)" - bpm.idMetadata.unit="bpm" + bpm.idMetadata.id = "aubio_bpm" + bpm.idMetadata.name = "bpm (aubio)" + bpm.idMetadata.unit = "bpm" - # Set Data, dataMode='value', resultType='segment' + # Set Data, dataMode='value', timeMode='segment' if len(self.beats) > 1: periods = 60. / numpy.diff(self.beats) periods = numpy.append(periods,periods[-1]) - bpm.data.data = zip(self.beats, duration, periods) + bpm.data.time = self.beats + bpm.data.duration = duration + bpm.data.value = periods else: - bpm.data.data = [] + bpm.data.value = [] container.add_result(bpm) -- 2.39.5