mirror of
https://github.com/snakers4/silero-vad.git
synced 2026-02-05 18:09:22 +08:00
add micro model
This commit is contained in:
BIN
files/model_micro.jit
Normal file
BIN
files/model_micro.jit
Normal file
Binary file not shown.
BIN
files/model_micro.onnx
Normal file
BIN
files/model_micro.onnx
Normal file
Binary file not shown.
17
hubconf.py
17
hubconf.py
@@ -29,6 +29,23 @@ def silero_vad(**kwargs):
|
|||||||
return model, utils
|
return model, utils
|
||||||
|
|
||||||
|
|
||||||
|
def silero_vad_micro(**kwargs):
|
||||||
|
"""Silero Voice Activity Detector
|
||||||
|
Returns a model with a set of utils
|
||||||
|
Please see https://github.com/snakers4/silero-vad for usage examples
|
||||||
|
"""
|
||||||
|
hub_dir = torch.hub.get_dir()
|
||||||
|
model = init_jit_model(model_path=f'{hub_dir}/snakers4_silero-vad_master/files/model_micro.jit')
|
||||||
|
utils = (get_speech_ts,
|
||||||
|
save_audio,
|
||||||
|
read_audio,
|
||||||
|
state_generator,
|
||||||
|
single_audio_stream,
|
||||||
|
collect_chunks)
|
||||||
|
|
||||||
|
return model, utils
|
||||||
|
|
||||||
|
|
||||||
def silero_number_detector(**kwargs):
|
def silero_number_detector(**kwargs):
|
||||||
"""Silero Number Detector
|
"""Silero Number Detector
|
||||||
Returns a model with a set of utils
|
Returns a model with a set of utils
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ from typing import List
|
|||||||
from itertools import repeat
|
from itertools import repeat
|
||||||
from collections import deque
|
from collections import deque
|
||||||
import torch.nn.functional as F
|
import torch.nn.functional as F
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
torchaudio.set_audio_backend("soundfile") # switch backend
|
torchaudio.set_audio_backend("soundfile") # switch backend
|
||||||
@@ -60,7 +61,7 @@ def get_speech_ts(wav: torch.Tensor,
|
|||||||
batch_size: int = 200,
|
batch_size: int = 200,
|
||||||
num_samples_per_window: int = 4000,
|
num_samples_per_window: int = 4000,
|
||||||
min_speech_samples: int = 10000, #samples
|
min_speech_samples: int = 10000, #samples
|
||||||
min_silence_samples: int = 8000,
|
min_silence_samples: int = 500,
|
||||||
run_function=validate,
|
run_function=validate,
|
||||||
visualize_probs=False):
|
visualize_probs=False):
|
||||||
|
|
||||||
@@ -308,6 +309,7 @@ def single_audio_stream(model,
|
|||||||
wav = read_audio(audio)
|
wav = read_audio(audio)
|
||||||
wav_chunks = iter([wav[i:i+num_samples] for i in range(0, len(wav), num_samples)])
|
wav_chunks = iter([wav[i:i+num_samples] for i in range(0, len(wav), num_samples)])
|
||||||
for chunk in wav_chunks:
|
for chunk in wav_chunks:
|
||||||
|
time.sleep(0.1)
|
||||||
batch = VADiter.prepare_batch(chunk)
|
batch = VADiter.prepare_batch(chunk)
|
||||||
|
|
||||||
outs = run_function(model, batch)
|
outs = run_function(model, batch)
|
||||||
|
|||||||
Reference in New Issue
Block a user