------
2017-02-17
Bug fixes
- `371`_ preserve integer hop lengths in constant-Q transforms. *Brian McFee*
- `386`_ fixed a length check in `librosa.util.frame`. *Brian McFee*
- `416`_ `librosa.output.write_wav` only normalizes floating point, and normalization is disabled by
default. *Brian McFee*
- `417`_ `librosa.cqt` output is now scaled continuously across octave boundaries. *Brian McFee, Eric
Humphrey*
- `450`_ enhanced numerical stability for `librosa.util.softmask`. *Brian McFee*
- `467`_ correction to chroma documentation. *Seth Kranzler*
- `501`_ fixed a numpy 1.12 compatibility error in `librosa.pitch_tuning`. *Hojin Lee*
New features
- `323`_ `librosa.dtw` dynamic time warping. *Stefan Balke*
- `404`_ `librosa.cache` now supports priority levels, analogous to logging levels. *Brian McFee*
- `405`_ `librosa.interp_harmonics` for estimating harmonics of time-frequency representations. *Brian
McFee*
- `410`_ `librosa.beat.beat_track` and `librosa.onset.onset_detect` can return output in frames,
samples, or time units. *Brian McFee*
- `413`_ full support for scipy-style window specifications. *Brian McFee*
- `427`_ `librosa.salience` for computing spectrogram salience using harmonic peaks. *Rachel Bittner*
- `428`_ `librosa.effects.trim` and `librosa.effects.split` for trimming and splitting waveforms. *Brian
McFee*
- `464`_ `librosa.amplitude_to_db`, `db_to_amplitude`, `power_to_db`, and `db_to_power` for
amplitude conversions. This deprecates `logamplitude`. *Brian McFee*
- `471`_ `librosa.util.normalize` now supports `threshold` and `fill_value` arguments. *Brian McFee*
- `472`_ `librosa.feature.melspectrogram` now supports `power` argument. *Keunwoo Choi*
- `473`_ `librosa.onset.onset_backtrack` for backtracking onset events to previous local minima of
energy. *Brian McFee*
- `479`_ `librosa.beat.tempo` replaces `librosa.beat.estimate_tempo`, supports time-varying estimation.
*Brian McFee*
Other changes
- `352`_ removed `seaborn` integration. *Brian McFee*
- `368`_ rewrite of the `librosa.display` submodule. All plots are now in natural coordinates. *Brian
McFee*
- `402`_ `librosa.display` submodule is not automatically imported. *Brian McFee*
- `403`_ `librosa.decompose.hpss` now returns soft masks. *Brian McFee*
- `407`_ `librosa.feature.rmse` can now compute directly in the time domain. *Carl Thome*
- `432`_ `librosa.feature.rmse` renames `n_fft` to `frame_length`. *Brian McFee*
- `446`_ `librosa.cqt` now disables tuning estimation by default. *Brian McFee*
- `452`_ `librosa.filters.__float_window` now always uses integer length windows. *Brian McFee*
- `459`_ `librosa.load` now supports `res_type` argument for resampling. *CJ Carr*
- `482`_ `librosa.filters.mel` now warns if parameters will generate empty filter channels. *Brian McFee*
- `480`_ expanded documentation for advanced IO use-cases. *Fabian Robert-Stoeter*
API changes and compatibility
- The following functions have permanently moved:
- `core.peak_peak` to `util.peak_pick`
- `core.localmax` to `util.localmax`
- `feature.sync` to `util.sync`
- The following functions, classes, and constants have been removed:
- `core.ifptrack`
- `feature.chromagram`
- `feature.logfsgram`
- `filters.logfrequency`
- `output.frames_csv`
- `segment.structure_Feature`
- `display.time_ticks`
- `util.FeatureExtractor`
- `util.buf_to_int`
- `util.SMALL_FLOAT`
- The following parameters have been removed:
- `librosa.cqt`: `resolution`
- `librosa.cqt`: `aggregate`
- `feature.chroma_cqt`: `mode`
- `onset_strength`: `centering`
- Seaborn integration has been removed, and the `display` submodule now requires matplotlib >= 1.5.
- The `use_sns` argument has been removed from `display.cmap`
- `magma` is now the default sequential colormap.
- The `librosa.display` module has been rewritten.
- `librosa.display.specshow` now plots using `pcolormesh`, and supports non-uniform time and frequency axes.
- All plots can be rendered in natural coordinates (e.g., time or Hz)
- Interactive plotting is now supported via ticker and formatter objects
- `librosa.decompose.hpss` with `mask=True` now returns soft masks, rather than binary masks.
- `librosa.filters.get_window` wraps `scipy.signal.get_window`, and handles generic callables as well pre-registered
window functions. All windowed analyses (e.g., `stft`, `cqt`, or `tempogram`) now support the full range
of window functions and parameteric windows via tuple parameters, e.g., `window=('kaiser', 4.0)`.
- `stft` windows are now explicitly asymmetric by default, which breaks backwards compatibility with the 0.4 series.
- `cqt` now returns properly scaled outputs that are continuous across octave boundaries. This breaks
backwards compatibility with the 0.4 series.
- `cqt` now uses `tuning=0.0` by default, rather than estimating the tuning from the signal. Tuning
estimation is still supported, and enabled by default for chroma analysis (`librosa.feature.chroma_cqt`).
- `logamplitude` is deprecated in favor of `amplitude_to_db` or `power_to_db`. The `ref_power` parameter
has been renamed to `ref`.
.. _501: https://github.com/librosa/librosa/pull/501
.. _480: https://github.com/librosa/librosa/pull/480
.. _467: https://github.com/librosa/librosa/pull/467
.. _450: https://github.com/librosa/librosa/pull/450
.. _417: https://github.com/librosa/librosa/pull/417
.. _416: https://github.com/librosa/librosa/pull/416
.. _386: https://github.com/librosa/librosa/pull/386
.. _371: https://github.com/librosa/librosa/pull/371
.. _479: https://github.com/librosa/librosa/pull/479
.. _473: https://github.com/librosa/librosa/pull/473
.. _472: https://github.com/librosa/librosa/pull/472
.. _471: https://github.com/librosa/librosa/pull/471
.. _464: https://github.com/librosa/librosa/pull/464
.. _428: https://github.com/librosa/librosa/pull/428
.. _427: https://github.com/librosa/librosa/pull/427
.. _413: https://github.com/librosa/librosa/pull/413
.. _410: https://github.com/librosa/librosa/pull/410
.. _405: https://github.com/librosa/librosa/pull/405
.. _404: https://github.com/librosa/librosa/pull/404
.. _323: https://github.com/librosa/librosa/pull/323
.. _482: https://github.com/librosa/librosa/pull/482
.. _459: https://github.com/librosa/librosa/pull/459
.. _452: https://github.com/librosa/librosa/pull/452
.. _446: https://github.com/librosa/librosa/pull/446
.. _432: https://github.com/librosa/librosa/pull/432
.. _407: https://github.com/librosa/librosa/pull/407
.. _403: https://github.com/librosa/librosa/pull/403
.. _402: https://github.com/librosa/librosa/pull/402
.. _368: https://github.com/librosa/librosa/pull/368
.. _352: https://github.com/librosa/librosa/pull/352