Thomas Fillon [Thu, 10 Oct 2013 08:11:44 +0000 (10:11 +0200)]
Various enhancements on timeside.analyzer
- Add functions data(), time() and duration() to AnalyzerResult to easilly acces those values
- Modify Analyzer id to get results with the following format : 'AnalyzerID.ResultID' (e.g. 'aubio_temporal.beat', aubio_temporal.bpm', ...)
- Analyzer result() function now return only the results in the container that match the Analyzer id (e.g. 'aubio_temporal.*')
- Add Waveform Analyzer and Spectrogram Analyzers (mainly for demonstration and illustration purpose)
- some PEP8 refactoring (with autopep8)
Thomas Fillon [Mon, 30 Sep 2013 11:17:52 +0000 (13:17 +0200)]
Improve Yaafe analyzer and corresponding test function.
* Yaafe analyzer will raise an error when yaafe-engine does not return any features.
* test_yaafe now check the number of result in the result container.
Thomas Fillon [Mon, 19 Aug 2013 12:31:32 +0000 (14:31 +0200)]
Continue refactoring on AnalyzerResult
- Add a transition class NewAnalyzerResult that will replace existing AnalyzerResult class
- Enhancement of the Metadata classes to handle the data and metadata of the results
- Fixes #17
- Fixes #9 by integrating GST Gnonlin
- Fixes #13
Thomas Fillon [Thu, 18 Jul 2013 08:05:37 +0000 (10:05 +0200)]
Change FileDecoder init function input parameters and completely switch from uridecodebin to gnlurisource
- FileDecoder Init Input parameter are now (uri, start, duration)
Default values for start and duration keep FileDecoder to decode the whole file
- Default value for start is 0
- Default value for duration is set to the remaining duration of the file after the start position
- No more use of uridecodebin : switch to gnlurisource to enable segment specification
Thomas Fillon [Fri, 5 Jul 2013 22:43:58 +0000 (00:43 +0200)]
Refactoring of AnalyzerResult in order to address issue #13
Add AnalyzerAttributes to handle the metadata in AnalyzerResult and store the Analyzer parameters
Attributes include :
- [x] sampleRate, blockSize, stepSize
- [ ] version of the analyzer (or Timeside release ?)
- [ ] audio source file name
- [x] analysis parameters
- [ ] precision of the results data (float, long, ...)
- [ ] stereo / mono / left / right channel management during analysis ?
AnalyzerResult now include a @property field "properties" containing a dictionnary of the following stats about the results data :
- mean
- median,
- std
- min
- max
Also change the result value return by AubioTemporal because mean and median are now include in "properties"
Thomas Fillon [Fri, 5 Jul 2013 22:43:58 +0000 (00:43 +0200)]
Refactoring of AnalyzerResult in order to address issue #13
Add AnalyzerAttributes to handle the metadata in AnalyzerResult and store the Analyzer parameters
Attributes include :
- [x] sampleRate, blockSize, stepSize
- [ ] version of the analyzer (or Timeside release ?)
- [ ] audio source file name
- [x] analysis parameters
- [ ] precision of the results data (float, long, ...)
- [ ] stereo / mono / left / right channel management during analysis ?
AnalyzerResult now include a @property field "properties" containing a dictionnary of the following stats about the results data :
- mean
- median,
- std
- min
- max
Also change the result value return by AubioTemporal because mean and median are now include in "properties"
Thomas Fillon [Tue, 25 Jun 2013 13:31:03 +0000 (15:31 +0200)]
Add HDF5 I/O for AnalyzerResultContainer, Fixes #7
- Add functions from_hdf5 and to_hdf5 to AnalyzerResultContainer.
- Add corresponding tests
- Function to_hdf5(output_file) store an entire Container in an hdf5 file using one dataset for each AnalyzerResults and using dataset attributes to store 'unit' and 'name'. The dataset Name is the AnalyzerResult 'id'.
- Function from_hdf5(input_file) load the data store in a hdf5 file and return an AnalyzerResultContainer
Thomas Fillon [Sat, 15 Jun 2013 12:09:47 +0000 (14:09 +0200)]
Add Yaafe wrapper as a new TimeSide analyzer
Yaafe wrapper needs a proper Yaafe install (don't forget to set all the environment variables required by Yaafe). Yaafe analyzer uses the Yaafe python engine to which TimeSide sends the audio data during process() and gets back the results when result() is called. The corresponding tests are also included in this commit. Enjoy !