mirror of
https://github.com/snakers4/silero-vad.git
synced 2026-02-04 17:39:22 +08:00
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
from .utils_vad import init_jit_model, OnnxWrapper
|
|
import torch
|
|
torch.set_num_threads(1)
|
|
|
|
|
|
def load_silero_vad(onnx=False, opset_version=16):
|
|
available_ops = [15, 16]
|
|
if onnx and opset_version not in available_ops:
|
|
raise Exception(f'Available ONNX opset_version: {available_ops}')
|
|
|
|
if onnx:
|
|
if opset_version == 16:
|
|
model_name = 'silero_vad.onnx'
|
|
else:
|
|
model_name = f'silero_vad_16k_op{opset_version}.onnx'
|
|
else:
|
|
model_name = 'silero_vad.jit'
|
|
package_path = "silero_vad.data"
|
|
|
|
try:
|
|
import importlib_resources as impresources
|
|
model_file_path = str(impresources.files(package_path).joinpath(model_name))
|
|
except:
|
|
from importlib import resources as impresources
|
|
try:
|
|
with impresources.path(package_path, model_name) as f:
|
|
model_file_path = f
|
|
except:
|
|
model_file_path = str(impresources.files(package_path).joinpath(model_name))
|
|
|
|
if onnx:
|
|
model = OnnxWrapper(str(model_file_path), force_onnx_cpu=True)
|
|
else:
|
|
model = init_jit_model(model_file_path)
|
|
|
|
return model
|