From c5ec7f45679ad7f4b61e212cd6ed311aaf9d8c16cee76a0b7247c060bd1961a6 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 20 Sep 2024 22:16:02 +0000 Subject: [PATCH 1/6] - Update to 0.10.2.post1: - Bump minimum matplotlib to 3.5.0 - Update to 0.10.2.post1: - Multiple accidentals by @erabinov in #1739 - Avoid deprecated matplotlib functions by @bmcfee in #1755 - Mode support by @erabinov in #1756 - Mode support by @erabinov in #1762 - Switch from pkg_resources to importlib.resources by @mattpitkin in #1765 - Add python 3.11 to build matrix by @bmcfee in #1769 - Natural accidentals for out-of-key notes by @erabinov in #1770 - Fix docstring for the writeable argument of util.frame function by @alvingao in #1780 - Update test_util.py to remove problematic "dummy". by @dpwe in #1783 - Updates matplotlib colormap usage to remove deprecation warnings. by @psmskelton in #1782 - Better handling of warnings in test suite by @bmcfee in #1784 - Fix sample rate type annotations by @bmcfee in #1789 - Explicitly allow scalars in decibel conversion by @bmcfee in #1790 - Adding python 3.12 to build matrix, update tests for recent scipy / numpy by @bmcfee in #1808 - Resolve the performance issue of autocorrelate by @alumkal in #1813 - Correct phase advance for odd frame lengths in phase_vocoder by @bmcfee in #1814 - Multichannel peak, onset, and beat detection by @bmcfee in #1766 - Update actions for 2024 by @bmcfee in #1820 - doc copybutton, CI updates by @bmcfee in #1821 - exposed tempo min and max parameters in specshow by @bmcfee in #1822 - remove kwargs from effects.hpss and friends, passthru stft by @bmcfee in #1826 - Docstring and comment improvements by @bmcfee in #1827 - librosa.cite() by @bmcfee in #1829 - 0.10.2 release prep by @bmcfee in #1832 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-librosa?expand=0&rev=48 --- .gitattributes | 23 ++ .gitignore | 1 + _constraints | 7 + librosa-0.10.1.tar.gz | 3 + librosa-0.10.2.post1.tar.gz | 3 + librosa-create-pooch-cache.py | 47 +++ librosa-pooch-cache.tar.gz | 3 + librosa-static-test-data-0.10.1.tar.gz | 3 + librosa-static-test-data-0.10.2.post1.tar.gz | 3 + python-librosa.changes | 387 +++++++++++++++++++ python-librosa.spec | 154 ++++++++ 11 files changed, 634 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _constraints create mode 100644 librosa-0.10.1.tar.gz create mode 100644 librosa-0.10.2.post1.tar.gz create mode 100644 librosa-create-pooch-cache.py create mode 100644 librosa-pooch-cache.tar.gz create mode 100644 librosa-static-test-data-0.10.1.tar.gz create mode 100644 librosa-static-test-data-0.10.2.post1.tar.gz create mode 100644 python-librosa.changes create mode 100644 python-librosa.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..d79511d --- /dev/null +++ b/_constraints @@ -0,0 +1,7 @@ + + + + 12 + + + diff --git a/librosa-0.10.1.tar.gz b/librosa-0.10.1.tar.gz new file mode 100644 index 0000000..3bf7f9d --- /dev/null +++ b/librosa-0.10.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e25de58fc93497648ec665a900d3f206ad22e1f4579ca2a8a7d6f4dab5572eb8 +size 2210436 diff --git a/librosa-0.10.2.post1.tar.gz b/librosa-0.10.2.post1.tar.gz new file mode 100644 index 0000000..625b000 --- /dev/null +++ b/librosa-0.10.2.post1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:531269ad17a727616cc683bc718222328e7aa3b6c143c67ea0bc283d1a5b284b +size 2334630 diff --git a/librosa-create-pooch-cache.py b/librosa-create-pooch-cache.py new file mode 100644 index 0000000..d19fc2d --- /dev/null +++ b/librosa-create-pooch-cache.py @@ -0,0 +1,47 @@ +""" librosa-create-pooch-cache.py + +Create the pooch cache tarball for testing the package. + +Copyright (c) 2021 SUSE LLC +Copyright (c) 2021 Ben Greiner + +All modifications and additions to the file contributed by third parties +remain the property of their copyright owners, unless otherwise agreed +upon. The license for this file, and modifications and additions to the +file, is the same license as for the pristine package itself (unless the +license for the pristine package is not an Open Source License, in which +case the license is the MIT License). An "Open Source License" is a +license that conforms to the Open Source Definition (Version 1.9) +published by the Open Source Initiative. + +Please submit bugfixes or comments via https://bugs.opensuse.org/ +""" + +import os +import subprocess +import sys + +import pooch + +data_name = "librosa-pooch-cache" +registry_file = "librosa/util/example_data/registry.txt" + +if len(sys.argv) != 2: + print(f"Usage: python3 {sys.argv[0]} ") + print(f"Download test data into $PWD/{data_name} and compress the directory into $PWD/{data_name}.tar.gz") + sys.exit(1) + +srcdir = os.path.abspath(sys.argv[1]) +data_path = os.path.abspath(os.getcwd() + "/" + data_name) + + +pc = pooch.create( + data_path, base_url="https://librosa.org/data/audio/", registry=None +) +pc.load_registry(srcdir + "/" + registry_file) +with open(srcdir + "/" + registry_file) as fh: + for line in fh: + filename, hsum = line.split(" ") + pc.fetch(filename) + +subprocess.run(["tar", "czf", f"{data_name}.tar.gz", data_name], check=True) diff --git a/librosa-pooch-cache.tar.gz b/librosa-pooch-cache.tar.gz new file mode 100644 index 0000000..c176a08 --- /dev/null +++ b/librosa-pooch-cache.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1782f38133323301db9a074ffac2f99f61f62f0ecdc80676331bdf5514cf832 +size 15634820 diff --git a/librosa-static-test-data-0.10.1.tar.gz b/librosa-static-test-data-0.10.1.tar.gz new file mode 100644 index 0000000..90d5191 --- /dev/null +++ b/librosa-static-test-data-0.10.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18abbb24b8c8d4ddfff26d55acecdc84e9149e183f8fcb8467a9cbd50d297fa6 +size 164603766 diff --git a/librosa-static-test-data-0.10.2.post1.tar.gz b/librosa-static-test-data-0.10.2.post1.tar.gz new file mode 100644 index 0000000..90d5191 --- /dev/null +++ b/librosa-static-test-data-0.10.2.post1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18abbb24b8c8d4ddfff26d55acecdc84e9149e183f8fcb8467a9cbd50d297fa6 +size 164603766 diff --git a/python-librosa.changes b/python-librosa.changes new file mode 100644 index 0000000..91d1daa --- /dev/null +++ b/python-librosa.changes @@ -0,0 +1,387 @@ +------------------------------------------------------------------- +Fri Sep 20 22:12:01 UTC 2024 - Matej Cepl + +- Update to 0.10.2.post1: + - Bump minimum matplotlib to 3.5.0 +- Update to 0.10.2.post1: + - Multiple accidentals by @erabinov in #1739 + - Avoid deprecated matplotlib functions by @bmcfee in #1755 + - Mode support by @erabinov in #1756 + - Mode support by @erabinov in #1762 + - Switch from pkg_resources to importlib.resources by @mattpitkin in #1765 + - Add python 3.11 to build matrix by @bmcfee in #1769 + - Natural accidentals for out-of-key notes by @erabinov in #1770 + - Fix docstring for the writeable argument of util.frame function by @alvingao in #1780 + - Update test_util.py to remove problematic "dummy". by @dpwe in #1783 + - Updates matplotlib colormap usage to remove deprecation warnings. by @psmskelton in #1782 + - Better handling of warnings in test suite by @bmcfee in #1784 + - Fix sample rate type annotations by @bmcfee in #1789 + - Explicitly allow scalars in decibel conversion by @bmcfee in #1790 + - Adding python 3.12 to build matrix, update tests for recent scipy / numpy by @bmcfee in #1808 + - Resolve the performance issue of autocorrelate by @alumkal in #1813 + - Correct phase advance for odd frame lengths in phase_vocoder by @bmcfee in #1814 + - Multichannel peak, onset, and beat detection by @bmcfee in #1766 + - Update actions for 2024 by @bmcfee in #1820 + - doc copybutton, CI updates by @bmcfee in #1821 + - exposed tempo min and max parameters in specshow by @bmcfee in #1822 + - remove kwargs from effects.hpss and friends, passthru stft by @bmcfee in #1826 + - Docstring and comment improvements by @bmcfee in #1827 + - librosa.cite() by @bmcfee in #1829 + - 0.10.2 release prep by @bmcfee in #1832 + +------------------------------------------------------------------- +Wed Apr 17 03:42:24 UTC 2024 - Steve Kowalik + +- Skip a misbehaving test that can cause segfaults. +- Drop back to ffmpeg 5. + +------------------------------------------------------------------- +Sun Sep 24 17:38:22 UTC 2023 - Ben Greiner + +- Remove pooch upper pin, upstream removed it already for last + version (gh#librosa/librosa#1727) + +------------------------------------------------------------------- +Sun Aug 20 16:24:41 UTC 2023 - Ben Greiner + +- Update to 0.10.1 + * VQT octave boundaries by @bmcfee in #1677 + * redoing 0.10.0.post1 release by @bmcfee in #1684 + * Pin pooch < 1.7 by @bmcfee in #1686 + * Post-release 2 for 0.10.0, pin pooch by @bmcfee in #1687 + * Stricter checks on yin/pyin parameters by @bmcfee in #1693 + * bumping sphinx config, fixes #1671 by @bmcfee in #1699 + * fixed bins_per_octave's docs type float to int by @kyaryunha in + #1703 + * add volume adjustment(rms-mean) at pitch_shift by @kyaryunha in + #1704 + * Several small documentation updates by @bmcfee in #1713 + * pin numpy version to < 1.24 in doc environment by @bmcfee in + #1714 + * fixed broken 'latest' link generator by @bmcfee in #1716 + * README.md typo fix by @Zenitismus in #1706 + * CI for documentation builds by @bmcfee in #1718 + * reworked lazy loading of matplotlib by @bmcfee in #1722 + * Advanced example for patch generation by @bmcfee in #1719 + * support pooch >= 1.7 by @bmcfee in #1727 + * Consistent conversion of time duration/offset to sample counts + by @bmcfee in #1726 + * Update tests for scipy 1.11 by @bmcfee in #1731 + +------------------------------------------------------------------- +Mon May 29 15:19:42 UTC 2023 - Ben Greiner + +- Update to 0.10.0.post2 + * 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. +- Releae 0.10.0 + * This release provides many speedups and enhancements to core + operations, faster importing and loading, and full type + annotations. + ## New features + * #1485 Added support for “h” (hours) and “m” (minutes) in + librosa.display.TimeFormatter. Vincent Lostanlen + * #1495 Expanded options for bandwidth calculation in + librosa.segment.recurrence_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 + ## Bug fixes + * #1560 Corrected an error in bandwidth estimation for window + functions that take on negative sample values. Brian McFee + * #1571 Fixed rounding error in multirate filterbank calculation + of sampling rates. Brian McFee + * #1594 Fixed incorrect use of deprecated numpy numerical types. + Mattia Di Gangi + * #1596 Fixed harmonic interpolation for recent scipy releases. + Brian McFee + ## API changes + * #1561 librosa.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 + ## Deprecations + * #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 + ## Other changes + * #1501 Infer square / equal plot dimensions for compatible x/y + axes in librosa.display.specshow. Kian Eliasi + * #1535 Standardized integer type checks throughout the library. + Alexandre Chabot-Leclerc + * #1539 Refactored librosa.display.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 +- Drop patches + * remove-contextlib2.patch + * skip-test-data-missing-tests.patch + * update-tests-for-numpy-123.patch + * remove-hanning-from-tests.patch + * update-for-numpy-124.patch + +------------------------------------------------------------------- +Mon May 29 13:45:26 UTC 2023 - Dirk Müller + +- reenable python311 build (numba now available) + +------------------------------------------------------------------- +Tue Apr 4 09:59:00 UTC 2023 - Daniel Garcia + +- skip python311, python-numba is not available for python 3.11 yet. + +------------------------------------------------------------------- +Sat Jan 28 17:24:09 UTC 2023 - Ben Greiner + +- Add update-for-numpy-124.patch + * Replace types from expired deprecation by NumPy 1.24 + * Upstream fixed it within a bigger set of changes in + gh#librosa/librosa#1587 and gh#librosa/librosa#1632 +- Move to PEP518 build +- Improve test time by testing parallel with pytest-xdist + +------------------------------------------------------------------- +Fri Oct 21 06:29:51 UTC 2022 - Daniel Garcia + +- Add update-tests-for-numpy-123.patch gh#librosa/librosa#1581 +- Add remove-hanning-from-tests.patch gh#librosa/librosa#1548 + +------------------------------------------------------------------- +Mon Sep 26 02:21:59 UTC 2022 - Steve Kowalik + +- Update to 0.9.2: + * Fixed librosa.show_versions to match package dependencies. + * Fixed a bug in librosa.effects.split when applied to multichannel data. + * Removed test data from main repository and reduced the git attic. + * Accept pre-constructed audioread objects in librosa.load. + * Accelerate librosa.magphase. + * Nearly full support for multi-channel processing. + * Option to disable unicode characters in display functions. + * Significantly expanded the library of example audio clips. + * The default padding mode for most functions (including STFT) is now + zero-padding. + * librosa.load and librosa.stream can now operate directly on open + soundfile objects. + * librosa.display.specshow now uses centered coordinate grids. + * librosa.iirt now exposes API control over resampling modes. + * Maximum frequency is now correctly inferred as Nyquist in onset strength + calculation. + * librosa.effects.deemphasis no longer modifies the input signal in-place. + * librosa.util.frame now correctly works for arbitrary memory layouts and + numbers of axes. + * Corrected a normalization error in inverse CQT. + * ibrosa.cqt now supports arbitrary hop lengths. + * Added a run-time check for minimally supported matplotlib versions. + * Enhanced continuous integration testing for oldest and newest environments. + * librosa.effects.deemphasis, inverse operation of + librosa.effects.preemphasis. + * librosa.display.waveshow, adaptively visualize waveforms by amplitude + envelope when zoomed out, or raw sample values when zoomed in. +- Add patch remove-contextlib2.patch: + * No longer require contextlib2. +- Add patch skip-test-data-missing-tests.patch: + * Due to removing the test data from the main repo, skip tests that require + it, since it's quite large. + +------------------------------------------------------------------- +Thu Jan 28 23:09:45 UTC 2021 - Ben Greiner + +- Disable python36 build because SciPy 1.6.0 dropped support for + Python 3.6. Other packages from the NumPy family do the same + (NEP29) +- Update requirements +- Enable tests. Use librosa-create-pooch-cache.py to provide the + test data in librosa-pooch-cache.tar.gz. These files are under + CC-BY-3.0 license. + +------------------------------------------------------------------- +Fri Jan 8 14:29:45 UTC 2021 - Dilawar Singh + +- Update to version 0.8.0 + * Added pitch tracking (yin and pyin) + * Variable-Q transform + * Hindustani and Carnatic notation support + * Expanded collection of example tracks + * Numerous speedups and bugfixes + * Removed support for Python 3.5 and earlier. + +------------------------------------------------------------------- +Thu Jan 30 15:57:15 UTC 2020 - Todd R + +- Update to version 0.7.2 + + New Features + * added liftering support to MFCC inversion. *Ayoub Malek* + * added `pathlib` support to `core.load`. *Stef van der Struijk* + * added "mu-law" compression and expansion (companding). *Brian McFee* + + Bug fixes + * fixed errors in dynamic time warping with `NaN` inputs and detection + of invalid warping paths. *Frank Zalkow, Brian McFee* + * fixed frame-length normalization in spectrogram-based RMS energy + calculation. *Shunsuke Hidaka* + * fixed the length of signals produced by `core.tone`. *Brian McFee* + + Documentation + * removed math formatting from documentation. *Vincent Lostanlen* + * corrected documentation for DTW. *Eric Semeniuc* + * corrected typos in time-frequency reassignment spectrogram + documentation. *Scott Seyfarth* + * removed `dct_type=None` as an option in MFCC documentation. *Brian McFee* + + Other changes + * expanded normalization modes in Mel basis construction. *Brian McFee* + +------------------------------------------------------------------- +Fri Dec 6 18:44:56 UTC 2019 - Todd R + +- Disable python2 support since dependencies dropped python2 + +------------------------------------------------------------------- +Thu Nov 21 04:36:07 UTC 2019 - Todd R + +- Use github source + +------------------------------------------------------------------- +Tue Nov 19 20:52:02 UTC 2019 - Todd R + +- Update to version 0.7.1 + + New Features + * `util.frame` now supports multidimensional data. Includes a new helper function `util.stack` for contiguous concatenation. + * `core.griffinlim_cqt`: Phase retrieval from constant-Q magnitude spectra. + * Enhanced compatibility with HTK's MFCC implementation: `effects.preemphasis` and `lifter=` parameter in MFCC. + * `util.shear` utility for shear-transforming 2D arrays. + * `core.reassigned_spectrogram`: time-frequency reassigned spectrogram. + + Bug fixes + * Added a missing parameter to `griffinlim_cqt`. + * Correct FFT normalization discrepancy in rms calculation. + * Corrected an error in automatic tuning correction for CQT. + * Fixed seeking behavior in `librosa.stream` when operating on file-handle inputs. + * Fixed a boundary condition check in full-sequence DTW. + + Documentation + * Fixed a typo in `stream` documentation. + * Visualization of reassigned spectrograms. + * Improved documentation for `core.stft`. + * Expanded documentation of `feature.melspectrogram`. + + Other changes + * Expose frame parameters in `onset` and `chroma_stft` functions. + * Removed warning filter reset, and changed the Python2 deprecation + warning to class `FutureWarning`. + * Fixed an upstream deprecation warning from `np.asscalar()`. + * Beat and tempo estimation now support prior distributions. + * `util.valid_audio` now enforces memory contiguity. + * Improved x-axis decoration types in `display.waveplot`. + * Ensure memory contiguity of audio buffers after resampling. + * Code-base audit for proper usage of `times_like`. + * Deprecated `core.ifgram` in favor of `reassigned_spectrogram`. + * Allow initial phase estimates for `griffinlim` methods. + * Accelerated `segment.lag_to_recurrence` and `segment.recurrence_to_lag`. Deprecated `util.roll_sparse`. + * `A440=` parameter has been deprecated across the library in favor of a standardized `tuning=` parameter. + +------------------------------------------------------------------- +Thu Jul 25 20:34:49 UTC 2019 - Todd R + +- Update to version 0.7.0 + + New features + * `librosa.core.stream`: Stream generator to process long audio files into smaller pieces. *Brian McFee* + * `librosa.core.load`: Replaced the default audio decoder with `pysoundfile`, and only use `audioread` as backup. *Brian McFee* + * `librosa.core.griffinlim`: Phase retrieval from magnitude spectrograms using the (accelerated) Griffin-Lim method. *Brian McFee* + * `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* + * `librosa.core.lpc`: Linear prediction coefficients (LPC). *Adam Weiss* + * `librosa.sequence.rqa`: Recurrence Quantification Analysis (RQA) for sequence alignment. *Brian McFee* + * `librosa.beat.plp`: Predominant local pulse (PLP) for variable-tempo beat tracking. *Brian McFee* + * `librosa.feature.fourier_tempogram`: Fourier Tempogram for representing rhythm in the frequency domain. *Brian McFee* + * `librosa.core.pcen` Per-channel energy normalization (PCEN) now allows logarithmic range compression at the limit power->0. *Vincent Lostanlen* + * `librosa.effects.pitch_shift` supports custom resampling modes. *Taewoon Kim* + * `librosa.core.cqt` and `librosa.core.icqt` Forward and inverse constant-Q transform now support custom resampling modes. *Brian McFee* + * `librosa.segment.path_enhance`: Near-diagonal path enhancement for recurrence, self- or cross-similarity matrices. *Brian McFee* + * `librosa.segment.recurrence_matrix` now supports a keyword argument, `self=False`. If set to `True`, the recurrence matrix includes self-loops. *Brian McFee* + * `librosa.core.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* + * `librosa.segment.cross_similarity`: Cross-similarity function for comparing two feature sequences. *Rachel Bittner, Brian McFee* + * `librosa.onset.onset_strength_multi` now supports a user-specified reference spectrum via the `ref` keyword argument. *Brian McFee* + * `librosa.core.resample` now supports `mode='polyphase'`. *Brian McFee* + * `librosa.onset.onset_strength_multi`: Setting `aggregate=False` disables the aggregation of onset strengths across frequency bins. *Brian McFee* + + Bug fixes + * `librosa.effects.pitch_shift` now preserves length. *Vincent Lostanlen* + * `librosa.core.pcen` Dynamic range compression in PCEN is more numerically stable for small values of the exponent. *Vincent Lostanlen* + * `librosa.core.ifgram` Instantaneous frequency spectrogram now correctly estimates center frequencies when using windows other than `hann`. *Brian McFee* + * `librosa.sequence.dtw` Fixed a bug in dynamic time warping when `subseq=True`. *Viktor Andreevitch Morozov* + * `librosa.core.pcen` now initializes its autoregressive filtering in the steady state, not with silence. *Jan Schlüter, Brian McFee* + * `librosa.segment.recurrence_matrix`: `width` parameter now cannot exceed data length. *Brian McFee* + * Filter bank constructors `mel`, `chroma`, `constant_q`, and `cq_to_chroma` are now type-stable. *Vincent Lostanlen, Brian McFee* + * `librosa.core.icqt` Inverse constant-Q transform has been completely rewritten and is more numerically stable. *Brian McFee* + + Removed features (deprecated in v0.6) + * Discrete cosine transform. We recommend using `scipy.fftpack.dct` + * The `delta` function no longer support the `trim` keyword argument. + * Root mean square error (`rmse`) has been renamed to `rms`. + * `iirt` now uses `sos` mode by default. + + Documentation + * Improved the documentation of PCEN. *Vincent Lostanlen* + * Improved installation documentation. *Darío Hereñú* + * Improved code style for plot generation. *Alex Metsai* + * Improved the documentation of spectral features. *Brian McFee* + * Improved the documentation of MFCC. *Brian McFee* + * Removed a redundant link in the `util` documentation. *Keunwoo Choi* + * Improved the docstring of `recurrence_matrix`. *Brian McFee* + * Improved the docstring of `load`. *Andy Sarroff* + + Other changes + * The `output` module is now deprecated, and will be removed in version 0.8. + * More informative exception handling. *Jack Mason* + * `librosa.core.resample()` now supports `mode='fft'`, equivalent to the previous `scipy` mode. *Brian McFee* + * More efficient length-aware ISTFT and ICQT. *Vincent Lostanlen* + * Nine librosa functions now store jit-compiled, numba-accelerated caches across sessions. *Brian McFee* + * `librosa.core.load` no longer relies on `realpath()`. *Brian McFee* + * All spectral feature extractors now expose all STFT parameters. *Brian McFee* + * Refactored `librosa.cache`. *Brian McFee* + * Thanks to `np.fft.rfft`, functions `stft`, `istft`, `ifgram`, and `fmt` are faster and have a reduced memory footprint. *Brian McFee* + + +------------------------------------------------------------------- +Wed Feb 20 19:30:09 CET 2019 - Matej Cepl + +- Upgrade to 0.6.3: + - This release contains a few minor bugfixes and many + improvements to documentation and usability. +- Also, SPEC file is run through spec-cleaner. + +------------------------------------------------------------------- +Fri Nov 2 04:48:42 UTC 2018 - Todd R + +- Initial version diff --git a/python-librosa.spec b/python-librosa.spec new file mode 100644 index 0000000..69d8fac --- /dev/null +++ b/python-librosa.spec @@ -0,0 +1,154 @@ +# +# spec file for package python-librosa +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define static_test_data_commit 72bd79e448829187f6336818b3f6bdc2c2ae8f5a +Name: python-librosa +Version: 0.10.2.post1 +Release: 0 +Summary: Python module for audio and music processing +License: CC-BY-3.0 AND ISC +URL: https://github.com/librosa/librosa +# The github archive has the tests +Source0: https://github.com/librosa/librosa/archive/%{version}.tar.gz#/librosa-%{version}.tar.gz +Source1: librosa-create-pooch-cache.py +# Pooch test data. Use librosa-create-pooch-cache.py to create this file +Source2: librosa-pooch-cache.tar.gz +# Static test data +Source3: https://github.com/librosa/librosa-test-data/archive/%{static_test_data_commit}.tar.gz#/librosa-static-test-data-%{version}.tar.gz +BuildRequires: %{python_module SoundFile >= 0.12.1} +BuildRequires: %{python_module audioread >= 2.1.9} +BuildRequires: %{python_module base >= 3.7} +BuildRequires: %{python_module decorator >= 4.3.0} +BuildRequires: %{python_module joblib >= 0.14} +BuildRequires: %{python_module lazy_loader >= 0.1} +BuildRequires: %{python_module msgpack >= 1.0} +BuildRequires: %{python_module numba >= 0.51.0} +BuildRequires: %{python_module numpy1 >= 1.22.3} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pooch >= 1.0} +BuildRequires: %{python_module scikit-learn >= 0.20.0} +BuildRequires: %{python_module scipy >= 1.2.0} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module soxr >= 0.3.2} +BuildRequires: %{python_module typing_extensions >= 4.1.1} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-SoundFile >= 0.12.1 +Requires: python-audioread >= 2.1.9 +Requires: python-decorator >= 4.3.0 +Requires: python-joblib >= 0.14 +Requires: python-lazy_loader >= 0.1 +Requires: python-msgpack >= 1.0 +Requires: python-numba >= 0.51.0 +Requires: python-numpy >= 1.22.3 +Requires: python-pooch >= 1.0 +Requires: python-scikit-learn >= 0.20.0 +Requires: python-scipy >= 1.2.0 +Requires: python-soxr >= 0.3.2 +Requires: python-typing_extensions >= 4.1.1 +BuildArch: noarch +# SECTION test requirements +BuildRequires: %{python_module matplotlib >= 3.3.0} +BuildRequires: %{python_module packaging >= 20.0} +BuildRequires: %{python_module pytest-mpl} +BuildRequires: %{python_module pytest-xdist} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module resampy >= 0.2.2} +BuildRequires: %{python_module samplerate} +BuildRequires: ffmpeg-5 +# /SECTION +%python_subpackages + +%description +LibROSA is a python package for music and audio analysis. It provides +the building blocks necessary to create music information retrieval +systems. + +%prep +%autosetup -p1 -n librosa-%{version} -a 2 +pushd tests/data +tar xf %{SOURCE3} --strip-components=1 +popd +# Remove unneeded shebangs +find librosa -name "*.py" -exec sed -i -e '/^#!\//, 1d' {} \; +# don't measure test coverage +sed -i '/addopts/ s/--cov-report.*--cov-report=xml//' setup.cfg + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +export LIBROSA_DATA_DIR=$PWD/librosa-pooch-cache +# image files do not match without exact mpl version +donttest="test_display" +# fails with current Tumbleweed +donttest+=" or test_pyin_multi_center" +# causes interpreter SEGVs in some situations +donttest+=" or test_piptrack_errors" +# Overflow on 32-bit +# can not use "ifarch" when BuildArch is set to noarch +%if "%_arch" != "x86_64" && "%_arch" != "aarch64" && "%_arch" != "ppc64le" +donttest+=" or test_tempo or test_hybrid_cqt or test_stft_winsizes" +donttest+=" or test_istft_reconstruction or test_trim" +donttest+=" or test_multichannel" +donttest+=" or test_time_stretch_multi" +donttest+=" or test_piptrack_properties" +donttest+=" or test_pitch_shift_multi" +donttest+=" or test_split_multi" +donttest+=" or test_hpss_multi" +donttest+=" or test_nn_filter_multi" +donttest+=" or (test_nnls_multiblock and 256)" +donttest+=" or (test_rms and (4096 or 4097))" +donttest+=" or test_tonnetz_audio" +%endif +%if "%_arch" == "aarch64" +donttest+=" or test_piptrack_errors" +donttest+=" or test_match_events_onesided" +donttest+=" or test_yin" +donttest+=" or test_yin_tone" +%endif +%if "%_arch" == "ppc64le" +donttest+=" or test_cqt" +%endif +# Flaky segfaults when run in parallel, upstream does not test with xdist +notparallel="test_piptrack" +notparallel+=" or (test_onset_strength_audio and chroma_stft)" +notparallel+=" or test_localmax" +notparallel+=" or test_localmin" +notparallel+=" or test_yin" +notparallel+=" or test_pyin" +notparallel+=" or test_tonnetz" +notparallel+=" or test_remix" +notparallel+=" or test_chroma" +notparallel+=" or test_estimate_tuning" +notparallel+=" or test_zero_crossings" +%pytest -k "not (${donttest} or ${notparallel})" -n auto +%pytest -k "not (${donttest}) and (${notparallel})" + +%files %{python_files} +%doc AUTHORS.md README.md +%license LICENSE.md +%{python_sitelib}/librosa +%{python_sitelib}/librosa-%{version}.dist-info + +%changelog From 8502e5631b66e5222b970d57f268a4893efe46c40edd25e5fbf65921afbeca60 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Wed, 2 Oct 2024 21:00:42 +0000 Subject: [PATCH 2/6] - Add csr_matrix-attr-H.patch making the package compatible with the most recent version of SciPy (gh#librosa/librosa#1849). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-librosa?expand=0&rev=49 --- csr_matrix-attr-H.patch | 20 ++++++++++++++++++++ python-librosa.changes | 6 ++++++ python-librosa.spec | 9 ++++++++- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 csr_matrix-attr-H.patch diff --git a/csr_matrix-attr-H.patch b/csr_matrix-attr-H.patch new file mode 100644 index 0000000..56297d1 --- /dev/null +++ b/csr_matrix-attr-H.patch @@ -0,0 +1,20 @@ +From 44baef3d4e748135575e9b688894c01b37a3685b Mon Sep 17 00:00:00 2001 +From: Brian McFee +Date: Wed, 26 Jun 2024 10:08:45 -0400 +Subject: [PATCH] fix #1849 + +--- + librosa/core/constantq.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/librosa/core/constantq.py ++++ b/librosa/core/constantq.py +@@ -707,7 +707,7 @@ def icqt( + ) + + # Transpose the basis +- inv_basis = fft_basis.H.todense() ++ inv_basis = fft_basis.conjugate().T.todense() + + # Compute each filter's frequency-domain power + freq_power = 1 / np.sum(util.abs2(np.asarray(inv_basis)), axis=0) diff --git a/python-librosa.changes b/python-librosa.changes index 91d1daa..a0262a2 100644 --- a/python-librosa.changes +++ b/python-librosa.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Oct 2 20:59:35 UTC 2024 - Matej Cepl + +- Add csr_matrix-attr-H.patch making the package compatible with + the most recent version of SciPy (gh#librosa/librosa#1849). + ------------------------------------------------------------------- Fri Sep 20 22:12:01 UTC 2024 - Matej Cepl diff --git a/python-librosa.spec b/python-librosa.spec index 69d8fac..362df9b 100644 --- a/python-librosa.spec +++ b/python-librosa.spec @@ -30,6 +30,9 @@ Source1: librosa-create-pooch-cache.py Source2: librosa-pooch-cache.tar.gz # Static test data Source3: https://github.com/librosa/librosa-test-data/archive/%{static_test_data_commit}.tar.gz#/librosa-static-test-data-%{version}.tar.gz +# PATCH-FIX-UPSTREAM csr_matrix-attr-H.patch gh#librosa/librosa#1849 mcepl@suse.com +# csr_matrix.H in scipy has been removed +Patch0: csr_matrix-attr-H.patch BuildRequires: %{python_module SoundFile >= 0.12.1} BuildRequires: %{python_module audioread >= 2.1.9} BuildRequires: %{python_module base >= 3.7} @@ -38,7 +41,7 @@ BuildRequires: %{python_module joblib >= 0.14} BuildRequires: %{python_module lazy_loader >= 0.1} BuildRequires: %{python_module msgpack >= 1.0} BuildRequires: %{python_module numba >= 0.51.0} -BuildRequires: %{python_module numpy1 >= 1.22.3} +BuildRequires: %{python_module numpy >= 1.22.3 with %python-numpy < 2} BuildRequires: %{python_module pip} BuildRequires: %{python_module pooch >= 1.0} BuildRequires: %{python_module scikit-learn >= 0.20.0} @@ -142,6 +145,10 @@ notparallel+=" or test_remix" notparallel+=" or test_chroma" notparallel+=" or test_estimate_tuning" notparallel+=" or test_zero_crossings" +# gh#librosa/librosa#1879 +donttest+=" or test_beat" +# gh#librosa/librosa#1880 +donttest+=" or test_nnls_multiblock" %pytest -k "not (${donttest} or ${notparallel})" -n auto %pytest -k "not (${donttest}) and (${notparallel})" From 22e261fa37b2f834d64dde658240ffe80617978ac0dd5a4d5c937b32f40b5f51 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 4 Oct 2024 19:23:30 +0000 Subject: [PATCH 3/6] - Add sysinfo.py to provide upstream with the required debugging information. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-librosa?expand=0&rev=50 --- python-librosa.changes | 2 ++ python-librosa.spec | 4 ++++ sysinfo.py | 14 ++++++++++++++ 3 files changed, 20 insertions(+) create mode 100644 sysinfo.py diff --git a/python-librosa.changes b/python-librosa.changes index a0262a2..2b06dc1 100644 --- a/python-librosa.changes +++ b/python-librosa.changes @@ -3,6 +3,8 @@ Wed Oct 2 20:59:35 UTC 2024 - Matej Cepl - Add csr_matrix-attr-H.patch making the package compatible with the most recent version of SciPy (gh#librosa/librosa#1849). +- Add sysinfo.py to provide upstream with the required debugging + information. ------------------------------------------------------------------- Fri Sep 20 22:12:01 UTC 2024 - Matej Cepl diff --git a/python-librosa.spec b/python-librosa.spec index 362df9b..66a8ea0 100644 --- a/python-librosa.spec +++ b/python-librosa.spec @@ -30,6 +30,8 @@ Source1: librosa-create-pooch-cache.py Source2: librosa-pooch-cache.tar.gz # Static test data Source3: https://github.com/librosa/librosa-test-data/archive/%{static_test_data_commit}.tar.gz#/librosa-static-test-data-%{version}.tar.gz +# Provide information required by upstream +Source20: sysinfo.py # PATCH-FIX-UPSTREAM csr_matrix-attr-H.patch gh#librosa/librosa#1849 mcepl@suse.com # csr_matrix.H in scipy has been removed Patch0: csr_matrix-attr-H.patch @@ -101,6 +103,8 @@ sed -i '/addopts/ s/--cov-report.*--cov-report=xml//' setup.cfg %python_expand %fdupes %{buildroot}%{$python_sitelib} %check +%python_expand PYTHONPATH="%{buildroot}%{$python_sitelib} $python %{SOURCE20} + export LIBROSA_DATA_DIR=$PWD/librosa-pooch-cache # image files do not match without exact mpl version donttest="test_display" diff --git a/sysinfo.py b/sysinfo.py new file mode 100644 index 0000000..d1b4740 --- /dev/null +++ b/sysinfo.py @@ -0,0 +1,14 @@ +#!/usr/bin/python3 + +import platform +import sys +import numpy +import scipy +import librosa + +print(platform.platform()) +print("Python", sys.version) +print("NumPy", numpy.__version__) +print("SciPy", scipy.__version__) +print("librosa", librosa.__version__) +librosa.show_versions() From d5e8ae22acf0407d6613d26a12039bc021514b697696649e05aeaa3642431e16 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 4 Oct 2024 19:54:35 +0000 Subject: [PATCH 4/6] Fix the PYTHONPATH setting OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-librosa?expand=0&rev=51 --- python-librosa.spec | 2 +- sysinfo.py | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/python-librosa.spec b/python-librosa.spec index 66a8ea0..dc37fdf 100644 --- a/python-librosa.spec +++ b/python-librosa.spec @@ -103,7 +103,7 @@ sed -i '/addopts/ s/--cov-report.*--cov-report=xml//' setup.cfg %python_expand %fdupes %{buildroot}%{$python_sitelib} %check -%python_expand PYTHONPATH="%{buildroot}%{$python_sitelib} $python %{SOURCE20} +%python_expand PYTHONPATH="%{buildroot}%{$python_sitelib}" $python %{SOURCE20} export LIBROSA_DATA_DIR=$PWD/librosa-pooch-cache # image files do not match without exact mpl version diff --git a/sysinfo.py b/sysinfo.py index d1b4740..03ad530 100644 --- a/sysinfo.py +++ b/sysinfo.py @@ -4,11 +4,15 @@ import platform import sys import numpy import scipy -import librosa +try: + import librosa +except ModuleNotFoundError: + librosa = None print(platform.platform()) print("Python", sys.version) print("NumPy", numpy.__version__) print("SciPy", scipy.__version__) -print("librosa", librosa.__version__) -librosa.show_versions() +if librosa is not None: + print("librosa", librosa.__version__) + librosa.show_versions() From f0940f91f07cb8a0afef966d83a628f18c8c23540cd4df440c83a0f7569005a3 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 4 Oct 2024 20:55:20 +0000 Subject: [PATCH 5/6] - Add mark-network-tests.patch marking tests which require network connection to run. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-librosa?expand=0&rev=52 --- mark-network-tests.patch | 37 +++++++++++++++++++++++++++++++++++++ python-librosa.changes | 2 ++ python-librosa.spec | 9 +++++++-- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 mark-network-tests.patch diff --git a/mark-network-tests.patch b/mark-network-tests.patch new file mode 100644 index 0000000..3c5f30b --- /dev/null +++ b/mark-network-tests.patch @@ -0,0 +1,37 @@ +--- + setup.cfg | 2 ++ + tests/test_multichannel.py | 1 + + tests/test_util.py | 1 + + 3 files changed, 4 insertions(+) + +--- a/setup.cfg ++++ b/setup.cfg +@@ -14,6 +14,8 @@ addopts = --mpl --mpl-baseline-path=tes + filterwarnings = + ignore::DeprecationWarning:audioread.* + ignore::DeprecationWarning:resampy.* ++markers = ++ network: tests requiring network connection + + [flake8] + count = True +--- a/tests/test_multichannel.py ++++ b/tests/test_multichannel.py +@@ -914,6 +914,7 @@ def test_click_multi(): + assert np.allclose(yout[..., 2000:2100], click) + + ++@pytest.mark.network + def test_nnls_multi(s_multi): + + # Verify that a stereo melspectrogram can be reconstructed +--- a/tests/test_util.py ++++ b/tests/test_util.py +@@ -1396,6 +1396,7 @@ def test_cite_badversion(): + librosa.cite(version="-1.5") + + ++@pytest.mark.network + @pytest.mark.xfail(raises=librosa.ParameterError) + def test_cite_unreleased(): + librosa.cite("0.10.0.dev0") diff --git a/python-librosa.changes b/python-librosa.changes index 2b06dc1..f251d0d 100644 --- a/python-librosa.changes +++ b/python-librosa.changes @@ -5,6 +5,8 @@ Wed Oct 2 20:59:35 UTC 2024 - Matej Cepl the most recent version of SciPy (gh#librosa/librosa#1849). - Add sysinfo.py to provide upstream with the required debugging information. +- Add mark-network-tests.patch marking tests which require + network connection to run. ------------------------------------------------------------------- Fri Sep 20 22:12:01 UTC 2024 - Matej Cepl diff --git a/python-librosa.spec b/python-librosa.spec index dc37fdf..121d718 100644 --- a/python-librosa.spec +++ b/python-librosa.spec @@ -35,6 +35,9 @@ Source20: sysinfo.py # PATCH-FIX-UPSTREAM csr_matrix-attr-H.patch gh#librosa/librosa#1849 mcepl@suse.com # csr_matrix.H in scipy has been removed Patch0: csr_matrix-attr-H.patch +# PATCH-FIX-UPSTREAM mark-network-tests.patch mcepl@suse.com +# to skip test which require network access +Patch1: mark-network-tests.patch BuildRequires: %{python_module SoundFile >= 0.12.1} BuildRequires: %{python_module audioread >= 2.1.9} BuildRequires: %{python_module base >= 3.7} @@ -153,8 +156,10 @@ notparallel+=" or test_zero_crossings" donttest+=" or test_beat" # gh#librosa/librosa#1880 donttest+=" or test_nnls_multiblock" -%pytest -k "not (${donttest} or ${notparallel})" -n auto -%pytest -k "not (${donttest}) and (${notparallel})" +# +donttest+=" or test_subsegment_badn" +%pytest -k "not (${donttest} or ${notparallel} or network)" -n auto +%pytest -k "not (${donttest} or network) and (${notparallel})" %files %{python_files} %doc AUTHORS.md README.md From f092bd80a7484e6370f406092b8b4f816bae03703ce9d0965c32758745ac1969 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 4 Oct 2024 21:00:30 +0000 Subject: [PATCH 6/6] Fix network masking OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-librosa?expand=0&rev=53 --- mark-network-tests.patch | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/mark-network-tests.patch b/mark-network-tests.patch index 3c5f30b..d6ed058 100644 --- a/mark-network-tests.patch +++ b/mark-network-tests.patch @@ -1,8 +1,8 @@ --- setup.cfg | 2 ++ tests/test_multichannel.py | 1 + - tests/test_util.py | 1 + - 3 files changed, 4 insertions(+) + tests/test_util.py | 3 +++ + 3 files changed, 6 insertions(+) --- a/setup.cfg +++ b/setup.cfg @@ -27,7 +27,20 @@ # Verify that a stereo melspectrogram can be reconstructed --- a/tests/test_util.py +++ b/tests/test_util.py -@@ -1396,6 +1396,7 @@ def test_cite_badversion(): +@@ -1385,17 +1385,20 @@ def test_phasor(dtype, angles, mag): + assert z2.dtype == librosa.util.dtype_r2c(dtype) + + ++@pytest.mark.network + def test_cite_released(): + version = "0.10.1" + doi = "https://doi.org/10.5281/zenodo.8252662" + assert doi == librosa.cite(version=version) + + ++@pytest.mark.network + @pytest.mark.xfail(raises=librosa.ParameterError) + def test_cite_badversion(): librosa.cite(version="-1.5")