Skip to content

Build(deps): update visqol-python requirement from >=3.5.0 to >=3.7.0#18

Merged
nschimme merged 1 commit into
masterfrom
dependabot/pip/visqol-python-gte-3.7.0
Jun 5, 2026
Merged

Build(deps): update visqol-python requirement from >=3.5.0 to >=3.7.0#18
nschimme merged 1 commit into
masterfrom
dependabot/pip/visqol-python-gte-3.7.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 4, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on visqol-python to permit the latest version.

Release notes

Sourced from visqol-python's releases.

Release v3.7.0

Full Changelog: talker93/visqol-python@v3.6.0...v3.7.0

Changelog

Sourced from visqol-python's changelog.

[3.7.0] - 2026-05-30

Fixed

  • Audio-mode C++ parity in fine realignment (finely_align_and_recreate_patches): the previous "B2 optimisation" skipped the per-patch spectrogram rebuild whenever the fine-alignment lag was zero, on the assumption that the rebuilt spectrogram would be identical to the original patch. That assumption is wrong. The original patch is sliced out of the full-signal Gammatone spectrogram (warm IIR filter state, carrying history), whereas the rebuild runs Gammatone over the sliced audio from a cold filter state — so the leading frames differ even when no shift is applied. C++ ViSQOL always rebuilds and keeps whichever scores higher, so skipping it silently dropped that improvement. The skip is removed; every matched patch is now rebuilt and compared, exactly as C++ does.
    • Impact: audio MOS-LQO now matches the C++ binary to ULP. Max diff over the 10 conformance cases dropped from 2.41 × 10⁻² → 1.17 × 10⁻⁴; 9 of 10 cases are bit-exact (~10⁻¹⁴). The lone residual (contrabassoon_24aac, 1.17 × 10⁻⁴) is an unrelated sub-sample boundary-patch alignment rounding, now smaller than the speech-mode parity gap.
    • Existing audio scores shift by up to ~0.024 MOS where they were previously too low; this is a move toward the C++ ground truth, not away from it.
    • Speech polynomial and lattice scores are unaffected (bit-identical before and after).

Performance

  • Fine realignment now rebuilds the spectrogram for every patch (including lag == 0), so it no longer benefits from the zero-lag skip. Net effect is roughly 1.4–1.5× slower realignment (e.g. guitar48_stereo 0.44 s → 0.65 s end-to-end with Numba + pyFFTW). This is the cost of exact C++ parity and is consistent with the project's precision-first policy. Audio-mode RTF rises from ~0.036 (3.6.0) to ~0.054 — still ~1.7× faster than the C++ binary (~0.093) and faster than 3.5.0 (~0.067).

Changed

  • Dropped Python 3.9 support (requires-python = ">=3.10"). Downstream projects still on 3.9 should pin visqol-python<3.7.
  • CI: bumped GitHub Actions to Node-24-compatible major versions (checkout v5, setup-python v6, upload/download-artifact v5).

[3.6.0] - 2026-05-27

Added

  • Optional pyFFTW backend (pip install visqol-python[fftw]):
    • Routes scipy.fft.fft / ifft / rfft / irfft through FFTW3 via pyfftw.interfaces.scipy_fft for the alignment and cross-correlation FFTs. Detected at module load time in signal_utils and applied transparently via a thin _fft_backend() context manager.
    • Plan cache enabled with 60 s keep-alive so consecutive measurements on equal-length signals reuse the FFTW plan.

... (truncated)

Commits
  • 1c3953e chore: release v3.7.0
  • f6540a8 fix: audio-mode C++ parity in fine realignment (remove zero-lag rebuild skip)
  • 616df8f chore: drop Python 3.9 support
  • 9f6bb2d ci: bump actions to Node-24-compatible major versions
  • 388c68a v3.6.0: fused NSIM kernel + pyFFTW alignment backend
  • 23501db perf: rfft/irfft for real-input alignment FFTs
  • e6f2f57 perf: fused NSIM kernel + pyFFTW alignment backend
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [visqol-python](https://github.com/talker93/visqol-python) to permit the latest version.
- [Release notes](https://github.com/talker93/visqol-python/releases)
- [Changelog](https://github.com/talker93/visqol-python/blob/main/CHANGELOG.md)
- [Commits](talker93/visqol-python@v3.5.0...v3.7.0)

---
updated-dependencies:
- dependency-name: visqol-python
  dependency-version: 3.7.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jun 4, 2026
@nschimme nschimme merged commit 15af5ef into master Jun 5, 2026
1 check passed
@nschimme nschimme deleted the dependabot/pip/visqol-python-gte-3.7.0 branch June 5, 2026 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant