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()