This field need to be handle properly for serialization and it may be grouped with other related field in a metadata_object inside data_object.
... print '%s : %s' % (key, value)
...
id_metadata : {'description': '', 'author': '', 'uuid': '', 'version': '', 'date': '', 'id': '', 'unit': '', 'name': ''}
- data_object : {'y_value': array([], dtype=float64), 'y_unit': array([], dtype=float64), 'value': array([], dtype=float64), 'frame_metadata': {'blocksize': None, 'samplerate': None, 'stepsize': None}}
+ data_object : {'y_value': array([], dtype=float64), 'value': array([], dtype=float64), 'frame_metadata': {'blocksize': None, 'samplerate': None, 'stepsize': None}}
audio_metadata : {'sha1': '', 'is_segment': None, 'uri': '', 'channels': None, 'start': 0, 'channelsManagement': '', 'duration': None}
parameters : {}
>>> res = AnalyzerResult(time_mode='framewise')
>>> res.data_object.keys()
-['value', 'y_value', 'y_unit', 'frame_metadata']
+['value', 'y_value', 'frame_metadata']
Global
>>> res = AnalyzerResult(time_mode='global')
>>> res.data_object.keys()
-['value', 'y_value', 'y_unit']
+['value', 'y_value']
>>> res.data_object
-GlobalValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64))
+GlobalValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64))
Segment
>>> res.keys()
['id_metadata', 'data_object', 'audio_metadata', 'parameters']
>>> res.data_object
-SegmentValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64), time=array([], dtype=float64), duration=array([], dtype=float64))
+SegmentValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), time=array([], dtype=float64), duration=array([], dtype=float64))
Event
-----
>>> res.keys()
['id_metadata', 'data_object', 'audio_metadata', 'parameters']
>>> res.data_object
-EventValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64), time=array([], dtype=float64))
+EventValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), time=array([], dtype=float64))
Specification of data_mode
==========================
>>> res = AnalyzerResult(data_mode='value')
>>> res.data_object.keys()
-['value', 'y_value', 'y_unit', 'frame_metadata']
+['value', 'y_value', 'frame_metadata']
In the dataObject key, the 'value' key is kept and the 'label' key is deleted.
>>> res.data_object
-FrameValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64), frame_metadata=FrameMetadata(samplerate=None, blocksize=None, stepsize=None))
+FrameValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), frame_metadata=FrameMetadata(samplerate=None, blocksize=None, stepsize=None))
Label
-----
>>> encoders = get_processor('gst_mp3_enc')('sweep.mp3') | get_processor('gst_flac_enc')('sweep.flac')
>>> (decoder | levels | encoders).run()
>>> print levels.results
- {'level.max': AnalyzerResult(id_metadata=IdMetadata(id='level.max', name='Level Max', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=GlobalValueObject(value=array([-6.021]), y_value=array([], dtype=float64), y_unit=array([], dtype=float64)), audio_metadata=AudioMetadata(uri='file:///.../sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={}), 'level.rms': AnalyzerResult(id_metadata=IdMetadata(id='level.rms', name='Level RMS', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid=...'), data_object=GlobalValueObject(value=array([-9.856]), y_value=array([], dtype=float64), y_unit=array([], dtype=float64)), audio_metadata=AudioMetadata(uri='file:///.../sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={})}
+ {'level.max': AnalyzerResult(id_metadata=IdMetadata(id='level.max', name='Level Max', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=GlobalValueObject(value=array([-6.021]), y_value=array([], dtype=float64)), audio_metadata=AudioMetadata(uri='file:///.../sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={}), 'level.rms': AnalyzerResult(id_metadata=IdMetadata(id='level.rms', name='Level RMS', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid=...'), data_object=GlobalValueObject(value=array([-9.856]), y_value=array([], dtype=float64)), audio_metadata=AudioMetadata(uri='file:///.../sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={})}
"Data structure for Global & Value Result"
self.time_mode = 'global'
self.data_mode = 'value'
- self.data_object_keys = ['value', 'y_value', 'y_unit']
+ self.data_object_keys = ['value', 'y_value']
def test_GlobalLabelResult(self):
"Data structure for Global & Label Result"
"Data structure for Framewise & Value Result"
self.time_mode = 'framewise'
self.data_mode = 'value'
- self.data_object_keys = ['value', 'y_value', 'y_unit',
+ self.data_object_keys = ['value', 'y_value',
'frame_metadata']
def test_FrameLabelResult(self):
"Data structure for Event & Value Result"
self.time_mode = 'event'
self.data_mode = 'value'
- self.data_object_keys = ['value', 'y_value', 'y_unit', 'time']
+ self.data_object_keys = ['value', 'y_value', 'time']
def test_EventLabelResult(self):
"Data structure for Event & Label Result"
"Data structure for Segment & Value Result"
self.time_mode = 'segment'
self.data_mode = 'value'
- self.data_object_keys = ['value', 'y_value', 'y_unit',
+ self.data_object_keys = ['value', 'y_value',
'time', 'duration']
def test_SegmentLabelResult(self):
def _test_func_factory(grapher):
test_func = lambda self: self._perform_test(grapher)
- test_func.__doc__ = 'Test Graphers : %s' % grapher.name()
+ test_func.__doc__ = 'Test Graphers: %s' % grapher.name()
return test_func
test_func_name = "test_%s" % grapher.name()
class DataObject(MetadataObject):
-
'''
Metadata object to handle data related Metadata
class GlobalValueObject(ValueObject, GlobalObject):
# Define default values
_default_value = OrderedDict([('value', None),
- ('y_value', None),
- ('y_unit', None)])
+ ('y_value', None)])
class GlobalLabelObject(LabelObject, GlobalObject):
# Define default values
_default_value = OrderedDict([('value', None),
('y_value', None),
- ('y_unit', None),
('frame_metadata', None)])
def _render_plot(self, ax):
# Define default values
_default_value = OrderedDict([('value', None),
('y_value', None),
- ('y_unit', None),
('time', None)])
# Define default values
_default_value = OrderedDict([('value', None),
('y_value', None),
- ('y_unit', None),
('time', None),
('duration', None)])
>>> a = Analyzer()
>>> (d|a).run()
>>> a.new_result() #doctest: +ELLIPSIS
- AnalyzerResult(id_metadata=IdMetadata(id='analyzer', name='Generic analyzer', unit='', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=FrameValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64), frame_metadata=FrameMetadata(samplerate=44100, blocksize=8192, stepsize=8192)), audio_metadata=AudioMetadata(uri='...', start=0.0, duration=8.0..., is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={})
+ AnalyzerResult(id_metadata=IdMetadata(id='analyzer', name='Generic analyzer', unit='', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=FrameValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), frame_metadata=FrameMetadata(samplerate=44100, blocksize=8192, stepsize=8192)), audio_metadata=AudioMetadata(uri='...', start=0.0, duration=8.0..., is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={})
>>> resContainer = timeside.analyzer.core.AnalyzerResultContainer()
'''
spectrogram.data_object.y_value = np.arange(0, self.samplerate() / 2,
self.samplerate() /
self.FFT_SIZE)
- spectrogram.data_object.y_unit = 'Hz'
self.process_pipe.results.add(spectrogram)