Essentia 2.1 beta4
Pre-release
Pre-release
This pre-release includes the following changes:
-
Improved algorithms
- AudioLoader now supports audio sources with multiple audio streams (new parameter 'audioStream')
- PoolAggregator now outputs stdev in addition to var (#342)
- SpectralContrast: Improve precision for computation of subband bin intervals
- Danceability now also outputs a DFA exponent vector
- HPCP can now optionally apply unit sum normalization (#348)
- HPCP: 'splitFrequency' parameter is now called 'bandSplitFrequency'
- LoudnessEBUR128: Warn on empty input in the streaming mode
-
Updates to Mel and ERB energy band algorithms
- Add support for extracting MelBands and MFCCs 'the htk way'
- Add support for DCT type III in DCT algorithm
- New parameter 'dctType' in DCT, MFCC and GFCC
- New 'liftering' parameter in DCT and MFCC
- New parameters 'normalize', 'type', 'scale' and 'weighting' in MelBands and MFCC
- New 'type' parameter in GFCC
- New 'logType' parameter in MFCC, GFCC
- New 'log' parameter in TriangularBands and MelBands
- ERBBands: 'type' parameter value "energy" is now called "power"
- TriangularBands is now faster
-
New algorithms
- SpectrumToCent for computing cent scale from frequency bins
- New algorithm IDCT for inverse DCT
- New algorithm SpectrumCQ
-
Bug-fixes in algorithms:
- MelBands and TriangularBands: Add checks for insufficient spectrum resolution (#142)
- Fix PitchYin out of range error (#376)
- Fix Inf values in OddToEvenHarmonicEnergyRatio
- Fix reset() in LowLevelSpectralExtractor and LowLevelSpectralEqloudExtractor
- Fix occasional exception in BeatsLoudness (#199)
- Danceability: Fix NaN danceability value occurring on very short input signals
- Fix memory leak in MelBands
- Fix memory bug in Vibrato
- SpectralContrast: Force non-zero 'lowFrequencyBound' parameter to avoid division by zero (#568)
- AudioLoader: Fix memory bug on exceptions while opening an audio file in AudioLoader
-
Updates to Python wrapper:
- FrameGenerator now inherits the default parameters from FrameCutter
- FrameGenerator now has a new method frame_times() to compute frame positions in time
- Fix array memory corruption when passing NumPy array views to Essentia algorithms (#240)
- Fix memory deallocation for streaming algorithms to avoid a memory leak
-
Extractors:
- Freesound extractor now stores all results in json
-
Logging:
- Remove colors in log messages when piped to file; do not print colors on Windows
-
Build scripts updates:
- Update waf to 1.9.5
- Update script for computing algorithm dependencies
-
Code cleanup and unit tests updates
-
Re-designed and expanded documentation:
- Updated installation instructions
- Reorganized and improved Python tutorials. Notebook tutorials are now also rendered as html
- Updated algorithm descriptions
- Added examples of industrial applications and academic studies using Essentia