SileroVAD / main.py
inoryQwQ's picture
moved silero to pypi
872019a
import argparse
from StreamVAD import StreamVAD
import os
import librosa
import soundfile as sf
def get_args():
parser = argparse.ArgumentParser()
parser.add_argument('--input', type=str, required=True, help='Input audio file')
parser.add_argument('--backend', type=str, default='ax650', choices=['ax650', 'ax630c', 'onnx'])
parser.add_argument('--output_dir', type=str, default='output', help='Output audio dir')
return parser.parse_args()
def main():
args = get_args()
os.makedirs(args.output_dir, exist_ok=True)
vad = StreamVAD(args.backend,
sensitivity=0.5,
silence_ms=200)
audio, _ = librosa.load(args.input, sr=vad.model.sr, mono=True)
i = 0
for result in vad.run(audio, vad.model.sr):
if result:
print(result)
filename = os.path.join(args.output_dir, f"{i}.wav")
sf.write(filename, result['audio'], samplerate=vad.model.sr)
i += 1
if __name__ == '__main__':
main()