Install silero via pip
This commit is contained in:
@@ -50,7 +50,7 @@ moondream = [ "einops~=0.8.0", "timm~=0.9.16", "transformers~=4.40.2" ]
|
|||||||
openai = [ "openai~=1.35.0" ]
|
openai = [ "openai~=1.35.0" ]
|
||||||
openpipe = [ "openpipe~=4.18.0" ]
|
openpipe = [ "openpipe~=4.18.0" ]
|
||||||
playht = [ "pyht~=0.0.28" ]
|
playht = [ "pyht~=0.0.28" ]
|
||||||
silero = [ "torch~=2.3.1", "torchaudio~=2.3.1" ]
|
silero = [ "silero-vad~=5.1" ]
|
||||||
websocket = [ "websockets~=12.0", "fastapi~=0.111.0" ]
|
websocket = [ "websockets~=12.0", "fastapi~=0.111.0" ]
|
||||||
whisper = [ "faster-whisper~=1.0.3" ]
|
whisper = [ "faster-whisper~=1.0.3" ]
|
||||||
xtts = [ "resampy~=0.4.3" ]
|
xtts = [ "resampy~=0.4.3" ]
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ from pipecat.vad.vad_analyzer import VADAnalyzer, VADParams, VADState
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
from silero_vad import load_silero_vad
|
||||||
import torch
|
import torch
|
||||||
# We don't use torchaudio here, but we need to try importing it because
|
# We don't use torchaudio here, but we need to try importing it because
|
||||||
# Silero uses it.
|
# Silero uses it.
|
||||||
@@ -37,10 +38,6 @@ class SileroVADAnalyzer(VADAnalyzer):
|
|||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
sample_rate: int = 16000,
|
sample_rate: int = 16000,
|
||||||
version: str = "v5.0",
|
|
||||||
force_reload: bool = False,
|
|
||||||
skip_validation: bool = True,
|
|
||||||
trust_repo: bool = True,
|
|
||||||
params: VADParams = VADParams()):
|
params: VADParams = VADParams()):
|
||||||
super().__init__(sample_rate=sample_rate, num_channels=1, params=params)
|
super().__init__(sample_rate=sample_rate, num_channels=1, params=params)
|
||||||
|
|
||||||
@@ -49,11 +46,7 @@ class SileroVADAnalyzer(VADAnalyzer):
|
|||||||
|
|
||||||
logger.debug("Loading Silero VAD model...")
|
logger.debug("Loading Silero VAD model...")
|
||||||
|
|
||||||
(self._model, _) = torch.hub.load(repo_or_dir=f"snakers4/silero-vad:{version}",
|
self._model = load_silero_vad()
|
||||||
model="silero_vad",
|
|
||||||
force_reload=force_reload,
|
|
||||||
skip_validation=skip_validation,
|
|
||||||
trust_repo=trust_repo)
|
|
||||||
|
|
||||||
self._last_reset_time = 0
|
self._last_reset_time = 0
|
||||||
|
|
||||||
@@ -94,20 +87,12 @@ class SileroVAD(FrameProcessor):
|
|||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
sample_rate: int = 16000,
|
sample_rate: int = 16000,
|
||||||
version: str = "v5.0",
|
|
||||||
force_reload: bool = False,
|
|
||||||
skip_validation: bool = True,
|
|
||||||
trust_repo: bool = True,
|
|
||||||
vad_params: VADParams = VADParams(),
|
vad_params: VADParams = VADParams(),
|
||||||
audio_passthrough: bool = False):
|
audio_passthrough: bool = False):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
|
|
||||||
self._vad_analyzer = SileroVADAnalyzer(
|
self._vad_analyzer = SileroVADAnalyzer(
|
||||||
sample_rate=sample_rate,
|
sample_rate=sample_rate,
|
||||||
version=version,
|
|
||||||
force_reload=force_reload,
|
|
||||||
skip_validation=skip_validation,
|
|
||||||
trust_repo=trust_repo,
|
|
||||||
params=vad_params)
|
params=vad_params)
|
||||||
self._audio_passthrough = audio_passthrough
|
self._audio_passthrough = audio_passthrough
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user