Unverified Commit 82531edb authored by Isotr0py's avatar Isotr0py Committed by GitHub
Browse files

[Refactor] Remove `resampy` dependency (#39524)


Signed-off-by: default avatarIsotr0py <mozf@mail2.sysu.edu.cn>
parent 3daca38e
...@@ -21,7 +21,6 @@ vocos # required for minicpmo_26 test ...@@ -21,7 +21,6 @@ vocos # required for minicpmo_26 test
peft>=0.18.1 # required for phi-4-mm test peft>=0.18.1 # required for phi-4-mm test
pqdm pqdm
ray[cgraph,default]>=2.48.0 # Ray Compiled Graph, required by pipeline parallelism tests ray[cgraph,default]>=2.48.0 # Ray Compiled Graph, required by pipeline parallelism tests
resampy # required for audio tests
sentence-transformers>=5.2.0 # required for embedding tests sentence-transformers>=5.2.0 # required for embedding tests
soundfile # required for audio tests soundfile # required for audio tests
jiwer # required for audio tests jiwer # required for audio tests
......
...@@ -555,7 +555,6 @@ numba==0.61.2 ...@@ -555,7 +555,6 @@ numba==0.61.2
# -c requirements/cuda.txt # -c requirements/cuda.txt
# -r requirements/test/cuda.in # -r requirements/test/cuda.in
# librosa # librosa
# resampy
numpy==2.2.6 numpy==2.2.6
# via # via
# -r requirements/test/cuda.in # -r requirements/test/cuda.in
...@@ -596,7 +595,6 @@ numpy==2.2.6 ...@@ -596,7 +595,6 @@ numpy==2.2.6
# pyogrio # pyogrio
# pywavelets # pywavelets
# rasterio # rasterio
# resampy
# rioxarray # rioxarray
# rouge-score # rouge-score
# runai-model-streamer # runai-model-streamer
...@@ -1015,8 +1013,6 @@ requests==2.32.3 ...@@ -1015,8 +1013,6 @@ requests==2.32.3
# tacoreader # tacoreader
# tiktoken # tiktoken
# wandb # wandb
resampy==0.4.3
# via -r requirements/test/cuda.in
responses==0.25.3 responses==0.25.3
# via genai-perf # via genai-perf
rfc3339-validator==0.1.4 rfc3339-validator==0.1.4
......
...@@ -23,7 +23,6 @@ vocos # required for minicpmo_26 test ...@@ -23,7 +23,6 @@ vocos # required for minicpmo_26 test
peft>=0.15.0 # required for phi-4-mm test peft>=0.15.0 # required for phi-4-mm test
pqdm pqdm
ray[cgraph,default]>=2.48.0 # Ray Compiled Graph, required by pipeline parallelism tests ray[cgraph,default]>=2.48.0 # Ray Compiled Graph, required by pipeline parallelism tests
resampy # required for audio tests
sentence-transformers>=5.2.0 # required for embedding tests sentence-transformers>=5.2.0 # required for embedding tests
soundfile # required for audio tests soundfile # required for audio tests
jiwer # required for audio tests jiwer # required for audio tests
......
...@@ -662,7 +662,6 @@ numba==0.61.2 ...@@ -662,7 +662,6 @@ numba==0.61.2
# -c requirements/rocm.txt # -c requirements/rocm.txt
# -r requirements/test/rocm.in # -r requirements/test/rocm.in
# librosa # librosa
# resampy
numkong==7.1.1 numkong==7.1.1
# via albucore # via albucore
numpy==2.2.6 numpy==2.2.6
...@@ -708,7 +707,6 @@ numpy==2.2.6 ...@@ -708,7 +707,6 @@ numpy==2.2.6
# pytrec-eval-terrier # pytrec-eval-terrier
# pywavelets # pywavelets
# rasterio # rasterio
# resampy
# rioxarray # rioxarray
# rouge-score # rouge-score
# runai-model-streamer # runai-model-streamer
...@@ -1193,8 +1191,6 @@ requests==2.32.5 ...@@ -1193,8 +1191,6 @@ requests==2.32.5
# tacoreader # tacoreader
# tiktoken # tiktoken
# wandb # wandb
resampy==0.4.3
# via -r requirements/test/rocm.in
responses==0.26.0 responses==0.26.0
# via genai-perf # via genai-perf
rfc3339-validator==0.1.4 rfc3339-validator==0.1.4
......
...@@ -1093,7 +1093,6 @@ setup( ...@@ -1093,7 +1093,6 @@ setup(
"runai": ["runai-model-streamer[s3,gcs,azure] >= 0.15.7"], "runai": ["runai-model-streamer[s3,gcs,azure] >= 0.15.7"],
"audio": [ "audio": [
"av", "av",
"resampy",
"scipy", "scipy",
"soundfile", "soundfile",
"mistral_common[audio]", "mistral_common[audio]",
......
...@@ -16,11 +16,6 @@ try: ...@@ -16,11 +16,6 @@ try:
except ImportError: except ImportError:
av = PlaceholderModule("av") # type: ignore[assignment] av = PlaceholderModule("av") # type: ignore[assignment]
try:
import resampy
except ImportError:
resampy = PlaceholderModule("resampy") # type: ignore[assignment]
try: try:
import scipy.signal as scipy_signal import scipy.signal as scipy_signal
except ImportError: except ImportError:
...@@ -229,15 +224,6 @@ def resample_audio_pyav( ...@@ -229,15 +224,6 @@ def resample_audio_pyav(
return result[:expected_len] return result[:expected_len]
def resample_audio_resampy(
audio: npt.NDArray[np.floating],
*,
orig_sr: float,
target_sr: float,
) -> npt.NDArray[np.floating]:
return resampy.resample(audio, sr_orig=orig_sr, sr_new=target_sr)
def resample_audio_scipy( def resample_audio_scipy(
audio: npt.NDArray[np.floating], audio: npt.NDArray[np.floating],
*, *,
...@@ -257,7 +243,7 @@ class AudioResampler: ...@@ -257,7 +243,7 @@ class AudioResampler:
def __init__( def __init__(
self, self,
target_sr: float | None = None, target_sr: float | None = None,
method: Literal["pyav", "resampy", "scipy"] = "resampy", method: Literal["pyav", "scipy"] = "pyav",
): ):
self.target_sr = target_sr self.target_sr = target_sr
self.method = method self.method = method
...@@ -281,10 +267,6 @@ class AudioResampler: ...@@ -281,10 +267,6 @@ class AudioResampler:
return audio return audio
if self.method == "pyav": if self.method == "pyav":
return resample_audio_pyav(audio, orig_sr=orig_sr, target_sr=self.target_sr) return resample_audio_pyav(audio, orig_sr=orig_sr, target_sr=self.target_sr)
if self.method == "resampy":
return resample_audio_resampy(
audio, orig_sr=orig_sr, target_sr=self.target_sr
)
elif self.method == "scipy": elif self.method == "scipy":
return resample_audio_scipy( return resample_audio_scipy(
audio, orig_sr=orig_sr, target_sr=self.target_sr audio, orig_sr=orig_sr, target_sr=self.target_sr
......
...@@ -10,6 +10,7 @@ import pybase64 ...@@ -10,6 +10,7 @@ import pybase64
import torch import torch
from vllm.logger import init_logger from vllm.logger import init_logger
from vllm.multimodal.audio import resample_audio_pyav
from vllm.utils.import_utils import PlaceholderModule from vllm.utils.import_utils import PlaceholderModule
from vllm.utils.serial_utils import tensor2base64 from vllm.utils.serial_utils import tensor2base64
...@@ -28,12 +29,6 @@ except ImportError: ...@@ -28,12 +29,6 @@ except ImportError:
soundfile = PlaceholderModule("soundfile") # type: ignore[assignment] soundfile = PlaceholderModule("soundfile") # type: ignore[assignment]
try:
import resampy
except ImportError:
resampy = PlaceholderModule("resampy") # type: ignore[assignment]
# Public libsndfile error codes exposed via `soundfile.LibsndfileError.code`, soundfile # Public libsndfile error codes exposed via `soundfile.LibsndfileError.code`, soundfile
# being librosa's main backend. Used to validate if an audio loading error is due to a # being librosa's main backend. Used to validate if an audio loading error is due to a
# server error vs a client error (invalid audio file). # server error vs a client error (invalid audio file).
...@@ -129,7 +124,7 @@ def load_audio_soundfile( ...@@ -129,7 +124,7 @@ def load_audio_soundfile(
y = np.mean(y, axis=tuple(range(y.ndim - 1))) y = np.mean(y, axis=tuple(range(y.ndim - 1)))
if sr is not None and sr != native_sr: if sr is not None and sr != native_sr:
y = resampy.resample(y, sr_orig=native_sr, sr_new=sr) y = resample_audio_pyav(y, orig_sr=native_sr, target_sr=sr)
return y, int(sr) return y, int(sr)
return y, native_sr return y, native_sr
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment