NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1269 most downloaded on PyPI
Python module for audio and music processing
Last release 1 months ago
11 Aug 2026
Release timing varies
gaps range from 9 days to 1.4 years
Nearly every release is documented
notes for 30 of 30 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
47 releases · first in 2013
Expire deprecations for 1.0 release by @bmcfee in #1963
This release is intended to stabilize the API from the long-running 0.x series.
A full changelog is available at https://librosa.org/doc//dev/changelog.html
A blog post on the 1.0 release gives a high level overview of the changes.
librosa._typing by @jorenham in #2035core.{convert,spectrum} and util.utils by @jorenham in #2039dtype_r2c and dtype_c2r typing in util.utils by @jorenham in #2043**/__init__.pyi re-exports by @jorenham in #2049ndarray return type annotations by @jorenham in #2050librosa.util.decorators by @jorenham in #2053ndarray return types by @jorenham in #2052librosa.beat by @jorenham in #2069Full Changelog: 0.11.0...1.0.0
One column per quarter.
#2059 librosa.display.legend_for_axes for generating legends for collections of axes. Brian McFee
#2034 librosa.display.highlight for generating path effects. Brian McFee
#2031 and #2032 librosa.loadx shortcut for loading example files. Brian McFee
#2012 librosa.display.multiplot for multichannel visualization. Brian McFee
#2004 librosa.feature.hybrid_tempogram . Gopesh Pandey
#1986 librosa.feature.metrogram . Daniel Fernandes , Ethan Cajetan Menezes , Valerian Coelho .
#1976 librosa.display.wavef0 for f0-displaced waveforms. Brian McFee
#1973 librosa.display.wavebars for simplified bar plots. Brian McFee
#1971 Inverted-mode display for librosa.display.waveshow . Brian McFee
#1967 oct3 display modes in librosa.display.specshow . Brian McFee
#1964 Signal mixing helpers librosa.to_mono (improved), librosa.to_stereo , librosa.to_multi . Brian McFee
#1958 librosa.sequence.path_to_steps to convert DTW paths to a step grid. Brian McFee
#1952 librosa.display.colorbar_db and colorbar_phase for creating colorbars. Brian McFee
#1936 librosa.display.specshow parameter vscale for value scaling. Brian McFee
#1927 Peak picking by dynamic programming. Brian McFee
#2080 Skip redundant abs computation in piptrack . Imrul Huda
#2072 librosa.display.specshow now uses a discrete BoundedNorm when visualizing boolean data. Brian McFee
#2066 librosa.cqt and librosa.vqt can infer the maximum number of bins automatically by setting n_bins=None . Brian McFee
#2058 Signal mixing helpers can operate on a pre-allocated out= array. ejwong
#2055 librosa.stream now supports in-place sample rate conversion. Brian McFee
#2051 decibel converts ( librosa.amplitude_to_db , librosa.power_to_db ) now support axes target parameter and support multichannel. Brian McFee
#2044 Improved handling of styling and legend entries for librosa.display.waveshow . Brian McFee
#2041 librosa.display.specshow now supports cmap_cyclic . Brian McFee
#2030 librosa.load and librosa.stream now support negative offset values. Brian McFee
#2028 and #2029 reduced import time. Brian McFee
#2007 Improved efficiency for Viterbi decoding. Brian McFee and AD
#1994 Migrate from sparse matrix to sparse array. Daniel Haas B
#1960 All rng= parameters are now SPEC07 compliant. Brian McFee
#1955 Warn on underflow in perceptual weighting calculation. Brian McFee
#1954 Diverging colormaps in specshow now use two-slope norms. Brian McFee
#1948 Frequency conversions now support NaN values. Brian McFee
#1931 Variable-rate phase vocoding. Brian McFee
#2087 Added a check for valid audio buffers in feature.rms . Kayvan Zaihiri
#2085 Fixed an incompatibility in librosa.util.nnls initialization by moving from np.linalg.pinv to scipy.linalg.pinv . Brian McFee
#2063 Fixed array bounds error on librosa.sequence.rqa with single-axis inputs. Suhas Holla Karkada Chandrashekar
#2039 Avoid promoting scalars to 0-d arrays. Joren Hammudoglu
#2026 Fixed error in label ordering for Tonnetz displays. Brian McFee
#1992 Fixed garbage collection error in librosa.display.waveshow . Daniel Haas B
#1947 Removed default quantization in note_to_hz . Brian McFee
#1968 Significantly expanded and restructured the documentation site. Brian McFee
#2068 Standardized docstring conventions for n_fft . Cameron Brooks
#2017 Improved contributing guidelines and AI agents policy. Brian McFee
#2009 Improved documentation for contributing guidelines. Petra Kuhnle
#2006 Improved documentation for frequency axis scaling in specshow. cookesan
#1979 Fixed figure layout in API examples. Haydn Lam
#1959 Fixed error in librosa.segment.subsegment example. Brian McFee
#1932 Fixed typo in mel_frequencies documentation. Fadel Akram
#2075 Updated documentation deployment action. Brian McFee
#2069 Precice dtype annotations in librosa.beat . Joren Hammudoglu
#2065 Updated GitHub actions. Brian McFee
#2060 Refactored frequency formatters in librosa.display . Brian McFee
#2054 Support matplotlib 3.11 in tests. Brian McFee
#2053 Fixed type annotations for decorators. Joren Hammudoglu
#2052 Improved return type annotations involving ndarray . Joren Hammudoglu
#2050 Include str dtype in ndarray type annotations. Joren Hammudoglu
#2049 Reformatted init.pyi exports. Joren Hammudoglu
#2047 Improved checking of documentation builds with ruff and numpydoc. Brian McFee
#2043 Improved typing for dtype converters. Joren Hammudoglu
#2037 Added missing type annotations. Joren Hammudoglu
#2036 and #2038 Modernized type annotations. Brian McFee
#2035 Modernized type annotation definitions. Joren Hammudoglu
#2027 Modernized linting. Brian McFee
#2025 Updated type annotation testing. Brian McFee
#2018 Adopted SPEC0 . Brian McFee
#1999 Support for Python 3.14. Brian McFee
#1980 Updated type annotations. Brian McFee
#1977 Fixed type annotations in beat tracking. emilazy
#1969 Refined gitignore . Ale Lloveras
#1962 Documentation builds in CI now store build artifacts. Brian McFee
#1946 Use scipy-stubs in tests. Joren Hammudoglu
#1936 Improved environment cache in tests. Brian McFee
#1925 Overhaul of test framework. Brian McFee
Expired deprecations
audioread backend
filename argument in librosa.stream
res_type=None in librosa.vqt
librosa.set_fftlib and librosa.get_fftlib
win_length parameter in yin and pyin
x_axis parameter in librosa.display.waveshow
librosa.filters.constant_q and librosa.filters.constant_q_lengths
librosa.display.cmap has been renamed to librosa.display.infer_cmap . The old name will be removed in version 1.1.
librosa.phase_vocoder no longer requires hop_length or n_fft parameters. These parameters are now ignored and will be removed in version 1.1.
librosa.griffinlim and griffinlim_cqt now accept rng= instead of random_state= . The old parameter name will be removed in version 1.2.
Expire deprecations for 1.0 release by @bmcfee in #1963
This is the first release candidate for the 1.0.0 release of librosa. This release is intended to stabilize the API from the long-running 0.x series.
A full changelog is available at https://librosa.org/doc//dev/changelog.html
librosa._typing by @jorenham in #2035core.{convert,spectrum} and util.utils by @jorenham in #2039dtype_r2c and dtype_c2r typing in util.utils by @jorenham in #2043**/__init__.pyi re-exports by @jorenham in #2049ndarray return type annotations by @jorenham in #2050librosa.util.decorators by @jorenham in #2053ndarray return types by @jorenham in #2052librosa.beat by @jorenham in #2069Full Changelog: 0.11.0...1.0.0rc0
Deprecate set_fftlib, update fftpack uses by @bmcfee in #1916
Full Changelog: 0.10.2...0.11.0
#1831 Numpy 2.0 is now supported.
#1898 Updated codecov action. Brian McFee
#1860 Updated GitHub issue templates. Brian McFee
#1921 Added linux-arm64 to the test matrix. Brian McFee
#1916 The default FFT backend has been changed from numpy to scipy .
#1864 Accelerated abs2 calculation on real-typed inputs. Brian McFee
#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
#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
#1916 librosa.set_fftlib is deprecated and will be removed in version 1.0. Users should transition to using scipy.fft.set_backend instead.
Expired deprecation of mono= parameter in util.valid_audio .
win_length parameter in yin and pyin
Deprecate set_fftlib, update fftpack uses by @bmcfee in #1916
This is the second pre-release for version 0.11.0.
Full python 3.13 support currently requires manually installing the following packages:
standard-aifcstandard-sunauWith pip, this can be done by calling python -m pip install standard-aifc standard-sunau.
This step is not required for python 3.12 or earlier.
Windows users with python 3.13 environments may encounter problems with the optional samplerate backend package for sample rate conversion. Other platforms are (to our knowledge) unaffected, as are earlier python versions on windows. Users who only use the default sample rate conversion settings should not be affected.
Full Changelog: 0.10.2.post1...0.11.0rc1
This is a pre-release for version 0.11.0.
This is a pre-release for version 0.11.0.
Full python 3.13 support currently requires manually installing the following packages:
standard-aifcstandard-sunauWith pip, this can be done by calling python -m pip install standard-aifc standard-sunau.
This step is not required for python 3.12 or earlier.
Full Changelog: 0.10.2...0.11.0rc0
Bump minimum matplotlib to 3.5.0 by @bmcfee in #1839
Full Changelog: 0.10.2...0.10.2.post1
#1839 Updated minimum matplotlib to 3.5.0. There are no changes to the code in this release, only package metadata and tests.
Avoid deprecated matplotlib functions by @bmcfee in #1755
writeable argument of util.frame function by @alvingao in #1780Full Changelog: 0.10.1...0.10.2
#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_pick now 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
#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
#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
#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
This release consists primarily of corrections to documentation and updates to tests and development environment specifications.
This release consists primarily of corrections to documentation and updates to tests and development environment specifications.
Full Changelog: 0.10.0...0.10.1
2023-08-16
#1677 Correct handling of octave boundaries in Variable-Q transform. Brian McFee
#1693 Stricter checks on yin and pyin parameters. Brian McFee
#1726 Enforce consistency of time-to-sample unit conversion. Brian McFee
#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
#1704 Added scale= parameter to effects.pitch_shift . Shin Hyun
#1722 Restructured lazy_loader usage of matplotlib. Brian McFee
#1727 Support pooch>=1.7.0 . Brian McFee
#1731 Update test suite to support scipy>=1.11 . Brian McFee
This maintenance release updates the dependency specifications to avoid an incompatibility with pooch >= 1.7.0. This restriction only affects loading
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.
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.
This maintenance release updates the dependency specifications to avoid an incompatibility with numpy versions 1.22.0, 1.22.1, and 1.22.2. Functionali
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.
0.10 positional argument deprecation removal and dev version bump by @bmcfee in https://github.com/librosa/librosa/pull/1521
This release provides many speedups and enhancements to core operations, faster importing and loading, and full type annotations.
A detailed changelog is provided below, and summarized at https://librosa.org/doc/main/changelog.html#v0-10-0
cmap in specshow docs by @kianelbo in https://github.com/librosa/librosa/pull/1563Full Changelog: https://github.com/librosa/librosa/compare/0.9.2...0.10.0
#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_matrix and librosa.segment.cross_similarity . Tom Xi
#1529 Accelerated utility functions for squared magnitude librosa.util.abs2 and librosa.util.phasor . Brian McFee
#1514 librosa.stft support for pre-allocated output arrays. Brian McFee
#1533 Accelerated librosa.util.localmax and librosa.util.localmin . Brian McFee
#1552 EXPERIMENTAL Support for just-intonation based variable-Q transforms librosa.vqt and 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_harmonics and tempogram ratio features librosa.feature.tempogram_ratio . Brian McFee
#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
#1561 librosa.resample now 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.ndarray outputs rather than list when given iterable inputs. Brian McFee
#1625 Deprecations now raise FutureWarning instead of DeprecationWarning .
#1625 librosa.get_duration parameter 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.rms on integer inputs. Brian McFee
#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.specshow documentation 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
#1521 Removed backward compatibility support for positional arguments that are now keyword-only. Brian McFee
#1577 Removed official support for python 3.6. Brian McFee
#1625 The audioread backend is now deprecated and will be removed in a future release. Brian McFee
#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.AdaptiveWaveplot to 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.yin implementation. Brian McFee
#1640 Updated display module dependencies to require matplotlib >= 3.3. Brian McFee
#1643 Accelerated librosa.zero_crossings implementation. Brian McFee
#1646 Added support for transposed (vertical) display of waveforms. Brian McFee
Second release candidate for 0.10.0.
Second release candidate for 0.10.0.
This RC includes some minor documentation updates and incremented the minimum supported python-soundfile to 0.12.1.
0.10 positional argument deprecation removal and dev version bump by @bmcfee in https://github.com/librosa/librosa/pull/1521
cmap in specshow docs by @kianelbo in https://github.com/librosa/librosa/pull/1563Full Changelog: https://github.com/librosa/librosa/compare/0.9.2...0.10.0rc0
switched submodule url to https in advance of git:// deprecation by @bmcfee in https://github.com/librosa/librosa/pull/1461
viterbi_discriminative by @bmcfee in https://github.com/librosa/librosa/pull/1475README.md file by @cr2007 in https://github.com/librosa/librosa/pull/1479magphase by @futurulus in https://github.com/librosa/librosa/pull/1504Full Changelog: https://github.com/librosa/librosa/compare/0.9.1...0.9.2
#1457 Fixed librosa.show_versions to match package dependencies. Brian McFee
#1493 Fixed a bug in librosa.effects.split when applied to multichannel data. Brian McFee
#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
#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
This minor release restores API compatibility for functions with positional arguments.
This minor release restores API compatibility for functions with positional arguments.
See https://librosa.org/doc/latest/changelog.html for details.
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.trim and librosa.effects.split has been corrected to reflect a semantic change in the ref parameter introduced by #1130 . Explicit ref values now measure amplitude rather than power.
This release introduces multichannel support and substantial number of bug fixes and enhancements.
This release introduces multichannel support and substantial number of bug fixes and enhancements.
See https://librosa.org/doc/main/changelog.html#v0-9-0 for a full list of changes.
2022-02-07
#1130 Nearly full support for multi-channel processing. Brian McFee, Daniel Faronbi, Iran Roman
#1331 Option to disable unicode characters in display functions. Brian McFee
#1441 Significantly expanded the library of example audio clips. Brian McFee
#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.load and librosa.stream can now operate directly on open soundfile objects. Brian McFee
#1414 librosa.display.specshow now uses centered coordinate grids. Brian McFee
#1398 librosa.iirt now exposes API control over resampling modes. Brian McFee
#1416 Removed deprecated functions librosa.display.waveplot and librosa.util.example_audio_file . Brian McFee
#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.deemphasis no longer modifies the input signal in-place. Brian McFee
#1375 librosa.util.frame now correctly works for arbitrary memory layouts and numbers of axes. Brian McFee
#1425 Fixed an off-by-one error in librosa.yin and 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
#1328 Retired the examples/ folder and expanded the Advanced Examples gallery. Brian McFee
#1427 Fixed docstring for librosa.reassigned_spectrogram . Fabian Keller
#418 librosa.cqt now 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
#1404 , #1406 Improved packaging configurations. Alex Malins
#1384 Fixed package configuration error for documentation builds. Adam Weiss
#1389 The mono parameter of librosa.util.valid_audio is deprecated and the default is now set to False . Brian McFee
#1405 CQT filter-bank constructors librosa.filters.constant_q are now deprecated in favor of librosa.filters.wavelet . Brian McFee, Vincent Lostanlen
First release candidate for 0.9.0 series.
First release candidate for 0.9.0 series.
This is primarily a bug-fix and maintenance release.
This is primarily a bug-fix and maintenance release.
New features include interactive waveform visualization, signal de-emphasis effect, and expanded resampling modes.
A full list of changes can be found at https://librosa.org/doc/main/changelog.html#v0-8-1
#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.resample now optionally supports soxr . Myungchul Keum
#1290 librosa.display.specshow fixed a bug in format and tick locations for CQT plots. Brian McFee
#1240 librosa.display.specshow now correctly infers fmax for mel frequency axes. Brian McFee, Bea Steers
#1311 librosa.filters.chroma fixed an error in how chromagrams were generated when n_chroma!=12 and base_c=True . Joon Lim
#1322 librosa.feature.inverse.mel_to_audio now infers hop_length by default in a way that is consistent with the rest of the package. Dan Ellis
#1341 librosa.onset.onset_detect no longer modifies user-provided onset envelopes. Brian McFee
#1211 fixed a broken link in the changelog. Pavel Campr
#1218 corrected an exception/warning message in librosa.stft when the frame length exceeds the input length. Frank Zalkow
#1237 fixed spelling errors in librosa.yin and librosa.pyin documentation. 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.stream documentation. Xinlu Zhuang
#1321 fixed a mismatched parenthesis in librosa.feature.mfcc documentation. Connor Guerrero
#1333 expanded documentation describing unsupported codecs in librosa.load . Brian McFee
#1312 librosa.display.specshow can 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.specshow is now future-proofed for matplotlib 3.5. Brian McFee
#1334 librosa.display.specshow now supports HTK-style Mel scaling. Brian McFee
#1335 , #1336 librosa.display.specshow now supports pitch notation (Western, Hindustani, and Carnatic) for STFT matrices. Paul Biberstein, Brian McFee
#1333 minimum version of soundfile has 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.display time-formatted axes now have enhanced precision at short time scales. Brian McFee
#1341 librosa.onset.onset_detect can now optionally disable normalization of the onset envelope. Brian McFee
librosa.display.waveplot is now deprecated in favor of librosa.display.waveshow .
Second release candidate for 0.8.1.
Second release candidate for 0.8.1.
First release candidate for 0.8.1.
First release candidate for 0.8.1.
This is primarily a bug-fix and maintenance release. A full list of changes can be found at https://librosa.org/doc/main/changelog.html#v0-8-1
First release of the 0.8 series.
First release of the 0.8 series.
Major changes include:
2020-07-22 New Features
librosa.hz_to_svara_c , librosa.hz_to_svara_h
librosa.midi_to_svara_c , librosa.midi_to_svara_h
librosa.note_to_svara_c , librosa.note_to_svara_h
librosa.list_mela , librosa.list_thaat
and librosa.display.specshow support.
#1063 librosa.yin and librosa.pyin for 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.dtw can 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.localmin for computing local minima. Brian McFee
Removed features and API changes
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
librosa.util.example_audio_file is now deprecated in favor of librosa.util.example .
#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
#1068 Corrections to librosa.effects.pitch_shift documentation. Keunwoo Choi
#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.frame to 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.specshow documentation. Brian McFee
#1182 librosa.display.specshow now returns a QuadMesh object, rather than the axes handle. Brian McFee
#1183 librosa.feature.chroma_cqt now uses higher CQT resolution by default. Brian McFee
#1183 librosa.feature.tonnetz can now pass-through arguments to librosa.feature.chroma_cqt . Brian McFee
#1186 librosa.display.cmap now returns binary colormaps for boolean data. Brian McFee
This is primarily a bug-fix release, and most likely the last release in the 0.7 series.
This is primarily a bug-fix release, and most likely the last release in the 0.7 series.
It includes fixes for errors in dynamic time warping (DTW) and RMS energy calculation, and several corrections to the documentation.
Inverse-liftering is now supported in MFCC inversion, and an implementation of mu-law companding has been added.
Please refer to the documentation for a full list of changes.
#1008 added liftering support to MFCC inversion. Ayoub Malek
#1021 added pathlib support to librosa.load . Stef van der Struijk
#1022 added “mu-law” compression and expansion (companding). Brian McFee
#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
#1038 removed math formatting from documentation. Vincent Lostanlen
#1042 corrected documentation for DTW. Eric Semeniuc
#1043 corrected typos in time-frequency reassignment spectrogram documentation. Scott Seyfarth
#1055 removed dct_type=None as an option in MFCC documentation. Brian McFee
#1050 expanded normalization modes in Mel basis construction. Brian McFee
This minor revision includes mainly bug fixes, but there are a few new features as well:
This minor revision includes mainly bug fixes, but there are a few new features as well:
Please refer to the documentation for a full list of changes.
#966 librosa.util.frame now supports multidimensional data. Includes a new helper function librosa.util.stack for 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.preemphasis and lifter= parameter in MFCC. Brian McFee
#949 librosa.util.shear utility for shear-transforming 2D arrays. Brian McFee
#926 librosa.reassigned_spectrogram : time-frequency reassigned spectrogram. Scott Seyfarth
#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.stream when operating on file-handle inputs. Carl Thome
#920 Fixed a boundary condition check in full-sequence DTW. Frank Zalkow
#976 Fixed a typo in librosa.stream documentation. 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
#1004 Expose frame parameters in librosa.onset and librosa.feature.chroma_stft functions. 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_audio now 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.griffinlim methods. Brian McFee
#949 Accelerated librosa.segment.lag_to_recurrence and 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
First release of the 0.7 series.
First release of the 0.7 series.
Major changes include streaming mode, feature inversion, faster decoding, more efficient spectral transformations, and numerous API enhancements.
2019-07-07
#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 audioread as 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.pcen Per-channel energy normalization (PCEN) now allows logarithmic range compression at the limit power->0. Vincent Lostanlen
#863 librosa.effects.pitch_shift supports custom resampling modes. Taewoon Kim
#857 librosa.cqt and librosa.icqt Forward 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_matrix now supports a keyword argument, self=False . If set to True , the recurrence matrix includes self-loops. Brian McFee
#776 librosa.piptrack now 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_multi now supports a user-specified reference spectrum via the ref keyword argument. Brian McFee
#576 librosa.resample now 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
#900 librosa.effects.pitch_shift now preserves length. Vincent Lostanlen
#891 librosa.pcen Dynamic 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.dtw Fixed a bug in dynamic time warping when subseq=True . Viktor Andreevitch Morozov
#851 librosa.pcen now 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.icqt Inverse constant-Q transform has been completely rewritten and is more numerically stable. Brian McFee
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.
#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
#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 scipy mode. 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.load no 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
First release candidate of the 0.7 series.
First release candidate of the 0.7 series.
Major changes include streaming mode, faster decoding, more efficient spectral transformations, and numerous API enhancements.
This release contains a few minor bugfixes and many improvements to documentation and usability.
This release contains a few minor bugfixes and many improvements to documentation and usability.
#806 Fixed a bug in librosa.estimate_tuning . @robrib, Monsij Biswal, Brian McFee
#799 Enhanced stability of elliptical filter implementation in iirt . Frank Zalkow
#766 made smoothing optional in librosa.feature.chroma_cens . Kyungyun Lee
#760 allow explicit units for time axis decoration in librosa.display . Kyungyun Lee
#813 updated librosa.load documentation 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 imp module. 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
This minor release adds support for joblib>=0.12, and introduces new signal and time-grid generation functions.
This minor release adds support for joblib>=0.12, and introduces new signal and time-grid generation functions.
#730 Fixed cache support for joblib>=0.12 . Matt Vollrath
#735 Added librosa.times_like and librosa.samples_like to generate time and sample indices corresponding to an existing feature matrix or shape specification. Steve Tjoa
#750 , #753 Added librosa.tone and librosa.chirp signal generators. Ziyao Wei
#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
0.6.1 final release. This contains no substantial changes from 0.6.1rc0.
0.6.1 final release. This contains no substantial changes from 0.6.1rc0.
The major changes from 0.6.0 include:
librosa.sequence for Viterbi decodinglibrosa.pcen())As well as numerous bug-fixes and acceleration enhancements.
#677 librosa.util.find_files now correctly de-duplicates files on case-insensitive platforms. Brian McFee
#713 librosa.util.valid_intervals now checks for non-negative durations. Brian McFee, Dana Lee
#714 librosa.util.match_intervals can now explicitly fail when no matches are possible. Brian McFee, Dana Lee
#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.display functions now accept target axes. Pius Friesch
#688 numba-accelerated librosa.util.match_events . Dana Lee
#710 librosa.sequence module and Viterbi decoding for generative, discriminative, and multi-label hidden Markov models. Brian McFee
#714 librosa.util.match_intervals now supports tie-breaking for disjoint query intervals. Brian McFee
#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.stft and librosa.ifgram . Keunwoo Choi
#699 , #701 corrected documentation for librosa.filters.semitone_filterbank and 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_intervals matching logic has changed from raw intersection to Jaccard similarity. Brian McFee
#716 librosa.dtw has moved to librosa.sequence.dtw , and librosa.fill_off_diagonal has moved to librosa.util.fill_off_diagonal . Brian McFee
First release candidate for 0.6.1.
First release candidate for 0.6.1.
This is primarily a bugfix release, though two new features have been added: per-channel energy normalization (pcen) and Viterbi decoding (librosa.sequence module).
The 0.6.0 release contains no changes from the rc1 release candidate.
The 0.6.0 release contains no changes from the rc1 release candidate.
A full list of changes is provided in the release notes.
#663 fixed alignment errors in librosa.feature.delta . Brian McFee
#646 librosa.effects.trim now correctly handles all-zeros signals. Rimvydas Naktinis
#634 librosa.stft now conjugates the correct half of the spectrum. Brian McFee
#630 fixed display decoration errors with cqt_note mode. Brian McFee
#619 librosa.effects.split no longer returns out-of-bound sample indices. Brian McFee
#616 Improved librosa.util.valid_audio to 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.stft properly checks for valid input signals. Erik Peterson
#587 librosa.show_versions now shows correct module names. Ryuichi Yamamoto
#648 librosa.feature.spectral_flatness . Keunwoo Choi
#633 librosa.feature.tempogram now supports multi-band analysis. Brian McFee
#439 librosa.iirt implements the multi-rate filterbank from Chroma Toolbox. Stefan Balke
#435 librosa.icqt inverse constant-Q transform (unstable). Brian McFee
#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.normalize now 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_midi documentation 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
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
trim= parameter to feature.delta
#616 write_wav no longer supports integer-typed waveforms. This is due to enforcing consistency with librosa.util.valid_audio checks elsewhere in the codebase. If you have existing code that requires integer-valued output, consider using soundfile.write instead.
Second release candidate for 0.6.0. Compared to rc0, this release includes minor documentation fixes and improvements to error messages.
Second release candidate for 0.6.0. Compared to rc0, this release includes minor documentation fixes and improvements to error messages.
First release candidate for 0.6.
First release candidate for 0.6.
This is a major revision, and contains numerous bugfixes and some small API changes that break backward compatibility with the 0.5 series. A full changelog is provided in the documentation.
This is primarily a bug fix release, with a few new features and expanded API.
This is primarily a bug fix release, with a few new features and expanded API.
#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_cens to support scipy >=0.19. Brian McFee
#565 librosa.feature.stack_memory now 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
#569 librosa.feature.rmse now centers frames in the time-domain by default. Brian McFee
#564 librosa.display.specshow now 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
amplitude conversions. This deprecates logamplitude . Brian McFee
#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
#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
#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
core.peak_peak to util.peak_pick
core.localmax to util.localmax
feature.sync to util.sync
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
librosa.cqt : resolution
librosa.cqt : aggregate
feature.chroma_cqt : mode
onset_strength : centering
The use_sns argument has been removed from display.cmap
magma is now the default sequential colormap.
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 .
First release candidate for 0.5.0.
First release candidate for 0.5.0.
Other changes - librosa.cqt , librosa.hybrid_cqt parameter aggregate is now deprecated.
#315 fixed a positioning error in librosa.display.specshow with logarithmic axes. Brian McFee
#332 librosa.cqt now throws an exception if the signal is too short for analysis. Brian McFee
#341 librosa.hybrid_cqt properly matches the scale of librosa.cqt . Brian McFee
#348 librosa.cqt fixed 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
#312 librosa.segment.recurrence_matrix can now construct sparse self-similarity matrices. Brian McFee
#337 librosa.segment.recurrence_matrix can 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_cens implements chroma energy normalized statistics (CENS) features. Stefan Balke
#354 librosa.tempo_frequencies computes tempo (BPM) frequencies for autocorrelation and tempogram features. Brian McFee
#355 librosa.decompose.hpss now supports harmonic-percussive-residual separation. CJ Carr, Brian McFee
#357 librosa.util.softmask computes numerically stable soft masks. Brian McFee
librosa.cqt , librosa.hybrid_cqt parameter aggregate is now deprecated.
Resampling is now handled by the resampy library
librosa.get_duration can now operate directly on filenames as well as audio buffers and feature matrices.
librosa.decompose.hpss no longer supports power=0 .
First release candidate for 0.4.3
First release candidate for 0.4.3
This minor revision fixes issues with matplotlib 1.5 compatibility and scaling of the constant-Q transform.
This minor revision fixes issues with matplotlib 1.5 compatibility and scaling of the constant-Q transform.
Support for matplotlib 1.5 color properties in the librosa.display module
#308 Fixed a per-octave scaling error in librosa.cqt . Brian McFee
#279 librosa.cqt now provides complex-valued output with argument real=False . This will become the default behavior in subsequent releases.
#288 librosa.resample now 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
#277 improved documentation for OSX. Stefan Balke
#294 deprecated the FeatureExtractor object. Brian McFee
#300 added dependency version requirements to install script. Brian McFee
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.cqt default filter_scale parameter is now 1 instead of 2.
This minor revision expands the rhythm analysis functionality, and fixes several small bugs.
This minor revision expands the rhythm analysis functionality, and fixes several small bugs.
It is also the first release to officially support Python 3.5.
For a complete list of changes, refer to the CHANGELOG.
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_center on numpy v1.10
Fixed a context scoping error in librosa.load with some audioread backends
librosa.autocorrelate now persists type for complex input
librosa.clicks sonifies timed events such as beats or onsets
librosa.onset.onset_strength_multi computes onset strength within multiple sub-bands
librosa.feature.tempogram computes localized onset strength autocorrelation
librosa.display.specshow now supports *_axis=’tempo’ for annotating tempo-scaled data
librosa.fmt implements the Fast Mellin Transform
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.sync and expanded its functionality
librosa.onset.onset_strength and onset_strength_multi support superflux-style lag and max-filtering
librosa.autocorrelate can now operate along any axis of multi-dimensional input
the librosa.segment module functions now support arbitrary target axis
Added proper window normalization to librosa.istft for 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
First release candidate for 0.4.1.
First release candidate for 0.4.1.
- Deprecation and moved-function warnings
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.cqt filterbanks
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
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.cache for 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
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.fftpack for FFT operations
changed all librosa-generated exception to a new class librosa.ParameterError
util.buf_to_int
output.frames_csv
segment.structure_feature
filters.logfrequency
feature.logfsgram
Second release candidate for 0.4.0
Second release candidate for 0.4.0
Nothing published for this version
- Fixed issue #102: segment.agglomerative no longer depends on the deprecated Ward module of sklearn; it now depends on the newer Agglomerative module…
Fixed bug #117: librosa.segment.agglomerative now returns a numpy.ndarray instead of a list
Fixed bug #115: off-by-one error in librosa.load with fixed duration
Fixed numerical underflow errors in librosa.decompose.hpss
Fixed bug #104: librosa.decompose.hpss failed with silent, complex-valued input
Fixed bug #103: librosa.feature.estimate_tuning fails when no bins exceed the threshold
New function librosa.get_duration() computes the duration of an audio signal or spectrogram-like input matrix
librosa.util.pad_center now accepts multi-dimensional input
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
2014-06-30 Bug fixes - Fixed numpy array indices to force integer values
Fixed numpy array indices to force integer values
librosa.util.frame now 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
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.effects for time-domain audio processing
Added demo notebooks for the librosa.effects and 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()
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.cqt and 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.feature into librosa
Moved stack_memory() from librosa.segment into librosa.feature
Standardized librosa.output.annotation input format to match mir_eval
Standardized variable names (e.g., onset_envelope ).
2014-01-21 Bug fixes - fixed an off-by-one error in librosa.onset.onset_strength()
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
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.frame for in-place signal framing
librosa.beat.beat_track now 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_q now support padding
added boolean input support for librosa.display.cmap()
speedup in librosa.cqt()
optimized default parameters for librosa.onset.onset_detect
set librosa.filters.mel parameter 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.cqt parameter resolution=2 by default
set librosa.feature.chromagram parameter octwidth=2 by default
2013-12-14 Bug fixes - fixed default librosa.stft, istft, ifgram to match specification
fixed default librosa.stft, istft, ifgram to match specification
fixed a float->int bug in peak_pick
better memory efficiency
librosa.segment.recurrence_matrix corrects 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.stft when calculating window size
fixed librosa.resample to support stereo signals
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_strength now 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_frequencies to get CQT frequencies
librosa.cqt basic constant-Q transform implementation
librosa.filters.cq_to_chroma to convert log-frequency to chroma
added librosa.fft_frequencies
librosa.decompose.hpss can 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.hpss now supports complex-valued STFT matrices
librosa.decompose.decompose() supports sklearn decomposition 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
onset_estimate_bpm => estimate_tempo
removed n_fft from librosa.istft()
librosa.mel_frequencies returns n_mels values by default
changed default librosa.decompose.hpss window 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.hpss power 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
Initial public release.
On this page
Your coding agent can read these notes before it upgrades. Set up the MCP server →