From: Thomas Fillon Date: Thu, 10 Oct 2013 18:42:02 +0000 (+0200) Subject: NoMoreMixedCaseForAttributes X-Git-Tag: 0.5.0~36^2 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=db9b270742e373f671ee98a50147ca049b72ece7;p=timeside.git NoMoreMixedCaseForAttributes --- diff --git a/tests/test_AnalyzerResult.py b/tests/test_AnalyzerResult.py index 31522a4..2ac6830 100755 --- a/tests/test_AnalyzerResult.py +++ b/tests/test_AnalyzerResult.py @@ -14,69 +14,69 @@ class TestAnalyzerResult(TestCase): """ test AnalyzerResult """ def setUp(self): - self.result = AnalyzerResult(dataMode='value', timeMode='framewise') + self.result = AnalyzerResult(data_mode='value', time_mode='framewise') from datetime import datetime - self.result.idMetadata = dict(date=datetime.now().replace(microsecond=0).isoformat(' '), + self.result.id_metadata = dict(date=datetime.now().replace(microsecond=0).isoformat(' '), version=__version__, author='TimeSide', id="foo_bar", name="Foo bar", unit="foo") - self.result.audioMetadata = dict(uri='Foo.wav', + self.result.audio_metadata = dict(uri='Foo.wav', start=0, duration=20, channels=2) def testOnFloat(self): "float result" - self.result.dataObject.value = 1.2 + self.result.data_object.value = 1.2 def testOnInt(self): "integer result" - self.result.dataObject.value = 1 + self.result.data_object.value = 1 def testOnList(self): "list result" - self.result.dataObject.value = [1., 2.] + self.result.data_object.value = [1., 2.] def testOnString(self): "string result" - self.result.dataObject.value = "hello" + self.result.data_object.value = "hello" def testOnListOfString(self): "list of strings result" - self.result.dataObject.value = ["hello", "hola"] + self.result.data_object.value = ["hello", "hola"] def testOnListOfList(self): "list of lists result" - self.result.dataObject.value = [[0, 1], [0, 1, 2]] + self.result.data_object.value = [[0, 1], [0, 1, 2]] def testOnNumpyVectorOfFloat(self): "numpy vector of float" - self.result.dataObject.value = ones(2, dtype='float') * pi + self.result.data_object.value = ones(2, dtype='float') * pi def testOnNumpy2DArrayOfFloat64(self): "numpy 2d array of float64" - self.result.dataObject.value = ones([2, 3], dtype='float64') * pi + self.result.data_object.value = ones([2, 3], dtype='float64') * pi def testOnNumpy3DArrayOfInt32(self): "numpy 3d array of int32" - self.result.dataObject.value = ones([2, 3, 2], dtype='int32') + self.result.data_object.value = ones([2, 3, 2], dtype='int32') def testOnNumpyArrayOfStrings(self): "numpy array of strings" - self.result.dataObject.value = array(['hello', 'hola']) + self.result.data_object.value = array(['hello', 'hola']) def testOnEmptyList(self): "empty list" - self.result.dataObject.value = [] + self.result.data_object.value = [] def testOnNone(self): "None" - self.result.dataObject.value = None + self.result.data_object.value = None def testOnUnicode(self): "None" - self.result.dataObject.value = None + self.result.data_object.value = None def tearDown(self): pass @@ -115,7 +115,7 @@ def create_good_method_func(numpy_data_type): def method(self): "numpy %s" % str(numpy_data_type)[7:-1] import numpy - self.result.dataObject.value = numpy_data_type(pi) + self.result.data_object.value = numpy_data_type(pi) return method @@ -127,7 +127,7 @@ def create_bad_method_func(numpy_data_type): data = getattr(numpy, numpy_data_type)(pi) except ValueError: data = getattr(numpy, numpy_data_type)() - self.assertRaises(TypeError, self.result.dataObject.__setattr__, 'value', data) + self.assertRaises(TypeError, self.result.data_object.__setattr__, 'value', data) return method for numpy_data_type in good_numpy_data_types: diff --git a/tests/test_analyzer_dc.py b/tests/test_analyzer_dc.py index 65bf3d9..7fe21b7 100755 --- a/tests/test_analyzer_dc.py +++ b/tests/test_analyzer_dc.py @@ -25,7 +25,7 @@ class TestAnalyzerDC(TestCase): (decoder | self.analyzer).run() results = self.analyzer.results for key in self.expected.keys(): - self.assertEquals(results[key].dataObject.value, self.expected[key]) + self.assertEquals(results[key].data_object.value, self.expected[key]) if __name__ == '__main__': unittest.main(testRunner=TestRunner()) diff --git a/tests/test_analyzer_level.py b/tests/test_analyzer_level.py index 8fcf116..47fc081 100755 --- a/tests/test_analyzer_level.py +++ b/tests/test_analyzer_level.py @@ -33,7 +33,7 @@ class TestAnalyzerLevel(TestCase): (decoder | self.analyzer).run() results = self.analyzer.results for key in self.expected.keys(): - self.assertEquals(results[key].dataObject.value, self.expected[key]) + self.assertEquals(results[key].data_object.value, self.expected[key]) #print results #print results.to_yaml() #print results.to_json() diff --git a/timeside/analyzer/aubio_melenergy.py b/timeside/analyzer/aubio_melenergy.py index 8ea1f33..eb8b702 100644 --- a/timeside/analyzer/aubio_melenergy.py +++ b/timeside/analyzer/aubio_melenergy.py @@ -74,12 +74,12 @@ class AubioMelEnergy(Analyzer): def release(self): - melenergy = self.new_result(dataMode='value', timeMode='framewise') + melenergy = self.new_result(data_mode='value', time_mode='framewise') # Metadata melenergy.parameters = dict(n_filters=self.n_filters, n_coeffs=self.n_coeffs) # Set Data - melenergy.dataObject.value = self.melenergy_results + melenergy.data_object.value = self.melenergy_results self._results.add(melenergy) diff --git a/timeside/analyzer/aubio_mfcc.py b/timeside/analyzer/aubio_mfcc.py index 9dbf375..5d7f14a 100644 --- a/timeside/analyzer/aubio_mfcc.py +++ b/timeside/analyzer/aubio_mfcc.py @@ -75,10 +75,10 @@ class AubioMfcc(Analyzer): def release(self): # MFCC - mfcc = self.new_result(dataMode='value', timeMode='framewise') + mfcc = self.new_result(data_mode='value', time_mode='framewise') mfcc.parameters = dict(n_filters=self.n_filters, n_coeffs=self.n_coeffs) - mfcc.dataObject.value = self.mfcc_results + mfcc.data_object.value = self.mfcc_results self._results.add(mfcc) diff --git a/timeside/analyzer/aubio_pitch.py b/timeside/analyzer/aubio_pitch.py index fed7df2..f9e53ea 100644 --- a/timeside/analyzer/aubio_pitch.py +++ b/timeside/analyzer/aubio_pitch.py @@ -73,12 +73,12 @@ class AubioPitch(Analyzer): def release(self): # set Result - pitch = self.new_result(dataMode='value', timeMode='framewise') + pitch = self.new_result(data_mode='value', time_mode='framewise') # parameters : None # TODO check with Piem "default" and "freq" in # setup # Set Data - pitch.dataObject.value = self.pitches + pitch.data_object.value = self.pitches self._results.add(pitch) diff --git a/timeside/analyzer/aubio_specdesc.py b/timeside/analyzer/aubio_specdesc.py index b7c4c0e..4ebbb68 100644 --- a/timeside/analyzer/aubio_specdesc.py +++ b/timeside/analyzer/aubio_specdesc.py @@ -83,12 +83,12 @@ class AubioSpecdesc(Analyzer): # For each method store results in container for method in self.methods: - res_specdesc = self.new_result(dataMode='value', - timeMode='framewise') + res_specdesc = self.new_result(data_mode='value', + time_mode='framewise') # Set metadata - res_specdesc.idMetadata.id += '.' + method - res_specdesc.idMetadata.name = ' ' + method + res_specdesc.id_metadata.id += '.' + method + res_specdesc.id_metadata.name = ' ' + method - res_specdesc.dataObject.value = self.specdesc_results[method] + res_specdesc.data_object.value = self.specdesc_results[method] self._results.add(res_specdesc) diff --git a/timeside/analyzer/aubio_temporal.py b/timeside/analyzer/aubio_temporal.py index 634149c..49212f9 100644 --- a/timeside/analyzer/aubio_temporal.py +++ b/timeside/analyzer/aubio_temporal.py @@ -83,85 +83,85 @@ class AubioTemporal(Analyzer): #--------------------------------- # Onsets #--------------------------------- - onsets = self.new_result(dataMode='label', timeMode='event') + onsets = self.new_result(data_mode='label', time_mode='event') - onsets.idMetadata.id += '.' + 'onset' - onsets.idMetadata.name += ' ' + 'Onset' - onsets.idMetadata.unit = 's' + onsets.id_metadata.id += '.' + 'onset' + onsets.id_metadata.name += ' ' + 'Onset' + onsets.id_metadata.unit = 's' - # Set Data , dataMode='label', timeMode='event' + # Set Data , data_mode='label', time_mode='event' # Event = list of (time, labelId) - onsets.dataObject.label = numpy.ones(len(self.onsets)) - onsets.dataObject.time = self.onsets + onsets.data_object.label = numpy.ones(len(self.onsets)) + onsets.data_object.time = self.onsets - onsets.labelMetadata.label = {1: 'Onset'} + onsets.label_metadata.label = {1: 'Onset'} self._results.add(onsets) #--------------------------------- # Onset Rate #--------------------------------- - onsetrate = self.new_result(dataMode='value', timeMode='event') + onsetrate = self.new_result(data_mode='value', time_mode='event') # Set metadata - onsetrate.idMetadata.id += '.' + "onset_rate" - onsetrate.idMetadata.name = " " + "Onset Rate" - onsetrate.idMetadata.unit = "bpm" + onsetrate.id_metadata.id += '.' + "onset_rate" + onsetrate.id_metadata.name = " " + "Onset Rate" + onsetrate.id_metadata.unit = "bpm" - # Set Data , dataMode='value', timeMode='event' + # Set Data , data_mode='value', time_mode='event' # Event = list of (time, value) # TODO : add time if len(self.onsets) > 1: - onsetrate.dataObject.value = 60. / numpy.diff(self.onsets) - onsetrate.dataObject.time = self.onsets[:-1] + onsetrate.data_object.value = 60. / numpy.diff(self.onsets) + onsetrate.data_object.time = self.onsets[:-1] else: - onsetrate.dataObject.value = [] + onsetrate.data_object.value = [] self._results.add(onsetrate) #--------------------------------- # Beats #--------------------------------- - beats = self.new_result(dataMode='label', timeMode='segment') + beats = self.new_result(data_mode='label', time_mode='segment') # Set metadata - beats.idMetadata.id += '.' + "beat" - beats.idMetadata.name += " " + "Beats" - beats.idMetadata.unit = "s" + beats.id_metadata.id += '.' + "beat" + beats.id_metadata.name += " " + "Beats" + beats.id_metadata.unit = "s" - # Set Data, dataMode='label', timeMode='segment' + # 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.dataObject.time = self.beats - beats.dataObject.duration = duration - beats.dataObject.label = numpy.ones(len(self.beats)) + beats.data_object.time = self.beats + beats.data_object.duration = duration + beats.data_object.label = numpy.ones(len(self.beats)) else: - beats.dataObject.label = [] + beats.data_object.label = [] - beats.labelMetadata.label = {1: 'Beat'} + beats.label_metadata.label = {1: 'Beat'} self._results.add(beats) #--------------------------------- # BPM #--------------------------------- - bpm = self.new_result(dataMode='value', timeMode='segment') + bpm = self.new_result(data_mode='value', time_mode='segment') # Set metadata - bpm.idMetadata.id += '.' + "bpm" - bpm.idMetadata.name += ' ' + "bpm" - bpm.idMetadata.unit = "bpm" + bpm.id_metadata.id += '.' + "bpm" + bpm.id_metadata.name += ' ' + "bpm" + bpm.id_metadata.unit = "bpm" - # Set Data, dataMode='value', timeMode='segment' + # Set Data, data_mode='value', time_mode='segment' if len(self.beats) > 1: periods = 60. / numpy.diff(self.beats) periods = numpy.append(periods, periods[-1]) - bpm.dataObject.time = self.beats - bpm.dataObject.duration = duration - bpm.dataObject.value = periods + bpm.data_object.time = self.beats + bpm.data_object.duration = duration + bpm.data_object.value = periods else: - bpm.dataObject.value = [] + bpm.data_object.value = [] self._results.add(bpm) diff --git a/timeside/analyzer/core.py b/timeside/analyzer/core.py index a54a4b9..71f9f37 100644 --- a/timeside/analyzer/core.py +++ b/timeside/analyzer/core.py @@ -233,7 +233,7 @@ class AudioMetadata(MetadataObject): _default_value = OrderedDict([('uri', ''), ('start', 0), ('duration', None), - ('IS_SEGMENT', None), + ('is_segment', None), ('channels', None), ('channelsManagement', '')]) @@ -255,7 +255,7 @@ class LabelMetadata(MetadataObject): - label id has keys and - label descriptions has values - labelType : str + label_type : str = 'mono' or 'multi' 'mono' or 'multi' enable to specify the label mode : - 'mono' : mono-label (only 1 label at a time) @@ -268,7 +268,7 @@ class LabelMetadata(MetadataObject): # Define default values _default_value = OrderedDict([('label', None), ('description', None), - ('labelType', 'mono')]) + ('label_type', 'mono')]) class FrameMetadata(MetadataObject): @@ -414,12 +414,12 @@ class AnalyzerResult(MetadataObject): Parameters ---------- - dataMode : str - dataMode describes the type of data : + data_mode : str + data_mode describes the type of data : - 'value' for values - 'label' for label data see LabelMetadata - timeMode : str - timeMode describes the correspondance between data values and time + time_mode : str + time_mode describes the correspondance between data values and time - 'framewise' - 'global' - 'segment' @@ -429,43 +429,43 @@ class AnalyzerResult(MetadataObject): Returns ------- A new MetadataObject with the following attributes : - - dataMode - - timeMode + - data_mode + - time_mode - data : :class:`DataObject` - - idMetadata : :class:`IdMetadata` - - audioMetadata : :class:`AudioMetadata` - - frameMetadata : :class:`FrameMetadata` - - labelMetadata : :class:`LabelMetadata` + - id_metadata : :class:`IdMetadata` + - audio_metadata : :class:`AudioMetadata` + - frame_metadata : :class:`FrameMetadata` + - label_metadata : :class:`LabelMetadata` - parameters : :class:`AnalyzerParameters` Object """ # Define default values - _default_value = OrderedDict([('dataMode', None), - ('timeMode', None), - ('idMetadata', None), - ('dataObject', None), - ('audioMetadata', None), - ('frameMetadata', None), - ('labelMetadata', None), + _default_value = OrderedDict([('data_mode', None), + ('time_mode', None), + ('id_metadata', None), + ('data_object', None), + ('audio_metadata', None), + ('frame_metadata', None), + ('label_metadata', None), ('parameters', None) ]) - _validDataMode = ['value', 'label', None] - _validTimeMode = ['framewise', 'global', 'segment', 'event', None] + _valid_data_mode = ['value', 'label', None] + _valid_time_mode = ['framewise', 'global', 'segment', 'event', None] - def __init__(self, dataMode=None, - timeMode=None): + def __init__(self, data_mode=None, + time_mode=None): super(AnalyzerResult, self).__init__() - self.dataMode = dataMode - self.timeMode = timeMode + self.data_mode = data_mode + self.time_mode = time_mode def __setattr__(self, name, value): - setFuncDict = {'idMetadata': IdMetadata, - 'dataObject': DataObject, - 'audioMetadata': AudioMetadata, - 'frameMetadata': FrameMetadata, - 'labelMetadata': LabelMetadata, + setFuncDict = {'id_metadata': IdMetadata, + 'data_object': DataObject, + 'audio_metadata': AudioMetadata, + 'frame_metadata': FrameMetadata, + 'label_metadata': LabelMetadata, 'parameters': AnalyzerParameters} if name in setFuncDict.keys(): @@ -482,69 +482,69 @@ class AnalyzerResult(MetadataObject): return else: raise TypeError('Wrong argument') - elif name == 'dataMode': + elif name == 'data_mode': if self[name] is not None: - raise AttributeError("The value of attribute ''dataMode'' \\\ + raise AttributeError("The value of attribute ''data_mode'' \\\ can not change after setup") if value == 'value': - del self.labelMetadata - del self.dataObject.label + del self.label_metadata + del self.data_object.label elif value == 'label': - del self.dataObject.value + del self.data_object.value elif value is None: pass else: - raise ValueError('Argument ''dataMode''=%s should be in %s' - % (value, self._validDataMode)) - elif name == 'timeMode': + raise ValueError('Argument ''data_mode''=%s should be in %s' + % (value, self._valid_data_mode)) + elif name == 'time_mode': if self[name] is not None: - raise AttributeError("The value of attribute ''timeMode'' \\\ + raise AttributeError("The value of attribute ''time_mode'' \\\ can not change after setup") if value == 'framewise': - del self.dataObject.time - del self.dataObject.duration + del self.data_object.time + del self.data_object.duration pass elif value == 'global': - del self.dataObject.time - del self.dataObject.duration - del self.frameMetadata + del self.data_object.time + del self.data_object.duration + del self.frame_metadata pass elif value == 'segment': - del self.frameMetadata + del self.frame_metadata elif value == 'event': - del self.frameMetadata - del self.dataObject.duration + del self.frame_metadata + del self.data_object.duration pass elif value is None: pass else: - raise ValueError('Argument ''timeMode''=%s should be in %s' - % (value, self._validTimeMode)) + raise ValueError('Argument ''time_mode''=%s should be in %s' + % (value, self._valid_time_mode)) super(AnalyzerResult, self).__setattr__(name, value) def __len__(self): - if self.dataMode == 'value': - return len(self.dataObject.value) + if self.data_mode == 'value': + return len(self.data_object.value) else: - return len(self.dataObject.label) + return len(self.data_object.label) def as_dict(self): return dict([(key, self[key].as_dict()) for key in self.keys() if hasattr(self[key], 'as_dict')] + - [('dataMode', self.dataMode), ('timeMode', self.timeMode)]) + [('data_mode', self.data_mode), ('time_mode', self.time_mode)]) # TODO : check if it can be simplified now def to_xml(self): import xml.etree.ElementTree as ET root = ET.Element('result') - root.metadata = {'name': self.idMetadata.name, - 'id': self.idMetadata.id} + root.metadata = {'name': self.id_metadata.name, + 'id': self.id_metadata.id} for key in self.keys(): - if key in ['dataMode', 'timeMode']: + if key in ['data_mode', 'time_mode']: child = ET.SubElement(root, key) child.text = str(self[key]) else: @@ -558,13 +558,13 @@ class AnalyzerResult(MetadataObject): import xml.etree.ElementTree as ET root = ET.fromstring(xml_string) - dataModeChild = root.find('dataMode') - timeModeChild = root.find('timeMode') - result = AnalyzerResult(dataMode=dataModeChild.text, - timeMode=timeModeChild.text) + data_mode_child = root.find('data_mode') + time_mode_child = root.find('time_mode') + result = AnalyzerResult(data_mode=data_mode_child.text, + time_mode=time_mode_child.text) for child in root: key = child.tag - if key not in ['dataMode', 'timeMode']: + if key not in ['data_mode', 'time_mode']: child_string = ET.tostring(child) result[key].from_xml(child_string) @@ -572,49 +572,53 @@ class AnalyzerResult(MetadataObject): @property def data(self): - if self.dataMode is None: + if self.data_mode is None: return ( - {key: self.dataObject[key] - for key in ['value', 'label'] if key in self.dataObject.keys()} + {key: self.data_object[key] + for key in ['value', 'label'] if key in self.data_object.keys()} ) - elif self.dataMode is 'value': - return self.dataObject.value - elif self.dataMode is 'label': - return self.dataObject.label + elif self.data_mode is 'value': + return self.data_object.value + elif self.data_mode is 'label': + return self.data_object.label @property def time(self): - if self.timeMode == 'global': - return self.audioMetadata.start - elif self.timeMode == 'framewise': - return (self.audioMetadata.start + - self.frameMetadata.stepsize / - self.frameMetadata.samplerate * + if self.time_mode == 'global': + return self.audio_metadata.start + elif self.time_mode == 'framewise': + return (self.audio_metadata.start + + self.frame_metadata.stepsize / + self.frame_metadata.samplerate * numpy.arange(0, len(self))) else: - return self.audioMetadata.start + self.dataObject.time + return self.audio_metadata.start + self.data_object.time pass @property def duration(self): - if self.timeMode == 'global': - return self.audioMetadata.duration - elif self.timeMode == 'framewise': - return (self.frameMetadata.blockwise / - self.frameMetadata.samplerate + if self.time_mode == 'global': + return self.audio_metadata.duration + elif self.time_mode == 'framewise': + return (self.frame_metadata.blockwise / + self.frame_metadata.samplerate * numpy.ones(len(self))) - elif self.timeMode == 'event': + elif self.time_mode == 'event': return numpy.zeros(len(self)) - elif self.timeMode == 'segment': - return self.dataObject.duration + elif self.time_mode == 'segment': + return self.data_object.duration @property def id(self): - return self.idMetadata.id + return self.id_metadata.id @property def name(self): - return self.idMetadata.name + return self.id_metadata.name + + @property + def unit(self): + return self.id_metadata.unit @@ -644,7 +648,7 @@ class AnalyzerResultContainer(dict): >>> (d|a).run() #doctest: +ELLIPSIS >>> a.new_result() #doctest: +ELLIPSIS - AnalyzerResult(dataMode=None, timeMode=None, idMetadata=IdMetadata(id='', name='', unit='', description='', date='...', version='...', author='TimeSide'), data=DataObject(value=None, label=array([], dtype=int64), time=array([], dtype=float64), duration=array([], dtype=float64)), audioMetadata=AudioMetadata(uri='file:///.../tests/samples/sweep.wav', start=1.0, duration=7.0, channels=None, channelsManagement=''), frameMetadata=FrameMetadata(samplerate=None, blocksize=None, stepsize=None), labelMetadata=LabelMetadata(label=None, description=None, labelType='mono'), parameters={}) + AnalyzerResult(data_mode=None, time_mode=None, id_metadata=id_metadata(id='', name='', unit='', description='', date='...', version='...', author='TimeSide'), data=DataObject(value=None, label=array([], dtype=int64), time=array([], dtype=float64), duration=array([], dtype=float64)), audio_metadata=audio_metadata(uri='file:///.../tests/samples/sweep.wav', start=1.0, duration=7.0, channels=None, channelsManagement=''), frame_metadata=FrameMetadata(samplerate=None, blocksize=None, stepsize=None), label_metadata=LabelMetadata(label=None, description=None, label_type='mono'), parameters={}) >>> resContainer = coreA.AnalyzerResultContainer() ''' @@ -680,7 +684,7 @@ class AnalyzerResultContainer(dict): if not isinstance(analyzer_result, AnalyzerResult): raise TypeError('only AnalyzerResult can be added') - self.__setitem__(analyzer_result.idMetadata.id, + self.__setitem__(analyzer_result.id_metadata.id, analyzer_result) #self.results += [analyzer_result] @@ -740,10 +744,10 @@ class AnalyzerResultContainer(dict): results = AnalyzerResultContainer() for res_json in results_json: - res = AnalyzerResult(dataMode=res_json['dataMode'], - timeMode=res_json['timeMode']) + res = AnalyzerResult(data_mode=res_json['data_mode'], + time_mode=res_json['time_mode']) for key in res_json.keys(): - if key not in ['dataMode', 'timeMode']: + if key not in ['data_mode', 'time_mode']: res[key] = res_json[key] results.add(res) @@ -796,11 +800,11 @@ class AnalyzerResultContainer(dict): with h5py.File(output_file, 'w') as h5_file: for res in self.values(): # Save results in HDF5 Dataset - group = h5_file.create_group(res.idMetadata.id) - group.attrs['dataMode'] = res['dataMode'] - group.attrs['timeMode'] = res['timeMode'] + group = h5_file.create_group(res.id_metadata.id) + group.attrs['data_mode'] = res['data_mode'] + group.attrs['time_mode'] = res['time_mode'] for key in res.keys(): - if key not in ['dataMode', 'timeMode', 'dataObject']: + if key not in ['data_mode', 'time_mode', 'data_object']: subgroup = group.create_group(key) # Write attributes @@ -810,7 +814,7 @@ class AnalyzerResultContainer(dict): subgroup.attrs[name] = res[key][name] # Write Datasets - key = 'dataObject' + key = 'data_object' subgroup = group.create_group(key) for dsetName in res[key].keys(): if res[key][dsetName] is not None: @@ -835,15 +839,15 @@ class AnalyzerResultContainer(dict): try: for (group_name, group) in h5_file.items(): - result = AnalyzerResult(dataMode=group.attrs['dataMode'], - timeMode=group.attrs['timeMode']) + result = AnalyzerResult(data_mode=group.attrs['data_mode'], + time_mode=group.attrs['time_mode']) # Read Sub-Group for subgroup_name, subgroup in group.items(): # Read attributes for name, value in subgroup.attrs.items(): result[subgroup_name][name] = value - if subgroup_name == 'dataObject': + if subgroup_name == 'data_object': for dsetName, dset in subgroup.items(): # Load value from the hdf5 dataset and store in data # FIXME : the following conditional statement is to prevent @@ -913,44 +917,44 @@ class Analyzer(Processor): def unit(): return "" - def new_result(self, dataMode=AnalyzerResult._default_value['dataMode'], - timeMode=AnalyzerResult._default_value['timeMode']): + def new_result(self, data_mode=AnalyzerResult._default_value['data_mode'], + time_mode=AnalyzerResult._default_value['time_mode']): ''' Create a new result Attributes ---------- data : MetadataObject - idMetadata : MetadataObject - audioMetadata : MetadataObject - frameMetadata : MetadataObject - labelMetadata : MetadataObject + id_metadata : MetadataObject + audio_metadata : MetadataObject + frame_metadata : MetadataObject + label_metadata : MetadataObject parameters : dict ''' from datetime import datetime - result = AnalyzerResult(dataMode=dataMode, timeMode=timeMode) + result = AnalyzerResult(data_mode=data_mode, time_mode=time_mode) # Automatically write known metadata - result.idMetadata.date = datetime.now().replace( + result.id_metadata.date = datetime.now().replace( microsecond=0).isoformat(' ') - result.idMetadata.version = __version__ - result.idMetadata.author = 'TimeSide' - result.idMetadata.id = self.id() - result.idMetadata.name = self.name() - result.idMetadata.unit = self.unit() - - result.audioMetadata.uri = self.mediainfo()['uri'] - result.audioMetadata.start = self.mediainfo()['start'] - result.audioMetadata.duration = self.mediainfo()['duration'] - result.audioMetadata.IS_SEGMENT = self.mediainfo()['IS_SEGMENT'] - - if timeMode == 'framewise': - result.frameMetadata.samplerate = self.result_samplerate - result.frameMetadata.blocksize = self.result_blocksize - result.frameMetadata.stepsize = self.result_stepsize + result.id_metadata.version = __version__ + result.id_metadata.author = 'TimeSide' + result.id_metadata.id = self.id() + result.id_metadata.name = self.name() + result.id_metadata.unit = self.unit() + + result.audio_metadata.uri = self.mediainfo()['uri'] + result.audio_metadata.start = self.mediainfo()['start'] + result.audio_metadata.duration = self.mediainfo()['duration'] + result.audio_metadata.is_segment = self.mediainfo()['is_segment'] + + if time_mode == 'framewise': + result.frame_metadata.samplerate = self.result_samplerate + result.frame_metadata.blocksize = self.result_blocksize + result.frame_metadata.stepsize = self.result_stepsize return result diff --git a/timeside/analyzer/dc.py b/timeside/analyzer/dc.py index fa02f2e..2b9f468 100644 --- a/timeside/analyzer/dc.py +++ b/timeside/analyzer/dc.py @@ -58,9 +58,9 @@ class MeanDCShift(Analyzer): return frames, eod def release(self): - dc_result = self.new_result(dataMode='value', timeMode='global') + dc_result = self.new_result(data_mode='value', time_mode='global') # Set Data - dc_result.dataObject.value = numpy.round( + dc_result.data_object.value = numpy.round( numpy.mean(100 * self.values), 3) self._results.add(dc_result) diff --git a/timeside/analyzer/level.py b/timeside/analyzer/level.py index b5e93a1..ef2c185 100644 --- a/timeside/analyzer/level.py +++ b/timeside/analyzer/level.py @@ -66,20 +66,20 @@ class Level(Analyzer): def release(self): # Max level - max_level = self.new_result(dataMode='value', timeMode='global') + max_level = self.new_result(data_mode='value', time_mode='global') - max_level.idMetadata.id += '.' + "max" - max_level.idMetadata.name += ' ' + "Max" + max_level.id_metadata.id += '.' + "max" + max_level.id_metadata.name += ' ' + "Max" - max_level.dataObject.value = np.round(20*np.log10(self.max_value), 3) + max_level.data_object.value = np.round(20*np.log10(self.max_value), 3) self._results.add(max_level) # RMS level - rms_level = self.new_result(dataMode='value', timeMode='global') - rms_level.idMetadata.id += '.' + "rms" - rms_level.idMetadata.name += ' ' + "RMS" + rms_level = self.new_result(data_mode='value', time_mode='global') + rms_level.id_metadata.id += '.' + "rms" + rms_level.id_metadata.name += ' ' + "RMS" - rms_level.dataObject.value = np.round(20*np.log10( + rms_level.data_object.value = np.round(20*np.log10( np.sqrt(np.mean(self.mean_values))), 3) self._results.add(rms_level) diff --git a/timeside/analyzer/spectrogram.py b/timeside/analyzer/spectrogram.py index 1ee43df..be3fbda 100644 --- a/timeside/analyzer/spectrogram.py +++ b/timeside/analyzer/spectrogram.py @@ -71,12 +71,12 @@ class Spectrogram(Analyzer): def release(self): # set Result - spectrogram = self.new_result(dataMode='value', timeMode='framewise') + spectrogram = self.new_result(data_mode='value', time_mode='framewise') # parameters : spectrogram.parameters = {'FFT_SIZE': self.FFT_SIZE} # Set Data - spectrogram.dataObject.value = self.values + spectrogram.data_object.value = self.values self._results.add(spectrogram) diff --git a/timeside/analyzer/waveform.py b/timeside/analyzer/waveform.py index 12d9110..a980174 100644 --- a/timeside/analyzer/waveform.py +++ b/timeside/analyzer/waveform.py @@ -71,9 +71,9 @@ class Waveform(Analyzer): def release(self): # set Result - waveform = self.new_result(dataMode='value', timeMode='framewise') + waveform = self.new_result(data_mode='value', time_mode='framewise') # Set Data - waveform.dataObject.value = np.asarray(self.values).flatten() + waveform.data_object.value = np.asarray(self.values).flatten() self._results.add(waveform) diff --git a/timeside/analyzer/yaafe.py b/timeside/analyzer/yaafe.py index eb6a0b7..7830157 100644 --- a/timeside/analyzer/yaafe.py +++ b/timeside/analyzer/yaafe.py @@ -98,11 +98,11 @@ class Yaafe(Analyzer): raise KeyError('Yaafe engine did not return any feature') for featName in featNames: - result = self.new_result(dataMode='value', timeMode='framewise') - result.idMetadata.id += '.' + featName - result.idMetadata.name += ' ' + featName + result = self.new_result(data_mode='value', time_mode='framewise') + result.id_metadata.id += '.' + featName + result.id_metadata.name += ' ' + featName # Read Yaafe Results - result.dataObject.value = self.yaafe_engine.readOutput(featName) + result.data_object.value = self.yaafe_engine.readOutput(featName) # Store results in Container - if len(result.dataObject.value): + if len(result.data_object.value): self._results.add(result) diff --git a/timeside/decoder/core.py b/timeside/decoder/core.py index 5b4f3d6..d0939d8 100644 --- a/timeside/decoder/core.py +++ b/timeside/decoder/core.py @@ -90,9 +90,9 @@ class FileDecoder(Processor): self.uri_duration = duration if start==0 and duration is None: - self.IS_SEGMENT = False + self.is_segment = False else: - self.IS_SEGMENT = True + self.is_segment = True def set_uri_default_duration(self): # Set the duration from the length of the file @@ -125,7 +125,7 @@ class FileDecoder(Processor): if channels: self.output_channels = int(channels) - if self.IS_SEGMENT: + if self.is_segment: # Create the pipe with Gnonlin gnlurisource self.pipe = ''' gnlurisource uri={uri} start=0 @@ -328,7 +328,7 @@ class FileDecoder(Processor): return dict(uri=self.uri, duration=self.uri_duration, start=self.uri_start, - IS_SEGMENT=self.IS_SEGMENT) + is_segment=self.is_segment) def __del__(self): self.release()