VoiceGuard-API / src /utils /compatibility.py
S-Vetrivel's picture
Refactor project structure to Unified AI Voice Detection System
b3f89f5
import torchaudio
def apply_patches():
"""
Apply compatibility patches for dependencies.
"""
# SpeechBrain compatibility fix for torchaudio >= 2.1
# Ensures list_audio_backends exists
if not hasattr(torchaudio, "list_audio_backends"):
def _list_audio_backends():
return ["soundfile"]
torchaudio.list_audio_backends = _list_audio_backends
# SpeechBrain (<=1.0.3) passes 'use_auth_token' which was removed in huggingface_hub >= 0.23.0
# Patch huggingface_hub.hf_hub_download to remap the argument
import huggingface_hub
from huggingface_hub import utils as hf_utils
_original_hf_hub_download = huggingface_hub.hf_hub_download
def _patched_hf_hub_download(*args, **kwargs):
if "use_auth_token" in kwargs:
# Remap to 'token' or remove if redundant (hf_hub_download handles 'token')
token_val = kwargs.pop("use_auth_token")
# Only set token if not already present
if "token" not in kwargs:
kwargs["token"] = token_val
return _original_hf_hub_download(*args, **kwargs)
huggingface_hub.hf_hub_download = _patched_hf_hub_download