--- license: mit --- ## 简介 这是一个对 silero_vad (https://github.com/snakers4/silero-vad) 的简易封装,便于开发。 ## 目录简介 ## 环境安装 ### 系统环境 > 1. 在macOS 14.5 版本已验证执行OK。 > 2. mac上安装 onnxruntime(brew 安装未使能 CoreMl, 需下载源码, 手动编译使能, 并安装) ```bash brew install onnxruntime ``` > 3. 下载onnxruntime源码, 手动编译使能, 并安装 ```bash brew install cmake protobuf python # 可选 git clone https://github.com/microsoft/onnxruntime cd onnxruntime ./build.sh --config Release --enable_coreml # 或者 ./build.sh --config Release --enable_coreml --build_wheel --parallel sudo ./install_to_system.sh # 如果不安装,库目录build/Release,头文件目录 build/Release/include/ ``` ## 目录简介 ``` . ├── README.md ├── bin/ │ ├──main_silero.cpp // 参照 silero_vad中cpp的example封装代码进行测试 │ ├── main.cpp // 参照 translator中FixedVADIterator封装代码进行测试 │ ├── wav.h // 定义读取 wav 文件类 │ └── ... ├── python/ │ ├── processing.py // translator中FixedVADIterator的python脚本 │ └── ... ├── reference/ // python、cpp参考代码 ├── silero_vad_onnx/ // 参照 silero_vad中cpp的封装 │ ├── time_stamp.cpp │ ├── time_stamp.h │ ├── vad_iterator.cpp │ ├── vad_iterator.h │ └── ... ├── vad_onnx/ // 参照 translator中FixedVADIterator封装 │ ├── vad_onnx.cpp │ ├── vad_onnx.h │ └── ... └── ... ``` ## 编译 ```bash git clone https://huggingface.co/MoYoYoTech/vad_cpp cd vad_cpp mkdir build cd build cmake .. -DONNXRUNTIME_DIR=/opt/homebrew/Cellar/onnxruntime/1.21.1 # 或者指定源码编译后的路径,包括 include 和 lib目录 make ``` ## 运行&使用 ### 接口调用和使用参考 main_silero.cpp 和 main.cpp ```bash cd bin # silero_vad_onnx.dylib 测试程序 ./main_silero "/Users/.../Translator/moyoyo_asr_models/silero-vad/silero_vad.onnx" "/Users/xxx/zh.wav" # vad_onnx.dylib 测试程序 ./main "/Users/.../Translator/moyoyo_asr_models/silero-vad/silero_vad.onnx" "/Users/xxx/zh.wav" ``` ### translator中FixedVADIterator的python测试脚本 ```bash cd vad_cpp # python/processing.py中配置 wav_path ; 在python/helpers/vadprocessor.py中配置 VAD_MODEL_PATH python -m python.processing # 结果显示 .... 935936 ->>> {'start': 935456} -> {'start': 5664} 984576 ->>> {'end': 983008} -> {'start': 5664, 'end': 983008} strat: 5664 end: 983008 ```