File size: 2,931 Bytes
d21d362 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | ---
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
```
|