Example of use of the Analyzer Result structure
-Usage : AnalyzerResult.factory(data_mode=None, time_mode=None)
+Usage : AnalyzerResult(data_mode=None, time_mode=None)
Four different *time_mode* can be specified :
- 'value' : Data are returned as numpy Array of arbitrary type
- 'label' : Data are returned as label indexes (specified by the label_metadata key)
+Default values are *time_mode = 'framewise'* and *data_mode = 'value'*
See : :func:`timeside.analyzer.core.AnalyzerResult`, :class:`timeside.analyzer.core.AnalyzerResult`
Default
=======
-Create a new analyzer result without arguments
+Create a new analyzer result without default arguments
>>> from timeside.analyzer.core import AnalyzerResult
- >>> res = AnalyzerResult.factory()
+ >>> res = AnalyzerResult()
-This default result has all the metadata and dataObject attribute
>>> res.keys()
- ['id_metadata', 'data_object', 'audio_metadata', 'frame_metadata', 'parameters']
+ ['id_metadata', 'data_object', 'audio_metadata', 'parameters']
>>> for key,value in res.items():
... print '%s : %s' % (key, value)
...
id_metadata : {'description': '', 'author': '', 'uuid': '', 'version': '', 'date': '', 'id': '', 'unit': '', 'name': ''}
- data_object : {'value': array([], dtype=float64)}
+ data_object : {'y_value': array([], dtype=float64), 'y_unit': 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}
- frame_metadata : {'blocksize': None, 'samplerate': None, 'stepsize': None}
parameters : {}
Framewise
---------
->>> res = AnalyzerResult.factory(time_mode='framewise')
->>> res.keys()
-['id_metadata', 'data_object', 'audio_metadata', 'frame_metadata', 'parameters']
+>>> res = AnalyzerResult(time_mode='framewise')
+>>> res.data_object.keys()
+['value', 'y_value', 'y_unit', 'frame_metadata']
+
Global
------
No frame metadata information is needed for these modes.
The 'frame_metadata' key/attribute is deleted.
->>> res = AnalyzerResult.factory(time_mode='global')
->>> res.keys()
-['id_metadata', 'data_object', 'audio_metadata', 'parameters']
+>>> res = AnalyzerResult(time_mode='global')
+>>> res.data_object.keys()
+['value', 'y_value', 'y_unit']
+
>>> res.data_object
-DataObject(value=array([], dtype=float64))
+GlobalValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64))
+
Segment
-------
->>> res = AnalyzerResult.factory(time_mode='segment')
+>>> res = AnalyzerResult(time_mode='segment')
>>> res.keys()
['id_metadata', 'data_object', 'audio_metadata', 'parameters']
>>> res.data_object
-DataObject(value=array([], dtype=float64), time=array([], dtype=float64), duration=array([], dtype=float64))
+SegmentValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64), time=array([], dtype=float64), duration=array([], dtype=float64))
Event
-----
->>> res = AnalyzerResult.factory(time_mode='event')
+>>> res = AnalyzerResult(time_mode='event')
>>> res.keys()
['id_metadata', 'data_object', 'audio_metadata', 'parameters']
>>> res.data_object
-DataObject(value=array([], dtype=float64), time=array([], dtype=float64))
+EventValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64), time=array([], dtype=float64))
Specification of data_mode
==========================
Value
-----
-The label_metadata key is deleted.
->>> res = AnalyzerResult.factory(data_mode='value')
->>> res.keys()
-['id_metadata', 'data_object', 'audio_metadata', 'frame_metadata', 'parameters']
+>>> res = AnalyzerResult(data_mode='value')
+>>> res.data_object.keys()
+['value', 'y_value', 'y_unit', 'frame_metadata']
In the dataObject key, the 'value' key is kept and the 'label' key is deleted.
>>> res.data_object
-DataObject(value=array([], dtype=float64))
+FrameValueObject(value=array([], dtype=float64), y_value=array([], dtype=float64), y_unit=array([], dtype=float64), frame_metadata=FrameMetadata(samplerate=None, blocksize=None, stepsize=None))
Label
-----
->>> res = AnalyzerResult.factory(data_mode='label')
->>> res.keys()
-['id_metadata', 'data_object', 'audio_metadata', 'frame_metadata', 'label_metadata', 'parameters']
-
-In the dataObject key, the 'label' key is kept and the 'value' key is deleted.
+A *label_metadata* key is added.
+>>> res = AnalyzerResult(data_mode='label')
+>>> res.data_object.keys()
+['label', 'label_metadata', 'frame_metadata']
>>> res.data_object
-DataObject(label=array([], dtype=int64))
+FrameLabelObject(label=array([], dtype=int64), label_metadata=LabelMetadata(label={}, description={}, label_type='mono'), frame_metadata=FrameMetadata(samplerate=None, blocksize=None, stepsize=None))
>>> encoders = get_processor('gst_mp3_enc')('sweep.mp3') | get_processor('gst_flac_enc')('sweep.flac')
>>> (decoder | levels | encoders).run()
>>> print levels.results
- {'level.max': GlobalValueResult(id_metadata=IdMetadata(id='level.max', name='Level Max', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=DataObject(value=array([-6.021])), audio_metadata=AudioMetadata(uri='file://...sweep.wav', start=0.0, duration=8.0, is_segment=False, sha1='...', channels=2, channelsManagement=''), parameters={}), 'level.rms': GlobalValueResult(id_metadata=IdMetadata(id='level.rms', name='Level RMS', unit='dBFS', description='', date='...', version='...', author='TimeSide', uuid='...'), data_object=DataObject(value=array([-9.856])), 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), 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={})}