简介

这是一个对 silero_vad (https://github.com/snakers4/silero-vad) 的简易封装,便于开发。

目录简介

环境安装

系统环境

  1. 在macOS 14.5 版本已验证执行OK。
  2. mac上安装 onnxruntime(brew 安装未使能 CoreMl, 需下载源码, 手动编译使能, 并安装)
    brew install onnxruntime
    
  3. 下载onnxruntime源码, 手动编译使能, 并安装
    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
```
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support