Merge pull request #340 from pipecat-ai/lewis/silero-vad-via-pip

Install Silero VAD via pip
This commit is contained in:
Lewis Wolfgang
2024-08-09 13:27:29 -04:00
committed by GitHub
5 changed files with 4 additions and 35 deletions

View File

@@ -15,12 +15,8 @@ from pipecat.vad.vad_analyzer import VADAnalyzer, VADParams, VADState
from loguru import logger
try:
from silero_vad import load_silero_vad
import torch
# We don't use torchaudio here, but we need to try importing it because
# Silero uses it.
import torchaudio
torch.set_num_threads(1)
except ModuleNotFoundError as e:
logger.error(f"Exception: {e}")
@@ -37,10 +33,6 @@ class SileroVADAnalyzer(VADAnalyzer):
self,
*,
sample_rate: int = 16000,
version: str = "v5.0",
force_reload: bool = False,
skip_validation: bool = True,
trust_repo: bool = True,
params: VADParams = VADParams()):
super().__init__(sample_rate=sample_rate, num_channels=1, params=params)
@@ -49,11 +41,7 @@ class SileroVADAnalyzer(VADAnalyzer):
logger.debug("Loading Silero VAD model...")
(self._model, _) = torch.hub.load(repo_or_dir=f"snakers4/silero-vad:{version}",
model="silero_vad",
force_reload=force_reload,
skip_validation=skip_validation,
trust_repo=trust_repo)
self._model = load_silero_vad()
self._last_reset_time = 0
@@ -94,20 +82,12 @@ class SileroVAD(FrameProcessor):
self,
*,
sample_rate: int = 16000,
version: str = "v5.0",
force_reload: bool = False,
skip_validation: bool = True,
trust_repo: bool = True,
vad_params: VADParams = VADParams(),
audio_passthrough: bool = False):
super().__init__()
self._vad_analyzer = SileroVADAnalyzer(
sample_rate=sample_rate,
version=version,
force_reload=force_reload,
skip_validation=skip_validation,
trust_repo=trust_repo,
params=vad_params)
self._audio_passthrough = audio_passthrough