From 284228b5fa9baedd66214a14c71c050e3947105b Mon Sep 17 00:00:00 2001 From: dschlueter Date: Thu, 25 Jun 2026 00:52:25 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20audioop-DeprecationWarning=20beim=20Resa?= =?UTF-8?q?mpling=20unterdr=C3=BCcken?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit audioop ist seit 3.11 deprecated und ab 3.13 entfernt. Es bleibt der schnelle Default (stdlib, kein numpy nötig — wichtig fürs schlanke Test-/CI-venv); der Import wird nur in catch_warnings gekapselt. Ab 3.13 greift weiterhin der bestehende ImportError->numpy-Fallback. Suite-Warnungen damit von 2 auf 1 (verbleibend: Starlette-TestClient, bibliotheksintern). Co-Authored-By: Claude Sonnet 4.6 --- app/providers/tts/piper.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/providers/tts/piper.py b/app/providers/tts/piper.py index 75d2d59..18171a7 100644 --- a/app/providers/tts/piper.py +++ b/app/providers/tts/piper.py @@ -51,7 +51,13 @@ def _load_voice(model_path: str): def _resample(pcm: bytes, src_rate: int, dst_rate: int) -> bytes: """Resampelt s16le-Mono in-process. audioop (stdlib) bevorzugt, sonst numpy.""" try: - import audioop # in Python 3.13 entfernt -> Fallback unten + # audioop ist seit 3.11 deprecated und ab 3.13 entfernt. Solange vorhanden, + # bleibt es der schnelle Default (stdlib, kein numpy nötig) -> Warnung still + # unterdrücken. Ab 3.13 wirft der Import ImportError -> numpy-Fallback unten. + import warnings + with warnings.catch_warnings(): + warnings.simplefilter("ignore", DeprecationWarning) + import audioop converted, _ = audioop.ratecv(pcm, 2, 1, src_rate, dst_rate, None) return converted