Skip to content

Releases: justinsalamon/scaper

v1.6.5

23 Apr 22:13
7fc9c2b
Compare
Choose a tag to compare

Formal release of 1.6.5 which adds a choose_weighted distribution tuple for non-uniform sampling from a discrete set.

v1.6.5.rc0

09 Feb 22:58
2747ef5
Compare
Choose a tag to compare
v1.6.5.rc0 Pre-release
Pre-release
  • Added a new distirbution tuple: ("choose_weighted", list_of_options, probabilities), which supports weighted sampling: list_of_options[i] is chosen with probability probabilities[i].

v1.6.4

28 Sep 22:05
8cbf94b
Compare
Choose a tag to compare
  • Scaper.generate now accepts a new argument for controlling trade-off between speed and quality in pitch shifting and time stretching:
    • quick_pitch_time: if True, both time stretching and pitch shifting will be applied in quick mode, which is much faster but has lower quality.

v1.6.3

28 Sep 21:59
c688a0f
Compare
Choose a tag to compare
  • Scaper.generate now accepts two new optional arguments for controlling audio clipping and normalization:
    • fix_clipping: if True and the soundscape audio is clipping, it will be peak normalized and all isolated events will be scaled accordingly.
    • peak_normalization: if True, sounscape audio will be peak normalized regardless of whether it's clipping or not and all isolated events will be scaled accordingly.
  • All generate arguments are now documented in the scaper sandbox inside the JAMS annotation.
  • Furthermore, we also document in the JAMS: the scale factor used for peak normalization, the change in ref_db, and the actual ref_db of the generated audio.

v1.6.2

24 Sep 00:45
adf64f4
Compare
Choose a tag to compare
  • Switching from FFMpeg LUFS calculation to pyloudnorm for better performance: runtime is reduced by approximately 30%
  • The loudness calculation between FFMpeg LUFS and pyloudnorm is slightly different so this version will generate marginally different audio data compared to previous versions: the change is not perceptible, but np.allclose() tests on audio from previous versions of Scaper may fail.
  • This change updates the regression data for Scaper's regression tests.
  • This release used soxbindings 1.2.2 and pyloudnorm 0.1.0.

v1.6.1

23 Sep 23:04
1cbfa8a
Compare
Choose a tag to compare
  • Trimming now happens on read, rather than after read. This prevents the entire file from being loaded into memory. This is helpful for long source audio files.
  • Since the audio processing pipeline has changed, this version will generate marginally different audio data compared to previous versions: the change is not perceptible, but np.allclose() tests on audio from previous versions of Scaper may fail.
  • This change updates the regression data for Scaper's regression tests

v1.5.1

23 Sep 01:07
b99214b
Compare
Choose a tag to compare
  • Fixes a bug with fade in and out lengths are set to 0.
  • This is the last version to support Python 2.7 and 3.4.

v1.6.0

23 Sep 21:56
8ee6a0d
Compare
Choose a tag to compare
  • Scaper now uses soxbindings instead of sox when installing on Linux or MacOS, which results in significantly faster runtime performance.
  • Adds explicit support for Python 3.7 and 3.8.
  • Drops support for Python 2.7 and 3.4.

v1.5.0

22 Sep 02:46
fa648ef
Compare
Choose a tag to compare
  • Scaper now returns the generated audio and annotations directly in memory, allowing you to skip any/all file I/O!
  • Saving the audio and annotations to disk is still supported, but is now optional.
  • While this update modifies the API of several functions, it should still be backwards compatible.

v1.4.0

19 Sep 00:35
69778e7
Compare
Choose a tag to compare
  • Operations on all files happen in-memory now, via new PySox features (build_array) and numpy operations for applying fades.
  • Scaper is faster now due to the in-memory changes.