This commit is contained in:
2026-08-26 17:42:00 -04:00
commit ad95d530ad
134 changed files with 31750 additions and 0 deletions
@@ -0,0 +1,12 @@
import numpy as np
from scipy.signal import resample_poly
def resample(audio_int16: bytes, from_rate: int, to_rate: int) -> bytes:
"""Resample int16 PCM audio between sample rates using polyphase filtering."""
if from_rate == to_rate:
return audio_int16
samples = np.frombuffer(audio_int16, dtype=np.int16).astype(np.float32) / 32768.0
gcd = np.gcd(to_rate, from_rate)
resampled = resample_poly(samples, up=to_rate // gcd, down=from_rate // gcd)
return np.clip(resampled * 32768, -32768, 32767).astype(np.int16).tobytes()