11dependencies = ['torch' , 'torchaudio' ]
22import torch
33import json
4-
54from utils_vad import (init_jit_model ,
65 get_speech_timestamps ,
76 get_number_ts ,
1211 VADIterator ,
1312 collect_chunks ,
1413 drop_chunks ,
15- donwload_onnx_model )
14+ Validator ,
15+ OnnxWrapper )
1616
1717
18- def silero_vad (** kwargs ):
18+ def silero_vad (onnx = False ):
1919 """Silero Voice Activity Detector
2020 Returns a model with a set of utils
2121 Please see https://github.com/snakers4/silero-vad for usage examples
2222 """
2323 hub_dir = torch .hub .get_dir ()
24- model = init_jit_model (model_path = f'{ hub_dir } /snakers4_silero-vad_master/files/silero_vad.jit' )
24+ if onnx :
25+ model = OnnxWrapper (f'{ hub_dir } /snakers4_silero-vad_master/files/silero_vad.onnx' )
26+ else :
27+ model = init_jit_model (model_path = f'{ hub_dir } /snakers4_silero-vad_master/files/silero_vad.jit' )
2528 utils = (get_speech_timestamps ,
2629 save_audio ,
2730 read_audio ,
@@ -31,53 +34,60 @@ def silero_vad(**kwargs):
3134 return model , utils
3235
3336
34- def silero_number_detector (** kwargs ):
37+ def silero_number_detector (onnx = False ):
3538 """Silero Number Detector
3639 Returns a model with a set of utils
3740 Please see https://github.com/snakers4/silero-vad for usage examples
3841 """
39- torch .hub .download_url_to_file ('https://models.silero.ai/vad_models/number_detector.jit' , 'number_detector.jit' )
40- model = init_jit_model (model_path = 'number_detector.jit' )
42+ if onnx :
43+ url = 'https://models.silero.ai/vad_models/number_detector.onnx'
44+ else :
45+ url = 'https://models.silero.ai/vad_models/number_detector.jit'
46+ model = Validator (url )
4147 utils = (get_number_ts ,
4248 save_audio ,
4349 read_audio ,
4450 collect_chunks ,
45- drop_chunks ,
46- donwload_onnx_model )
51+ drop_chunks )
4752
4853 return model , utils
4954
5055
51- def silero_lang_detector (** kwargs ):
56+ def silero_lang_detector (onnx = False ):
5257 """Silero Language Classifier
5358 Returns a model with a set of utils
5459 Please see https://github.com/snakers4/silero-vad for usage examples
5560 """
56- torch .hub .download_url_to_file ('https://models.silero.ai/vad_models/number_detector.jit' , 'number_detector.jit' )
57- model = init_jit_model (model_path = 'number_detector.jit' )
61+ if onnx :
62+ url = 'https://models.silero.ai/vad_models/number_detector.onnx'
63+ else :
64+ url = 'https://models.silero.ai/vad_models/number_detector.jit'
65+ model = Validator (url )
5866 utils = (get_language ,
59- read_audio ,
60- donwload_onnx_model )
67+ read_audio )
6168
6269 return model , utils
6370
6471
65- def silero_lang_detector_95 (** kwargs ):
72+ def silero_lang_detector_95 (onnx = False ):
6673 """Silero Language Classifier (95 languages)
6774 Returns a model with a set of utils
6875 Please see https://github.com/snakers4/silero-vad for usage examples
6976 """
7077
7178 hub_dir = torch .hub .get_dir ()
72- torch .hub .download_url_to_file ('https://models.silero.ai/vad_models/lang_classifier_95.jit' , 'lang_classifier_95.jit' )
73- model = init_jit_model (model_path = 'lang_classifier_95.jit' )
79+ if onnx :
80+ url = 'https://models.silero.ai/vad_models/lang_classifier_95.onnx'
81+ else :
82+ url = 'https://models.silero.ai/vad_models/lang_classifier_95.jit'
83+ model = Validator (url )
7484
7585 with open (f'{ hub_dir } /snakers4_silero-vad_master/files/lang_dict_95.json' , 'r' ) as f :
7686 lang_dict = json .load (f )
7787
7888 with open (f'{ hub_dir } /snakers4_silero-vad_master/files/lang_group_dict_95.json' , 'r' ) as f :
7989 lang_group_dict = json .load (f )
8090
81- utils = (get_language_and_group , read_audio , donwload_onnx_model )
91+ utils = (get_language_and_group , read_audio )
8292
8393 return model , lang_dict , lang_group_dict , utils
0 commit comments