| --- |
| 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 |
| ``` |
| |