Changelog
v0.11.0
2025-03-11
- Maintenance
- Enhancements
- Bug fixes
- #1916 Utility decorators now preserve type annotations properly. Brian McFee 
- #1900 Fixed an error in pooch registry definition. Brian McFee 
- #1897 Accommodate dependency resolution issues with uv. David Südholt 
- #1878 Improved accuracy for yin and pyin. David Südholt 
- #1851 Fixed sparse matrix compatibility for scipy>=1.14. Brian McFee 
- #1844 Fixed parameter name collision for norm argument in feature.mfcc. Slava Chaunin 
 
- Documentation
- #1899 Avoid documentation link-checking failures from unreliable URLs. Brian McFee 
- #1891 Corrected typo in effects module. Scott VanRavenswaay 
- #1878 Numerous documentation updates (spectral centroid, key_to_notes, effects.trim). Brian McFee 
- #1866 Updated documentation for dtw. Brian McFee 
- #1858 Fixed documentation example for onset detection. @BenedictSt 
- #1856 Updated documentation example for Fast Mellin Transform. Anmol Mishra 
 
- Deprecations
- #1916 - librosa.set_fftlibis deprecated and will be removed in version 1.0. Users should transition to using- scipy.fft.set_backendinstead.
- Expired deprecation of mono= parameter in util.valid_audio. 
- win_length parameter in yin and pyin 
 
v0.10
v0.10.2.post1
2024-05-14
- Maintenance
- #1839 Updated minimum matplotlib to 3.5.0. There are no changes to the code in this release, only package metadata and tests. 
 
v0.10.2
2024-05-02
- New features
- #1829 librosa.cite() returns a DOI (document object identifier) for citing librosa in academic publications. Brian McFee 
- #1766 - librosa.beat.beat_track,- librosa.onset.onset_detect, and- librosa.util.peak_picknow support multi-channel inputs. Brian McFee
- #1739, #1756, #1762 key_to_degrees and key_to_notes now support multiple accidentals in the tonic, and modes (ionian, dorian, etc). Eugene Rabinovich 
- #1770 Out-of-key notes are now optionally decorated with natural (♮) accidentals. Eugene Rabinovich 
 
- Bug fixes
- #1814 Corrected an off-by-one error when computing phase advance in - librosa.phase_vocoder. Brian McFee
- #1784 Improved handling of warnings in the test suite, and fixed a bug in dtype propagation through ivqt. Brian McFee 
- #1733 Fixed an off-by-one error in trimming of detected beats. Brian McFee 
- #1755 Avoid deprecated features in matplotlib and ensure compatibility with mpl 3.8. Brian McFee 
 
- Documentation
- #1827 Improvements to example code in documentation to include sampling rate parameters whenever necessary. Brian McFee 
- #1821 Added “copy button” to code examples in documentation. Brian McFee 
- #1789 Fixed type annotations for sampling rate parameters. Brian McFee 
- #1780 Corrected mistake in util.frame documentation. Gao Lei 
- #1783 Removed problematic language from test code and documentation. Dan Ellis 
 
- Other changes and maintenance
- #1826 Expanded parameter pass-through support in effects.hpss and related functions. Brian McFee 
- #1822 Allow display.specshow to control min and max tempo in tempogram plots. Brian McFee 
- #1820 Updated github actions. Brian McFee 
- #1813 Improved performance of autocorrelate. Jize Guo 
- #1808, #1769 Added python 3.11 and 3.12 to CI test matrix. Brian McFee 
- #1790 Explicitly allow scalar inputs in decibel conversions. Brian McFee 
- #1782 Modernized usage of matplotlib colormaps. Phillip S.M. Skelton 
- #1765 Modernized usage of importlib and package resources. Matt Pitkin 
 
v0.10.1
2023-08-16
This release consists primarily of corrections to documentation and updates to tests and development environment specifications.
- Bug fixes
- Documentation
- #1699 Update the documentation to support sphinx 6.x. Brian McFee 
- #1703 Corrected pitch_shift documentation for bins_per_octave. Shin Hyun 
- #1706 Corrected typo on README.md. Iliya S. 
- #1713 Multiple minor documentation updates. Brian McFee 
- #1718 Added continuous integration action for documentation builds. Brian McFee 
- #1719 Added advanced example for patch generation. Brian McFee 
 
- Other changes
v0.10.0.post2
2023-03-17
This maintenance release updates the dependency specifications to avoid an incompatibility with pooch >= 1.7.0. This restriction only affects loading of specific example files, and does not otherwise affect functionality of the library.
v0.10.0.post1
2023-03-16
This maintenance release updates the dependency specifications to avoid an incompatibility with numpy versions 1.22.0, 1.22.1, and 1.22.2. Functionality is otherwise identical to librosa version 0.10.0.
v0.10.0
2023-02-20
- New features
- #1485 Added support for “h” (hours) and “m” (minutes) in - librosa.display.TimeFormatter. Vincent Lostanlen
- #1495 Expanded options for bandwidth calculation in - librosa.segment.recurrence_matrixand- librosa.segment.cross_similarity. Tom Xi
- #1529 Accelerated utility functions for squared magnitude - librosa.util.abs2and- librosa.util.phasor. Brian McFee
- #1514 - librosa.stftsupport for pre-allocated output arrays. Brian McFee
- #1533 Accelerated - librosa.util.localmaxand- librosa.util.localmin. Brian McFee
- #1552 EXPERIMENTAL Support for just-intonation based variable-Q transforms - librosa.vqtand functional just system (FJS) notation. Brian McFee, Vincent Lostanlen
- #1579 Imports are now done lazily, significantly reducing startup time. It is not longer necessary to explicitly import librosa.display. Brian McFee 
- #1587, #1632, #1637 Type annotations. Matan Gover, Brian McFee, Fabian Keller 
- #1647 Harmonic spectrum interpolation - librosa.f0_harmonicsand tempogram ratio features- librosa.feature.tempogram_ratio. Brian McFee
 
- Bug fixes
- #1560 Corrected an error in bandwidth estimation for window functions that take on negative sample values. Brian McFee 
- #1571 Fixed rounding error in multirate filterbank calculation of sampling rates. Brian McFee 
- #1594 Fixed incorrect use of deprecated numpy numerical types. Mattia Di Gangi 
- #1596 Fixed harmonic interpolation for recent scipy releases. Brian McFee 
 
- API changes
- #1561 - librosa.resamplenow supports axis= for all sample rate conversion backends. Brian McFee
- #1572 Notation conversion (e.g., - librosa.midi_to_note) now vectorizes operations, and produces- numpy.ndarrayoutputs rather than list when given iterable inputs. Brian McFee
- #1625 Deprecations now raise FutureWarning instead of DeprecationWarning. 
- #1625 - librosa.get_durationparameter filename has been renamed to path. Brian McFee
- #1643 Removed support for threshold=None in - librosa.zero_crossings. Brian McFee
- #1665 Fixed overflow bug in - librosa.feature.rmson integer inputs. Brian McFee
 
- Documentation
- #1520 Improved CONTRIBUTING.md documentation. Kian Eliasi 
- #1531 Updated LICENSE.md documentation. Anton Kostin 
- #1536 Added keyword argument (kwargs) definitions to docstrings. Emily Halvachs 
- #1537 Improvements to CONTRIBUTING.md. Juanita Gomez 
- #1545 Correction to docstring for - librosa.note_to_midi. Helmin Jinoz
- #1563 Improved - librosa.display.specshowdocumentation to explain cmap= parameter. Kian Eliasi
- #1573 Improved documentation for - librosa.filters.semitone_filterbank. BdeGraff
- #1586 Fixed figure layout in documentation builds. Brian McFee 
- #1592 Fixed incorrect link to the documentation badge in README. Zvi Baratz 
- #1614 Improved documentation for resampling. Jon Petter Åsen 
 
- Deprecations
- Other changes
- #1501 Infer square / equal plot dimensions for compatible x/y axes in - librosa.display.specshow. Kian Eliasi
- #1535 Standardized integer type checks throughout the library. Alexandre Chabot-Leclerc 
- #1539 Refactored - librosa.display.AdaptiveWaveplotto allow callback disconnection. Brian McFee
- #1548 Removed deprecated ‘hanning’ window specification from tests. Brian McFee 
- #1551 Removed dependency on contextlib2. Steve Kowalik 
- #1565 Efficiency improvements to - librosa.autocorrelate. Brian McFee
- #1566 Changed the default sample rate conversion method from kaiser_best (resampy) to soxr_hq (soxr). Brian McFee 
- #1581 Updated tests for numpy 1.23 compatibility. Brian McFee 
- #1617 Accelerated - librosa.yinimplementation. Brian McFee
- #1640 Updated display module dependencies to require matplotlib >= 3.3. Brian McFee 
- #1643 Accelerated - librosa.zero_crossingsimplementation. Brian McFee
- #1646 Added support for transposed (vertical) display of waveforms. Brian McFee 
 
v0.9
v0.9.2
2022-06-27
- Bug fixes
- #1457 Fixed - librosa.show_versionsto match package dependencies. Brian McFee
- #1493 Fixed a bug in - librosa.effects.splitwhen applied to multichannel data. Brian McFee
 
- Documentation
- #1447 Migrated documentation builds to GitHub Actions. Brian McFee 
- #1469 Corrected documentation for db_to_amplitude and amplitude_to_db. i-aki-y 
- #1473 Readability improvements to package README. Asmitha Krishnakumar 
- #1475 Expanded documentation to - librosa.sequence.viterbi_discriminative. Brian McFee
- #1479 Readability improvements to package README. Chandrashekhar Ramaprasad 
- #1491 Pinned sphinx version for documentation builds. Brian McFee 
- #1511 Expanded documentation for find_files. Xiao-Ming 
- #1513 Various documentation updates and enhancements. Brian McFee 
 
- Other changes
- #1453 Removed test data from main repository and reduced the git attic. Brian McFee 
- #1479 Accept pre-constructed audioread objects in - librosa.load. Brian McFee
- #1504 Accelerate - librosa.magphase. Will Monroe
- #1507, #1508, #1509 Various spelling corrections in documentation, comments, and warnings. Lorenz Nickel 
 
v0.9.1
2022-02-15
This release provides partial backward compatibility to the 0.8 series. The 0.9.0 release introduced restrictions on positional arguments to many functions, requiring parameters to be passed by keyword arguments instead. In 0.9.1, positional parameters now trigger warnings instead of errors, so 0.8-compatible code should work again.
Additional changes:
- #1448 Documentation for - librosa.effects.trimand- librosa.effects.splithas been corrected to reflect a semantic change in the ref parameter introduced by #1130. Explicit ref values now measure amplitude rather than power.
v0.9.0
2022-02-07
The main feature of this release is (nearly) full support for arbitrary multi-channel processing, along with several speed and stability enhancements. A detailed list of changes is provided below.
- New Features
- API changes
- #1114 Most functions now require keyword arguments. Brian McFee 
- #1382 The default padding mode for most functions (including STFT) is now zero-padding. Brian McFee 
- #1418 - librosa.loadand- librosa.streamcan now operate directly on open- soundfileobjects. Brian McFee
- #1414 - librosa.display.specshownow uses centered coordinate grids. Brian McFee
- #1398 - librosa.iirtnow exposes API control over resampling modes. Brian McFee
- #1416 Removed deprecated functions librosa.display.waveplot and librosa.util.example_audio_file. Brian McFee 
 
- Bug fixes
- #1387 Fixed errors in support of odd frame lengths in various functions. Brian McFee 
- #1273 Minor corrections to constants in perceptual weighting functions. Brian McFee 
- #1350 Removed uses of deprecated numpy numerical types. Brian McFee 
- #1361 Maximum frequency is now correctly inferred as Nyquist in onset strength calculation. Brian McFee 
- #1362 - librosa.effects.deemphasisno longer modifies the input signal in-place. Brian McFee
- #1375 - librosa.util.framenow correctly works for arbitrary memory layouts and numbers of axes. Brian McFee
- #1425 Fixed an off-by-one error in - librosa.yinand- librosa.pyin. @philstem, Brian McFee
- #1430 Removed unnecessary __all__ specifications to better support static analysis. Fabian Keller 
- #1407 Corrected a normalization error in inverse CQT. Brian McFee, Vincent Lostanlen 
 
- Documentation
- #1328 Retired the examples/ folder and expanded the Advanced Examples gallery. Brian McFee 
- #1427 Fixed docstring for - librosa.reassigned_spectrogram. Fabian Keller
 
- Other changes
- #418 - librosa.cqtnow supports arbitrary hop lengths. Brian McFee
- #1405 Improvements and generalizations to constant-Q/variable-Q basis construction. Brian McFee, Vincent Lostanlen 
- #1324 Added a run-time check for minimally supported matplotlib versions. Brian McFee 
- #1325 Enhanced continuous integration testing for oldest and newest environments. Brian McFee 
- #1358 Harmonic interpolation now preemptively detects repeated values that produce unstable estimates. Brian McFee 
- #1432 Specify stack levels in warnings to provide more helpful warning messages. Brian McFee 
- #1384 Fixed package configuration error for documentation builds. Adam Weiss 
 
- Deprecations
- #1389 The mono parameter of - librosa.util.valid_audiois deprecated and the default is now set to False. Brian McFee
- #1405 CQT filter-bank constructors - librosa.filters.constant_qare now deprecated in favor of- librosa.filters.wavelet. Brian McFee, Vincent Lostanlen
 
v0.8
v0.8.1
2021-05-26
- New Features
- #1293 - librosa.effects.deemphasis, inverse operation of- librosa.effects.preemphasis. Dan Mazur
- #1207 - librosa.display.waveshow, adaptively visualize waveforms by amplitude envelope when zoomed out, or raw sample values when zoomed in. Brian McFee
- #1338 - librosa.resamplenow optionally supports- soxr. Myungchul Keum
 
- Bug fixes
- #1290 - librosa.display.specshowfixed a bug in format and tick locations for CQT plots. Brian McFee
- #1240 - librosa.display.specshownow correctly infers fmax for mel frequency axes. Brian McFee, Bea Steers
- #1311 - librosa.filters.chromafixed an error in how chromagrams were generated when n_chroma!=12 and base_c=True. Joon Lim
- #1322 - librosa.feature.inverse.mel_to_audionow infers hop_length by default in a way that is consistent with the rest of the package. Dan Ellis
- #1341 - librosa.onset.onset_detectno longer modifies user-provided onset envelopes. Brian McFee
 
- Documentation
- #1211 fixed a broken link in the changelog. Pavel Campr 
- #1218 corrected an exception/warning message in - librosa.stftwhen the frame length exceeds the input length. Frank Zalkow
- #1237 fixed spelling errors in - librosa.yinand- librosa.pyindocumentation. Tim Gates
- #1284 fixed broken links in CONTRIBUTING.md document. Abduttayyeb Mazhar 
- #1287 expanded instructions for installing ffmpeg on Windows. Cash TingHin Lo 
- #1298 fixed a dimension calculation error in - librosa.streamdocumentation. Xinlu Zhuang
- #1321 fixed a mismatched parenthesis in - librosa.feature.mfccdocumentation. Connor Guerrero
- #1333 expanded documentation describing unsupported codecs in - librosa.load. Brian McFee
 
- Other changes
- #1312 - librosa.display.specshowcan now automatically sets the aspect ratio of a plot if the axes are of the same type and shape. N. Dorukhan Sergin
- #1323, #1317, #1308 simplified testing framework and migrated to GitHub Actions. Brian McFee 
- #1324 - librosa.display.specshowis now future-proofed for matplotlib 3.5. Brian McFee
- #1334 - librosa.display.specshownow supports HTK-style Mel scaling. Brian McFee
- #1335, #1336 - librosa.display.specshownow supports pitch notation (Western, Hindustani, and Carnatic) for STFT matrices. Paul Biberstein, Brian McFee
- #1333 minimum version of - soundfilehas been updated to 0.10.2. Brian McFee
- #1340 several functions now support np.integer-valued parameters as well as integer-valued parameters. Brian McFee 
- #1207 - librosa.displaytime-formatted axes now have enhanced precision at short time scales. Brian McFee
- #1341 - librosa.onset.onset_detectcan now optionally disable normalization of the onset envelope. Brian McFee
 
- Deprecations to be removed in 0.9
- librosa.display.waveplot is now deprecated in favor of - librosa.display.waveshow.
 
v0.8.0
2020-07-22
- New Features
- #1203 Support for Carnatic and Hindustani notations. Brian McFee, Kaushik Sripathi Hatti, Kaustuv Kanti Ganguli
 
- #1063 - librosa.yinand- librosa.pyinfor fundamental frequency estimation. Benjamin van Niekirk
- #1018 Variable-Q transform - librosa.vqt. Brian McFee, Frank Cwitkowitz
- #1059 libsamplerate support in - librosa.resample. Brian McFee
- #1134 perceptual loudness weighting for B, C, D, and Z-weighting. Bea Steers 
- #1149 key support and note-spelling in pitch<=>note conversion. Brian McFee 
- #1150 new data loader, and expanded collection of example recordings. Brian McFee 
- #1166 - librosa.sequence.dtwcan now return the step matrix. Frank Zaklow
- #1171 automatic precision inference for spectral transforms (stft, cqt) and explicit control for - librosa.cqt. Brian McFee
- #1198 - librosa.util.localminfor computing local minima. Brian McFee
 
- Removed features and API changes
- #1062
- Removed support for python < 3.6. 
- Removed the deprecated output module. 
- Removed deprecated ifgram function. 
- Removed deprecated amin parameter from icqt 
- Removed deprecated A440 parameter from hz_to_octs, octs_to_hz, and chroma features 
- Removed deprecated tuning= parameter in CQT filter constructors 
- Removed deprecated util.roll_sparse function 
 
 
- #1050 implemented changes to Mel filter normalization 
- #1165 removed deprecated optional_jit decorator 
 
- Deprecations to be removed in 0.9
- librosa.util.example_audio_file is now deprecated in favor of - librosa.util.example.
 
- Bug fixes
- #1078 fixed edge-padding errors in - librosa.feature.stack_memory. beantowel
- #1091 fixed joblib version requirements. Thor Whalen 
- #1094 fixed STFT bug when using large window sizes. Frank Zalkow 
- #1157, #1196 fixed an alignment bug in - librosa.iirt. Frank Zalkow
- #1159 fixed a warm-up glitch in - librosa.effects.preemphasis. Brian McFee
- #1179 fixed memory initialization in unit tests. Brian McFee 
 
- Documentation
- #1068 Corrections to - librosa.effects.pitch_shiftdocumentation. Keunwoo Choi
 
- Other changes
- #1064 unit test suite modernized to support latest pytest. Brian McFee 
- #1112 numba accelerated - librosa.feature.stack_memory. Brian McFee
- #1120 added reference tuning for pitch conversion utilities. Julia Wilkins 
- #1123 fixed Python requirement definition in installation script. Stefan Sullivan 
- #1125 updates to - librosa.util.frameto remove default parameters and relax contiguity restrictions. Brian McFee
- #1131 more stringent shape requirements on - librosa.util.valid_audio. Brian McFee
- #1140 removed contiguity requirement for - librosa.util.valid_audio. Brian McFee
- #1147 updates to - librosa.display.specshowdocumentation. Brian McFee
- #1182 - librosa.display.specshownow returns a QuadMesh object, rather than the axes handle. Brian McFee
- #1183 - librosa.feature.chroma_cqtnow uses higher CQT resolution by default. Brian McFee
- #1183 - librosa.feature.tonnetzcan now pass-through arguments to- librosa.feature.chroma_cqt. Brian McFee
- #1186 - librosa.display.cmapnow returns binary colormaps for boolean data. Brian McFee
 
v0.7
v0.7.2
2020-01-13
- New Features
- #1008 added liftering support to MFCC inversion. Ayoub Malek 
- #1021 added - pathlibsupport to- librosa.load. Stef van der Struijk
- #1022 added “mu-law” compression and expansion (companding). Brian McFee 
 
- Bug fixes
- #1031 fixed errors in dynamic time warping with NaN inputs and detection of invalid warping paths. Frank Zalkow, Brian McFee 
- #1041 fixed frame-length normalization in spectrogram-based RMS energy calculation. Shunsuke Hidaka 
- #1054 fixed the length of signals produced by - librosa.tone. Brian McFee
 
- Documentation
- Other changes
- #1050 expanded normalization modes in Mel basis construction. Brian McFee 
 
v0.7.1
2019-10-09
- New Features
- #966 - librosa.util.framenow supports multidimensional data. Includes a new helper function- librosa.util.stackfor contiguous concatenation. Brian McFee
- #934 - librosa.griffinlim_cqt: Phase retrieval from constant-Q magnitude spectra. Brian McFee
- #940 Enhanced compatibility with HTK’s MFCC implementation: - librosa.effects.preemphasisand lifter= parameter in MFCC. Brian McFee
- #949 - librosa.util.shearutility for shear-transforming 2D arrays. Brian McFee
- #926 - librosa.reassigned_spectrogram: time-frequency reassigned spectrogram. Scott Seyfarth
 
- Bug fixes
- #983 Added a missing parameter to - librosa.griffinlim_cqt. Voodoohop
- #978 Correct FFT normalization discrepancy in rms calculation. Brian McFee 
- #930 Corrected an error in automatic tuning correction for CQT. Brian McFee 
- #942 Fixed seeking behavior in - librosa.streamwhen operating on file-handle inputs. Carl Thome
- #920 Fixed a boundary condition check in full-sequence DTW. Frank Zalkow 
 
- Documentation
- #976 Fixed a typo in - librosa.streamdocumentation. Alastair Porter
- #958 Visualization of reassigned spectrograms. Vincent Lostanlen 
- #943 Improved documentation for - librosa.stft. Vincent Lostanlen
- #939 Expanded documentation of - librosa.feature.melspectrogram. Vincent Lostanlen
 
- Other changes
- #1004 Expose frame parameters in - librosa.onsetand- librosa.feature.chroma_stftfunctions. Brian McFee
- #1003 Removed warning filter reset, and changed the Python2 deprecation warning to class FutureWarning. Brian McFee, Fabian Keller 
- #1000 Fixed an upstream deprecation warning from np.asscalar(). Vincent Lostanlen 
- #971 Beat and tempo estimation now support prior distributions. Brian McFee 
- #968 - librosa.util.valid_audionow enforces memory contiguity. Vincent Lostanlen
- #963 Improved x-axis decoration types in librosa.display.waveplot. Vincent Lostanlen 
- #960 Ensure memory contiguity of audio buffers after resampling. Brian McFee 
- #957 Code-base audit for proper usage of - librosa.times_like. Brian McFee
- #953 Deprecated librosa.ifgram in favor of - librosa.reassigned_spectrogram. Brian McFee
- #950 Allow initial phase estimates for - librosa.griffinlimmethods. Brian McFee
- #949 Accelerated - librosa.segment.lag_to_recurrenceand- librosa.segment.recurrence_to_lag. Deprecated librosa.util.roll_sparse. Brian McFee
- #930 A440= parameter has been deprecated across the library in favor of a standardized tuning= parameter. Brian McFee 
 
v0.7.0
2019-07-07
Note: the 0.7 series will be the last to officially support Python 2.7.
- New features
- #772 - librosa.stream: Stream generator to process long audio files into smaller pieces. Brian McFee
- #845 - librosa.load: Replaced the default audio decoder with pysoundfile, and only use- audioreadas backup. Brian McFee
- #843 - librosa.griffinlim: Phase retrieval from magnitude spectrograms using the (accelerated) Griffin-Lim method. Brian McFee
- #843 - librosa.feature.inverse: New module for feature inversion, based on the Griffin-Lim phase retrieval algorithm. Includes mel_to_audio and mfcc_to_audio. Brian McFee
- #725 - librosa.lpc: Linear prediction coefficients (LPC). Adam Weiss
- #907 - librosa.sequence.rqa: Recurrence Quantification Analysis (RQA) for sequence alignment. Brian McFee
- #739 - librosa.beat.plp: Predominant local pulse (PLP) for variable-tempo beat tracking. Brian McFee
- #894 - librosa.feature.fourier_tempogram: Fourier Tempogram for representing rhythm in the frequency domain. Brian McFee
- #891 - librosa.pcenPer-channel energy normalization (PCEN) now allows logarithmic range compression at the limit power->0. Vincent Lostanlen
- #863 - librosa.effects.pitch_shiftsupports custom resampling modes. Taewoon Kim
- #857 - librosa.cqtand- librosa.icqtForward and inverse constant-Q transform now support custom resampling modes. Brian McFee
- #842 - librosa.segment.path_enhance: Near-diagonal path enhancement for recurrence, self- or cross-similarity matrices. Brian McFee
- #840 - librosa.segment.recurrence_matrixnow supports a keyword argument, self=False. If set to True, the recurrence matrix includes self-loops. Brian McFee
- #776 - librosa.piptracknow supports a keyword argument, ref=None, allowing users to override the reference thresholding behavior for determining which bins correspond to pitches. Brian McFee
- #770 - librosa.segment.cross_similarity: Cross-similarity function for comparing two feature sequences. Rachel Bittner, Brian McFee
- #709 - librosa.onset.onset_strength_multinow supports a user-specified reference spectrum via the ref keyword argument. Brian McFee
- #576 - librosa.resamplenow supports mode=’polyphase’. Brian McFee
- #519 - librosa.onset.onset_strength_multi: Setting aggregate=False disables the aggregation of onset strengths across frequency bins. Brian McFee
 
- Bug fixes
- #900 - librosa.effects.pitch_shiftnow preserves length. Vincent Lostanlen
- #891 - librosa.pcenDynamic range compression in PCEN is more numerically stable for small values of the exponent. Vincent Lostanlen
- #888 librosa.ifgram Instantaneous frequency spectrogram now correctly estimates center frequencies when using windows other than hann. Brian McFee 
- #869 - librosa.sequence.dtwFixed a bug in dynamic time warping when subseq=True. Viktor Andreevitch Morozov
- #851 - librosa.pcennow initializes its autoregressive filtering in the steady state, not with silence. Jan Schlüter, Brian McFee
- #833 - librosa.segment.recurrence_matrix: width parameter now cannot exceed data length. Brian McFee
- #825 Filter bank constructors mel, chroma, constant_q, and cq_to_chroma are now type-stable. Vincent Lostanlen, Brian McFee 
- #802 - librosa.icqtInverse constant-Q transform has been completely rewritten and is more numerically stable. Brian McFee
 
- Removed features (deprecated in v0.6)
- Discrete cosine transform. We recommend using - scipy.fftpack.dct
- The delta function no longer support the trim keyword argument. 
- Root mean square error (rmse) has been renamed to rms. 
- iirt now uses sos mode by default. 
 
- Documentation
- #891 Improved the documentation of PCEN. Vincent Lostanlen 
- #884 Improved installation documentation. Darío Hereñú 
- #882 Improved code style for plot generation. Alex Metsai 
- #874 Improved the documentation of spectral features. Brian McFee 
- #804 Improved the documentation of MFCC. Brian McFee 
- #849 Removed a redundant link in the util documentation. Keunwoo Choi 
- #827 Improved the docstring of recurrence_matrix. Brian McFee 
- #813 Improved the docstring of load. Andy Sarroff 
 
- Other changes
- #917 The output module is now deprecated, and will be removed in version 0.8. 
- #878 More informative exception handling. Jack Mason 
- #857 librosa.resample() now supports mode=’fft’, equivalent to the previous - scipymode. Brian McFee
- #854 More efficient length-aware ISTFT and ICQT. Vincent Lostanlen 
- #846 Nine librosa functions now store jit-compiled, numba-accelerated caches across sessions. Brian McFee 
- #841 - librosa.loadno longer relies on realpath(). Brian McFee
- #834 All spectral feature extractors now expose all STFT parameters. Brian McFee 
- #829 Refactored - librosa.cache. Brian McFee
- #818 Thanks to np.fft.rfft, functions stft, istft, ifgram, and fmt are faster and have a reduced memory footprint. Brian McFee 
 
v0.6
v0.6.3
2019-02-13
- Bug fixes
- #806 Fixed a bug in - librosa.estimate_tuning. @robrib, Monsij Biswal, Brian McFee
- #799 Enhanced stability of elliptical filter implementation in iirt. Frank Zalkow 
 
- New features
- #766 made smoothing optional in - librosa.feature.chroma_cens. Kyungyun Lee
- #760 allow explicit units for time axis decoration in - librosa.display. Kyungyun Lee
 
- Other changes
- #813 updated - librosa.loaddocumentation to cover bit depth truncation. Andy Sarroff
- #805 updated documentation for librosa.localmax. Brian McFee 
- #801 renamed librosa.feature.rmse to - librosa.feature.rms. @nullmightybofo
- #793 updated comments in - librosa.stft. Dan Ellis
- #791 updated documentation for write_wav. Brian McFee 
- #790 removed dependency on deprecated - impmodule. Brian McFee
- #787 fixed typos in CONTRIBUTING documentation. Vincent Lostanlen 
- #785 removed all run-time assertions in favor of proper exceptions. Brian McFee 
- #783 migrated test infrastructure from nose to pytest. Brian McFee 
- #777 include LICENSE file in source distribution. toddrme2178 
- #769 updated documentation in - librosa.istft. Shayenne Moura
 
v0.6.2
2018-08-09
- Bug fixes
- #730 Fixed cache support for joblib>=0.12. Matt Vollrath 
 
- New features
- #735 Added - librosa.times_likeand- librosa.samples_liketo generate time and sample indices corresponding to an existing feature matrix or shape specification. Steve Tjoa
- #750, #753 Added - librosa.toneand- librosa.chirpsignal generators. Ziyao Wei
 
- Other changes
- #727 updated documentation for - librosa.get_duration. Zhen Wang
- #731 fixed a typo in documentation for - librosa.fft_frequencies. Ziyao Wei
- #734 expanded documentation for librosa.feature.spectrall_rolloff. Ziyao Wei 
- #751 fixed example documentation for proper handling of phase in dB-scaling. Vincent Lostanlen 
- #755 forward support and future-proofing for fancy indexing with numpy>1.15. Brian McFee 
 
v0.6.1
2018-05-24
- Bug fixes
- #677 - librosa.util.find_filesnow correctly de-duplicates files on case-insensitive platforms. Brian McFee
- #713 - librosa.util.valid_intervalsnow checks for non-negative durations. Brian McFee, Dana Lee
- #714 - librosa.util.match_intervalscan now explicitly fail when no matches are possible. Brian McFee, Dana Lee
 
- New features
- #679, #708 - librosa.pcen, per-channel energy normalization. Vincent Lostanlen, Brian McFee
- #682 added different DCT modes to - librosa.feature.mfcc. Brian McFee
- #687 - librosa.displayfunctions now accept target axes. Pius Friesch
- #688 numba-accelerated - librosa.util.match_events. Dana Lee
- #710 - librosa.sequencemodule and Viterbi decoding for generative, discriminative, and multi-label hidden Markov models. Brian McFee
- #714 - librosa.util.match_intervalsnow supports tie-breaking for disjoint query intervals. Brian McFee
 
- Other changes
- #677, #705 added continuous integration testing for Windows. Brian McFee, Ryuichi Yamamoto 
- #680 updated display module tests to support matplotlib 2.1. Brian McFee 
- #684 corrected documentation for - librosa.stftand librosa.ifgram. Keunwoo Choi
- #699, #701 corrected documentation for - librosa.filters.semitone_filterbankand- librosa.filters.mel_frequencies. Vincent Lostanlen
- #704 eliminated unnecessary side-effects when importing - librosa.display. Brian McFee
- #707 improved test coverage for dynamic time warping. Brian McFee 
- #714 - librosa.util.match_intervalsmatching logic has changed from raw intersection to Jaccard similarity. Brian McFee
 
- API Changes and compatibility
- #716 librosa.dtw has moved to - librosa.sequence.dtw, and librosa.fill_off_diagonal has moved to- librosa.util.fill_off_diagonal. Brian McFee
 
v0.6.0
2018-02-17
- Bug fixes
- #663 fixed alignment errors in - librosa.feature.delta. Brian McFee
- #646 - librosa.effects.trimnow correctly handles all-zeros signals. Rimvydas Naktinis
- #634 - librosa.stftnow conjugates the correct half of the spectrum. Brian McFee
- #630 fixed display decoration errors with cqt_note mode. Brian McFee 
- #619 - librosa.effects.splitno longer returns out-of-bound sample indices. Brian McFee
- #616 Improved - librosa.util.valid_audioto avoid integer type errors. Brian McFee
- #600 CQT basis functions are now correctly centered. Brian McFee 
- #597 fixed frequency bin centering in - librosa.display.specshow. Brian McFee
- #594 librosa.dtw fixed a bug which ignored weights when step_sizes_sigma did not match length. Jackie Wu 
- #593 - librosa.stftproperly checks for valid input signals. Erik Peterson
- #587 - librosa.show_versionsnow shows correct module names. Ryuichi Yamamoto
 
- New features
- #648 - librosa.feature.spectral_flatness. Keunwoo Choi
- #633 - librosa.feature.tempogramnow supports multi-band analysis. Brian McFee
- #439 - librosa.iirtimplements the multi-rate filterbank from Chroma Toolbox. Stefan Balke
- #435 - librosa.icqtinverse constant-Q transform (unstable). Brian McFee
 
- Other changes
- #674 Improved write_wav documentation with cross-references to - soundfile. Brian McFee
- #671 Warn users when phase information is lost in dB conversion. Carl Thome 
- #666 Expanded documentation for - librosa.load’s resampling behavior. Brian McFee
- #656 Future-proofing numpy data type checks. Carl Thome 
- #642 Updated unit tests for compatibility with matplotlib 2.1. Brian McFee 
- #637 Improved documentation for advanced I/O. Siddhartha Kumar 
- #636 - librosa.util.normalizenow preserves data type. Brian McFee
- #632 refined the validation requirements for - librosa.util.frame. Brian McFee
- #628 all time/frequency conversion functions preserve input shape. Brian McFee 
- #625 Numba is now a hard dependency. Brian McFee 
- #622 - librosa.hz_to_mididocumentation corrections. Carl Thome
- #621 dtw is now symmetric with respect to input arguments. Stefan Balke 
- #620 Updated requirements to prevent installation with (incompatible) sklearn 0.19.0. Brian McFee 
- #609 Improved documentation for - librosa.segment.recurrence_matrix. Julia Wilkins
- #598 Improved efficiency of - librosa.decompose.nn_filter. Brian McFee
- #574 dtw now supports pre-computed distance matrices. Curtis Hawthorne 
 
- API changes and compatibility
- #627 The following functions and features have been removed:
- real= parameter in cqt 
- logamplitude (replaced by amplitude_to_db) 
- beat.estimate_tempo (replaced by beat.tempo) 
- n_fft= parameter to feature.rmse 
- ref_power= parameter to power_to_db 
 
 
- The following features have been deprecated, and will be removed in 0.7.0:
- trim= parameter to feature.delta 
 
 
- #616 write_wav no longer supports integer-typed waveforms. This is due to enforcing consistency with - librosa.util.valid_audiochecks elsewhere in the codebase. If you have existing code that requires integer-valued output, consider using- soundfile.writeinstead.
 
v0.5
v0.5.1
2017-05-08
- Bug fixes
- #555 added safety check for frequency bands in - librosa.feature.spectral_contrast. Brian McFee
- #554 fix interactive display for tonnetz visualization. Brian McFee 
- #553 fix bug in - librosa.feature.spectral_bandwidth. Brian McFee
- #539 fix - librosa.feature.chroma_censto support scipy >=0.19. Brian McFee
 
- New features
- #565 - librosa.feature.stack_memorynow supports negative delay. Brian McFee
- #563 expose padding mode in stft/ifgram/cqt. Brian McFee 
- #559 explicit length option for - librosa.istft. Brian McFee
- #557 added - librosa.show_versions. Brian McFee
- #551 add norm= option to - librosa.filters.mel. Dan Ellis
 
- Other changes
- #569 librosa.feature.rmse now centers frames in the time-domain by default. Brian McFee 
- #564 - librosa.display.specshownow rasterizes images by default. Brian McFee
- #558 updated contributing documentation and issue templates. Brian McFee 
- #556 updated tutorial for 0.5 API compatibility. Brian McFee 
- #544 efficiency improvement in CQT. Carl Thome 
- #523 support reading files with more than two channels. Paul Brossier 
 
v0.5.0
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.cqtoutput 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.cachenow supports priority levels, analogous to logging levels. Brian McFee
- #405 - librosa.interp_harmonicsfor estimating harmonics of time-frequency representations. Brian McFee
- #410 - librosa.beat.beat_trackand- librosa.onset.onset_detectcan return output in frames, samples, or time units. Brian McFee
- #413 full support for scipy-style window specifications. Brian McFee 
- #427 - librosa.saliencefor computing spectrogram salience using harmonic peaks. Rachel Bittner
- #428 - librosa.effects.trimand- librosa.effects.splitfor 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.normalizenow supports threshold and fill_value arguments. Brian McFee
- #472 - librosa.feature.melspectrogramnow supports power argument. Keunwoo Choi
- #473 - librosa.onset.onset_backtrackfor backtracking onset events to previous local minima of energy. Brian McFee
- #479 - librosa.beat.temporeplaces librosa.beat.estimate_tempo, supports time-varying estimation. Brian McFee
 
- Other changes
- #352 removed seaborn integration. Brian McFee 
- #368 rewrite of the - librosa.displaysubmodule. All plots are now in natural coordinates. Brian McFee
- #402 - librosa.displaysubmodule is not automatically imported. Brian McFee
- #403 - librosa.decompose.hpssnow 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.cqtnow disables tuning estimation by default. Brian McFee
- #452 - librosa.filters.__float_windownow always uses integer length windows. Brian McFee
- #459 - librosa.loadnow supports res_type argument for resampling. CJ Carr
- #482 - librosa.filters.melnow 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.displaymodule has been rewritten.
- librosa.display.specshownow 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 
 
 
- The 
- librosa.decompose.hpsswith mask=True now returns soft masks, rather than binary masks.
- librosa.filters.get_windowwraps- 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. 
 
v0.4
v0.4.3
2016-05-17
- Bug fixes
- #315 fixed a positioning error in - librosa.display.specshowwith logarithmic axes. Brian McFee
- #332 - librosa.cqtnow throws an exception if the signal is too short for analysis. Brian McFee
- #341 - librosa.hybrid_cqtproperly matches the scale of- librosa.cqt. Brian McFee
- #348 - librosa.cqtfixed a bug introduced in v0.4.2. Brian McFee
- #354 Fixed a minor off-by-one error in librosa.beat.estimate_tempo. Brian McFee 
- #357 improved numerical stability of - librosa.decompose.hpss. Brian McFee
 
- New features
- #312 - librosa.segment.recurrence_matrixcan now construct sparse self-similarity matrices. Brian McFee
- #337 - librosa.segment.recurrence_matrixcan now produce weighted affinities and distances. Brian McFee
- #311 librosa.decompose.nl_filter implements several self-similarity based filtering operations including non-local means. Brian McFee 
- #320 - librosa.feature.chroma_censimplements chroma energy normalized statistics (CENS) features. Stefan Balke
- #354 - librosa.tempo_frequenciescomputes tempo (BPM) frequencies for autocorrelation and tempogram features. Brian McFee
- #355 - librosa.decompose.hpssnow supports harmonic-percussive-residual separation. CJ Carr, Brian McFee
- #357 - librosa.util.softmaskcomputes numerically stable soft masks. Brian McFee
 
- Other changes
- librosa.cqt,- librosa.hybrid_cqtparameter aggregate is now deprecated.
- Resampling is now handled by the - resampylibrary
- librosa.get_durationcan now operate directly on filenames as well as audio buffers and feature matrices.
- librosa.decompose.hpssno longer supports power=0.
 
v0.4.2
2016-02-20
- Bug fixes
- Support for matplotlib 1.5 color properties in the - librosa.displaymodule
- #308 Fixed a per-octave scaling error in - librosa.cqt. Brian McFee
 
- New features
- #279 - librosa.cqtnow provides complex-valued output with argument real=False. This will become the default behavior in subsequent releases.
- #288 - librosa.resamplenow supports multi-channel inputs. Brian McFee
- #295 librosa.display.frequency_ticks: like time_ticks. Ticks can now dynamically adapt to scale (mHz, Hz, KHz, MHz, GHz) and use automatic precision formatting (%g). Brian McFee 
 
- Other changes
- #277 improved documentation for OSX. Stefan Balke 
- #294 deprecated the FeatureExtractor object. Brian McFee 
- #300 added dependency version requirements to install script. Brian McFee 
- #302, #279 renamed the following parameters
- librosa.display.time_ticks: fmt is now time_fmt 
- librosa.feature.chroma_cqt: mode is now cqt_mode
- librosa.cqt, hybrid_cqt, pseudo_cqt,- librosa.filters.constant_q: resolution is now filter_scale
 
 
- #308 - librosa.cqtdefault filter_scale parameter is now 1 instead of 2.
 
v0.4.1
2015-10-17
- Bug fixes
- Improved safety check in CQT for invalid hop lengths 
- Fixed division by zero bug in librosa.pitch.pip_track 
- Fixed integer-type error in - librosa.util.pad_centeron numpy v1.10
- Fixed a context scoping error in - librosa.loadwith some audioread backends
- librosa.autocorrelatenow persists type for complex input
 
- New features
- librosa.clickssonifies timed events such as beats or onsets
- librosa.onset.onset_strength_multicomputes onset strength within multiple sub-bands
- librosa.feature.tempogramcomputes localized onset strength autocorrelation
- librosa.display.specshownow supports *_axis=’tempo’ for annotating tempo-scaled data
- librosa.fmtimplements the Fast Mellin Transform
 
- Other changes
- Rewrote librosa.display.waveplot for improved efficiency 
- librosa.decompose.deompose() now supports pre-trained transformation objects 
- Nullified side-effects of optional seaborn dependency 
- Moved feature.sync to - librosa.util.syncand expanded its functionality
- librosa.onset.onset_strengthand onset_strength_multi support superflux-style lag and max-filtering
- librosa.autocorrelatecan now operate along any axis of multi-dimensional input
- the - librosa.segmentmodule functions now support arbitrary target axis
- Added proper window normalization to - librosa.istftfor better reconstruction (PR #235).
- Standardized n_fft=2048 for piptrack, ifptrack (deprecated), and logfsgram (deprecated) 
- onset_strength parameter ‘centering’ has been deprecated and renamed to ‘center’ 
- onset_strength always trims to match the input spectrogram duration 
- added tests for piptrack 
- added test support for Python 3.5 
 
v0.4.0
2015-07-08
- Bug fixes
- Fixed alignment errors with offset and duration in load() 
- Fixed an edge-padding issue with decompose.hpss() which resulted in percussive noise leaking into the harmonic component. 
- Fixed stability issues with ifgram(), added options to suppress negative frequencies. 
- Fixed scaling and padding errors in feature.delta() 
- Fixed some errors in librosa.note_to_hz() string parsing 
- Added robust range detection for - librosa.display.cmap
- Fixed tick placement in - librosa.display.specshow
- Fixed a low-frequency filter alignment error in - librosa.cqt
- Added aliasing checks for - librosa.cqtfilterbanks
- Fixed corner cases in peak_pick 
- Fixed bugs in find_files() with negative slicing 
- Fixed tuning estimation errors 
- Fixed octave numbering in to conform to scientific pitch notation 
 
- New features
- python 3 compatibility 
- Deprecation and moved-function warnings 
- added norm=None option to util.normalize() 
- segment.recurrence_to_lag, lag_to_recurrence 
- core.hybrid_cqt() and core.pseudo_cqt() 
- segment.timelag_filter 
- Efficiency enhancements for cqt 
- Major rewrite and reformatting of documentation 
- Improvements to display.specshow: - added the lag axis format - added the tonnetz axis format - allow any combination of axis formats 
- effects.remix() 
- Added new time and frequency converters: - note_to_hz(), hz_to_note() - frames_to_samples(), samples_to_frames() - time_to_samples(), samples_to_time() 
- core.zero_crossings 
- util.match_events() 
- segment.subsegment() for segmentation refinement 
- Functional examples in almost all docstrings 
- improved numerical stability in normalize() 
- audio validation checks 
- to_mono() 
- librosa.cachefor storing pre-computed features
- Stereo output support in write_wav 
- Added new feature extraction functions: - feature.spectral_contrast - feature.spectral_bandwidth - feature.spectral_centroid - feature.spectral_rolloff - feature.poly_features - feature.rmse - feature.zero_crossing_rate - feature.tonnetz 
- Added display.waveplot 
 
- Other changes
- Internal refactoring and restructuring of submodules 
- Removed the chord module 
- input validation and better exception reporting for most functions 
- Changed the default colormaps in display 
- Changed default parameters in onset detection, beat tracking 
- Changed default parameters in cqt 
- filters.constant_q now returns filter lengths 
- Chroma now starts at C by default, instead of A 
- pad_center supports multi-dimensional input and axis parameter 
- switched from np.fft to - scipy.fftpackfor FFT operations
- changed all librosa-generated exception to a new class librosa.ParameterError 
 
- Deprecated functions
- util.buf_to_int 
- output.frames_csv 
- segment.structure_feature 
- filters.logfrequency 
- feature.logfsgram 
 
v0.3
v0.3.1
2015-02-18
- Bug fixes
- Fixed bug #117: - librosa.segment.agglomerativenow returns a numpy.ndarray instead of a list
- Fixed bug #115: off-by-one error in - librosa.loadwith fixed duration
- Fixed numerical underflow errors in - librosa.decompose.hpss
- Fixed bug #104: - librosa.decompose.hpssfailed with silent, complex-valued input
- Fixed bug #103: librosa.feature.estimate_tuning fails when no bins exceed the threshold 
 
- Features
- New function librosa.get_duration() computes the duration of an audio signal or spectrogram-like input matrix 
- librosa.util.pad_centernow accepts multi-dimensional input
 
- Other changes
- Adopted the ISC license 
- Python 3 compatibility via futurize 
- Fixed issue #102: segment.agglomerative no longer depends on the deprecated Ward module of sklearn; it now depends on the newer Agglomerative module. 
- Issue #108: set character encoding on all source files 
- Added dtype persistence for resample, stft, istft, and effects functions 
 
v0.3.0
2014-06-30
- Bug fixes
- Fixed numpy array indices to force integer values 
- librosa.util.framenow warns if the input data is non-contiguous
- Fixed a formatting error in librosa.display.time_ticks() 
- Added a warning if scikits.samplerate is not detected 
 
- Features
- New module librosa.chord for training chord recognition models 
- Parabolic interpolation piptracking librosa.feature.piptrack() 
- librosa.localmax() now supports multi-dimensional slicing 
- New example scripts 
- Improved documentation 
- Added the librosa.util.FeatureExtractor class, which allows librosa functions to act as feature extraction stages in - sklearn
- New module - librosa.effectsfor time-domain audio processing
- Added demo notebooks for the - librosa.effectsand librosa.util.FeatureExtractor
- Added a full-track audio example, librosa.util.example_audio_file() 
- Added peak-frequency sorting of basis elements in librosa.decompose.decompose() 
 
- Other changes
- Spectrogram frames are now centered, rather than left-aligned. This removes the need for window correction in librosa.frames_to_time() 
- Accelerated constant-Q transform librosa.cqt() 
- PEP8 compliance 
- Removed normalization from librosa.feature.logfsgram() 
- Efficiency improvements by ensuring memory contiguity 
- librosa.logamplitude() now supports functional reference power, in addition to scalar values 
- Improved librosa.feature.delta() 
- Additional padding options to librosa.feature.stack_memory() 
- librosa.cqtand librosa.feature.logfsgram now use the same parameter formats (fmin, n_bins, bins_per_octave).
- Updated demo notebook(s) to IPython 2.0 
- Moved perceptual_weighting() from - librosa.featureinto- librosa
- Moved stack_memory() from - librosa.segmentinto- librosa.feature
- Standardized librosa.output.annotation input format to match - mir_eval
- Standardized variable names (e.g., onset_envelope). 
 
v0.2
v0.2.1
2014-01-21
- Bug fixes
- fixed an off-by-one error in librosa.onset.onset_strength() 
- fixed a sign-flip error in librosa.output.write_wav() 
- removed all mutable object default parameters 
 
- Features
- added option centering to librosa.onset.onset_strength() to resolve frame-centering issues with sliding window STFT 
- added frame-center correction to librosa.frames_to_time() and librosa.time_to_frames() 
- added librosa.util.pad_center() 
- added librosa.output.annotation() 
- added librosa.output.times_csv() 
- accelerated librosa.stft() and ifgram() 
- added - librosa.util.framefor in-place signal framing
- librosa.beat.beat_tracknow supports user-supplied tempo
- added librosa.util.normalize() 
- added librosa.util.find_files() 
- added librosa.util.axis_sort() 
- new module: librosa.util() 
- librosa.filters.constant_qnow support padding
- added boolean input support for librosa.display.cmap() 
- speedup in librosa.cqt() 
 
- Other changes
- optimized default parameters for - librosa.onset.onset_detect
- set - librosa.filters.melparameter n_mels=128 by default
- librosa.feature.chromagram() and logfsgram() now use power instead of energy 
- librosa.display.specshow() with y_axis=’chroma’ now labels as pitch class 
- set - librosa.cqtparameter resolution=2 by default
- set librosa.feature.chromagram parameter octwidth=2 by default 
 
v0.2.0
2013-12-14
- Bug fixes
- fixed default librosa.stft, istft, ifgram to match specification 
- fixed a float->int bug in peak_pick 
- better memory efficiency 
- librosa.segment.recurrence_matrixcorrects for width suppression
- fixed a divide-by-0 error in the beat tracker 
- fixed a bug in tempo estimation with short windows 
- librosa.feature.sync now supports 1d arrays 
- fixed a bug in beat trimming 
- fixed a bug in - librosa.stftwhen calculating window size
- fixed - librosa.resampleto support stereo signals
 
- Features
- added filters option to cqt 
- added window function support to istft 
- added an IPython notebook demo 
- added librosa.features.delta for computing temporal difference features 
- new examples scripts: tuning, hpss 
- added optional trimming to librosa.segment.stack_memory 
- librosa.onset.onset_strengthnow takes generic spectrogram function feature
- compute reference power directly in librosa.logamplitude 
- color-blind-friendly default color maps in - librosa.display.cmap
- librosa.onset_strength now accepts an aggregator 
- added librosa.feature.perceptual_weighting 
- added tuning estimation to librosa.feature.chromagram 
- added - librosa.A_weighting
- vectorized frequency converters 
- added - librosa.cqt_frequenciesto get CQT frequencies
- librosa.cqtbasic constant-Q transform implementation
- librosa.filters.cq_to_chromato convert log-frequency to chroma
- added - librosa.fft_frequencies
- librosa.decompose.hpsscan now return masking matrices
- added reversal for librosa.segment.structure_feature 
- added - librosa.time_to_frames
- added cent notation to - librosa.midi_to_note
- added time-series or spectrogram input options to chromagram, logfsgram, melspectrogram, and mfcc 
- new module: - librosa.display
- librosa.output.segment_csv => librosa.output.frames_csv 
- migrated frequency converters to - librosa
- new module: - librosa.filters
- librosa.decompose.hpssnow supports complex-valued STFT matrices
- librosa.decompose.decompose() supports - sklearndecomposition objects
- added - librosa.phase_vocoder
- new module: - librosa.onset; migrated onset strength from- librosa.beat
- added librosa.pick_peaks 
- librosa.load() supports offset and duration parameters 
- librosa.magphase() to separate magnitude and phase from a complex matrix 
- new module: - librosa.segment
 
- Other changes
- onset_estimate_bpm => estimate_tempo 
- removed n_fft from librosa.istft() 
- librosa.mel_frequenciesreturns n_mels values by default
- changed default - librosa.decompose.hpsswindow to 31
- disabled onset de-trending by default in - librosa.onset.onset_strength
- added complex-value warning to - librosa.display.specshow
- broke compatibility with ifgram.m; librosa.ifgram now matches stft 
- changed default beat tracker settings 
- migrated hpss into - librosa.decompose
- changed default - librosa.decompose.hpsspower parameter to 2.0
- librosa.load() now returns single-precision by default 
- standardized n_fft=2048, hop_length=512 for most functions 
- refactored tempo estimator 
 
v0.1
Initial public release.