Caution
You're reading an old version of this documentation. If you want up-to-date information, please have a look at 0.9.1.
Changelog¶
v0.7.2¶
2020-01-13
- New Features
- Bug fixes
- Documentation
- Other changes
#1050 expanded normalization modes in Mel basis construction. Brian McFee
v0.7.1¶
2019-10-09
- New Features
#966 util.frame now supports multidimensional data. Includes a new helper function util.stack for contiguous concatenation. Brian McFee
#934 core.griffinlim_cqt: Phase retrieval from constant-Q magnitude spectra. Brian McFee
#940 Enhanced compatibility with HTK’s MFCC implementation: effects.preemphasis and lifter= parameter in MFCC. Brian McFee
#949 util.shear utility for shear-transforming 2D arrays. Brian McFee
#926 core.reassigned_spectrogram: time-frequency reassigned spectrogram. Scott Seyfarth
- Bug fixes
#983 Added a missing parameter to 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
- Other changes
#1004 Expose frame parameters in onset and 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 util.valid_audio now enforces memory contiguity. Vincent Lostanlen
#963 Improved x-axis decoration types in display.waveplot. Vincent Lostanlen
#960 Ensure memory contiguity of audio buffers after resampling. Brian McFee
#957 Code-base audit for proper usage of times_like. Brian McFee
#953 Deprecated core.ifgram in favor of reassigned_spectrogram. Brian McFee
#950 Allow initial phase estimates for griffinlim methods. Brian McFee
#949 Accelerated segment.lag_to_recurrence and segment.recurrence_to_lag. Deprecated 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.core.stream: Stream generator to process long audio files into smaller pieces. Brian McFee#845
librosa.core.load: Replaced the default audio decoder with pysoundfile, and only useaudioreadas backup. Brian McFee#843
librosa.core.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.core.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.core.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.core.cqtandlibrosa.core.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.core.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.core.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.core.pcenDynamic range compression in PCEN is more numerically stable for small values of the exponent. Vincent Lostanlen#888
librosa.core.ifgramInstantaneous 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.core.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.core.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.dctThe 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.core.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.core.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.3¶
2019-02-13
- Bug fixes
- New features
- Other changes
#813 updated core.load documentation to cover bit depth truncation. Andy Sarroff
#805 updated documentation for core.localmax. Brian McFee
#801 renamed feature.rmse to feature.rms. @nullmightybofo
#793 updated comments in 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 core.istft. Shayenne Moura
v0.6.2¶
2018-08-09
- Bug fixes
#730 Fixed cache support for
joblib>=0.12. Matt Vollrath
- New features
- Other changes
#727 updated documentation for core.get_duration. Zhen Wang
#731 fixed a typo in documentation for core.fft_frequencies. Ziyao Wei
#734 expanded documentation for 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
- New features
#679, #708 core.pcen, per-channel energy normalization. Vincent Lostanlen, Brian McFee
#682 added different DCT modes to feature.mfcc. Brian McFee
#687 display functions now accept target axes. Pius Friesch
#688 numba-accelerated util.match_events. Dana Lee
#710 sequence module and Viterbi decoding for generative, discriminative, and multi-label hidden Markov models. Brian McFee
#714 util.match_intervals now 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 core.stft and core.ifgram. Keunwoo Choi
#699, #701 corrected documentation for filters.semitone_filterbank and filters.mel_frequencies. Vincent Lostanlen
#704 eliminated unnecessary side-effects when importing display. Brian McFee
#707 improved test coverage for dynamic time warping. Brian McFee
#714 util.match_intervals matching logic has changed from raw intersection to Jaccard similarity. Brian McFee
- API Changes and compatibility
#716 core.dtw has moved to sequence.dtw, and core.fill_off_diagonal has moved to util.fill_off_diagonal. Brian McFee
v0.6.0¶
2018-02-17
- Bug fixes
#663 fixed alignment errors in feature.delta. Brian McFee
#646 effects.trim now correctly handles all-zeros signals. Rimvydas Naktinis
#634 stft now conjugates the correct half of the spectrum. Brian McFee
#630 fixed display decoration errors with cqt_note mode. Brian McFee
#619 effects.split no longer returns out-of-bound sample indices. Brian McFee
#616 Improved 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 display.specshow. Brian McFee
#594 dtw fixed a bug which ignored weights when step_sizes_sigma did not match length. Jackie Wu
#593 stft properly checks for valid input signals. Erik Peterson
#587 show_versions now shows correct module names. Ryuichi Yamamoto
- New features
- 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 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 util.normalize now preserves data type. Brian McFee
#632 refined the validation requirements for 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 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 segment.recurrence_matrix. Julia Wilkins
#598 Improved efficiency of 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
core.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 util.valid_audio checks elsewhere in the codebase. If you have existing code that requires integer-valued output, consider using
soundfile.writeinstead.
v0.5.1¶
2017-05-08
- Bug fixes
- New features
- Other changes
#569 feature.rmse now centers frames in the time-domain by default. Brian McFee
#564 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
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_wavonly 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
pitch_tuning. Hojin Lee
- New features
#323
librosa.dtwdynamic 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_trackandlibrosa.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.trimandlibrosa.effects.splitfor trimming and splitting waveforms. Brian McFee#464
librosa.amplitude_to_db,db_to_amplitude,power_to_db, anddb_to_powerfor amplitude conversions. This deprecateslogamplitude. Brian McFee#471
librosa.util.normalizenow supportsthresholdandfill_valuearguments. Brian McFee#472
librosa.feature.melspectrogramnow supportspowerargument. Keunwoo Choi#473
librosa.onset.onset_backtrackfor backtracking onset events to previous local minima of energy. Brian McFee#479
librosa.beat.temporeplaceslibrosa.beat.estimate_tempo, supports time-varying estimation. Brian McFee
- Other changes
#352 removed
seabornintegration. 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.rmsecan now compute directly in the time domain. Carl Thome#432
librosa.feature.rmserenamesn_ffttoframe_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 supportsres_typeargument 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_peaktoutil.peak_pickcore.localmaxtoutil.localmaxfeature.synctoutil.sync
- The following functions, classes, and constants have been removed:
core.ifptrackfeature.chromagramfeature.logfsgramfilters.logfrequencyoutput.frames_csvsegment.structure_Featuredisplay.time_ticksutil.FeatureExtractorutil.buf_to_intutil.SMALL_FLOAT
- The following parameters have been removed:
librosa.cqt: resolutionlibrosa.cqt: aggregatefeature.chroma_cqt: modeonset_strength: centering
- Seaborn integration has been removed, and the
displaysubmodule now requires matplotlib >= 1.5. The use_sns argument has been removed from display.cmap
magma is now the default sequential colormap.
- Seaborn integration has been removed, and the
- 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_windowwrapsscipy.signal.get_window, and handles generic callables as well pre-registered window functions. All windowed analyses (e.g.,stft,cqt, ortempogram) now support the full range of window functions and parameteric windows via tuple parameters, e.g.,window=('kaiser', 4.0).stftwindows are now explicitly asymmetric by default, which breaks backwards compatibility with the 0.4 series.cqtnow returns properly scaled outputs that are continuous across octave boundaries. This breaks backwards compatibility with the 0.4 series.cqtnow 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).logamplitudeis deprecated in favor ofamplitude_to_dborpower_to_db. The ref_power parameter has been renamed to ref.
v0.4.3¶
2016-05-17
- Bug fixes
#315 fixed a positioning error in
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 oflibrosa.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_filterimplements 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.core.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
resampylibrarylibrosa.get_durationcan now operate directly on filenames as well as audio buffers and feature matrices.librosa.decompose.hpssno longer supportspower=0.
v0.4.2¶
2016-02-20
- Bug fixes
Support for matplotlib 1.5 color properties in the
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
core.resamplenow supports multi-channel inputs. Brian McFee#295
librosa.display.frequency_ticks: liketime_ticks. Ticks can now dynamically adapt to scale (mHz, Hz, KHz, MHz, GHz) and use automatic precision formatting (%g). Brian McFee
- Other changes
v0.4.1¶
2015-10-17
- Bug fixes
Improved safety check in CQT for invalid hop lengths
Fixed division by zero bug in
core.pitch.pip_trackFixed integer-type error in
util.pad_centeron numpy v1.10Fixed a context scoping error in
librosa.loadwith some audioread backendslibrosa.autocorrelatenow persists type for complex input
- New features
librosa.clickssonifies timed events such as beats or onsetslibrosa.onset.onset_strength_multicomputes onset strength within multiple sub-bandslibrosa.feature.tempogramcomputes localized onset strength autocorrelationlibrosa.display.specshownow supports*_axis='tempo'for annotating tempo-scaled datalibrosa.fmtimplements the Fast Mellin Transform
- Other changes
Rewrote
display.waveplotfor improved efficiencydecompose.deompose()now supports pre-trained transformation objectsNullified side-effects of optional seaborn dependency
Moved
feature.synctoutil.syncand expanded its functionalitylibrosa.onset.onset_strengthandonset_strength_multisupport superflux-style lag and max-filteringlibrosa.core.autocorrelatecan now operate along any axis of multi-dimensional inputthe
segmentmodule functions now support arbitrary target axisAdded proper window normalization to
librosa.core.istftfor better reconstruction (PR #235).Standardized
n_fft=2048forpiptrack,ifptrack(deprecated), andlogfsgram(deprecated)onset_strengthparameter'centering'has been deprecated and renamed to'center'onset_strengthalways trims to match the input spectrogram durationadded tests for
piptrackadded test support for Python 3.5
v0.4.0¶
2015-07-08
- Bug fixes
Fixed alignment errors with
offsetanddurationinload()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
note_to_hz()string parsingAdded robust range detection for
display.cmapFixed tick placement in
display.specshowFixed a low-frequency filter alignment error in
cqtAdded aliasing checks for
cqtfilterbanksFixed corner cases in
peak_pickFixed bugs in
find_files()with negative slicingFixed 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=Noneoption toutil.normalize()segment.recurrence_to_lag,lag_to_recurrencecore.hybrid_cqt()andcore.pseudo_cqt()segment.timelag_filterEfficiency enhancements for
cqtMajor rewrite and reformatting of documentation
Improvements to
display.specshow: - added thelagaxis format - added thetonnetzaxis format - allow any combination of axis formatseffects.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_crossingsutil.match_events()segment.subsegment()for segmentation refinementFunctional examples in almost all docstrings
improved numerical stability in
normalize()audio validation checks
to_mono()librosa.cachefor storing pre-computed featuresStereo output support in
write_wavAdded 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.tonnetzAdded
display.waveplot
- Other changes
Internal refactoring and restructuring of submodules
Removed the
chordmoduleinput validation and better exception reporting for most functions
Changed the default colormaps in
displayChanged default parameters in onset detection, beat tracking
Changed default parameters in
cqtfilters.constant_qnow returns filter lengthsChroma now starts at
Cby default, instead ofApad_centersupports multi-dimensional input andaxisparameterswitched from
np.ffttoscipy.fftpackfor FFT operationschanged all librosa-generated exception to a new class librosa.ParameterError
- Deprecated functions
util.buf_to_intoutput.frames_csvsegment.structure_featurefilters.logfrequencyfeature.logfsgram
v0.3.1¶
2015-02-18
- Bug fixes
Fixed bug #117:
librosa.segment.agglomerativenow returns a numpy.ndarray instead of a listFixed bug #115: off-by-one error in
librosa.core.loadwith fixed durationFixed numerical underflow errors in
librosa.decompose.hpssFixed bug #104:
librosa.decompose.hpssfailed with silent, complex-valued inputFixed bug #103:
librosa.feature.estimate_tuningfails when no bins exceed the threshold
- Features
New function
librosa.core.get_duration()computes the duration of an audio signal or spectrogram-like input matrixlibrosa.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-contiguousFixed a formatting error in
librosa.display.time_ticks()Added a warning if
scikits.samplerateis not detected
- Features
New module
librosa.chordfor training chord recognition modelsParabolic interpolation piptracking
librosa.feature.piptrack()librosa.localmax()now supports multi-dimensional slicingNew example scripts
Improved documentation
Added the
librosa.util.FeatureExtractorclass, which allows librosa functions to act as feature extraction stages insklearnNew module
librosa.effectsfor time-domain audio processingAdded demo notebooks for the
librosa.effectsandlibrosa.util.FeatureExtractorAdded 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 valuesImproved
librosa.feature.delta()Additional padding options to
librosa.feature.stack_memory()librosa.cqtandlibrosa.feature.logfsgramnow use the same parameter formats(fmin, n_bins, bins_per_octave).Updated demo notebook(s) to IPython 2.0
Moved
perceptual_weighting()fromlibrosa.featureintolibrosa.coreMoved
stack_memory()fromlibrosa.segmentintolibrosa.featureStandardized
librosa.output.annotationinput format to matchmir_evalStandardized variable names (e.g.,
onset_envelope).
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
centeringtolibrosa.onset.onset_strength()to resolve frame-centering issues with sliding window STFTadded frame-center correction to
librosa.core.frames_to_time()andlibrosa.core.time_to_frames()added
librosa.util.pad_center()added
librosa.output.annotation()added
librosa.output.times_csv()accelerated
librosa.core.stft()andifgram()added
librosa.util.framefor in-place signal framinglibrosa.beat.beat_tracknow supports user-supplied tempoadded
librosa.util.normalize()added
librosa.util.find_files()added
librosa.util.axis_sort()new module:
librosa.util()librosa.filters.constant_qnow support paddingadded boolean input support for
librosa.display.cmap()speedup in
librosa.core.cqt()
- Other changes
optimized default parameters for
librosa.onset.onset_detectset
librosa.filters.melparametern_mels=128by defaultlibrosa.feature.chromagram()andlogfsgram()now use power instead of energylibrosa.display.specshow()withy_axis='chroma'now labels aspitch classset
librosa.core.cqtparameterresolution=2by defaultset
librosa.feature.chromagramparameteroctwidth=2by default
v0.2.0¶
2013-12-14
- Bug fixes
fixed default
librosa.core.stft, istft, ifgramto match specificationfixed a float->int bug in peak_pick
better memory efficiency
librosa.segment.recurrence_matrixcorrects for width suppressionfixed a divide-by-0 error in the beat tracker
fixed a bug in tempo estimation with short windows
librosa.feature.syncnow supports 1d arraysfixed a bug in beat trimming
fixed a bug in
librosa.core.stftwhen calculating window sizefixed
librosa.core.resampleto support stereo signals
- Features
added filters option to cqt
added window function support to istft
added an IPython notebook demo
added
librosa.features.deltafor computing temporal difference featuresnew
examplesscripts: tuning, hpssadded optional trimming to
librosa.segment.stack_memorylibrosa.onset.onset_strengthnow takes generic spectrogram functionfeaturecompute reference power directly in
librosa.core.logamplitudecolor-blind-friendly default color maps in
librosa.display.cmaplibrosa.core.onset_strengthnow accepts an aggregatoradded
librosa.feature.perceptual_weightingadded tuning estimation to
librosa.feature.chromagramadded
librosa.core.A_weightingvectorized frequency converters
added
librosa.core.cqt_frequenciesto get CQT frequencieslibrosa.core.cqtbasic constant-Q transform implementationlibrosa.filters.cq_to_chromato convert log-frequency to chromaadded
librosa.core.fft_frequencieslibrosa.decompose.hpsscan now return masking matricesadded reversal for
librosa.segment.structure_featureadded
librosa.core.time_to_framesadded cent notation to
librosa.core.midi_to_noteadded time-series or spectrogram input options to
chromagram,logfsgram,melspectrogram, andmfccnew module:
librosa.displaylibrosa.output.segment_csv=>librosa.output.frames_csvmigrated frequency converters to
librosa.corenew module:
librosa.filterslibrosa.decompose.hpssnow supports complex-valued STFT matriceslibrosa.decompose.decompose()supportssklearndecomposition objectsadded
librosa.core.phase_vocodernew module:
librosa.onset; migrated onset strength fromlibrosa.beatadded
librosa.core.pick_peakslibrosa.core.load()supports offset and duration parameterslibrosa.core.magphase()to separate magnitude and phase from a complex matrixnew module:
librosa.segment
- Other changes
onset_estimate_bpm => estimate_temporemoved
n_fftfromlibrosa.core.istft()librosa.core.mel_frequenciesreturnsn_melsvalues by defaultchanged default
librosa.decompose.hpsswindow to 31disabled onset de-trending by default in
librosa.onset.onset_strengthadded complex-value warning to
librosa.display.specshowbroke compatibilty with
ifgram.m;librosa.core.ifgramnow matchesstftchanged default beat tracker settings
migrated
hpssintolibrosa.decomposechanged default
librosa.decompose.hpsspower parameter to2.0librosa.core.load()now returns single-precision by defaultstandardized
n_fft=2048,hop_length=512for most functionsrefactored tempo estimator
v0.1.0¶
Initial public release.