PolyVocalis 是基于 FunASR 的智能语音分离系统,提供以下核心功能:
- 🔉 多说话人语音分离与识别
- 🎚️ 音频格式自动转换(支持 15+ 媒体格式)
- ⚡ GPU 加速处理(NVIDIA CUDA 支持)
- 📊 带时间戳的文本转录输出
# 克隆项目
git clone https://github.com/lb1169656535/PolyVocalis.git
cd PolyVocalis
# 创建环境
conda create -n polyVocalis python=3.12
# 激活环境(根据自己的环境名)
conda activate polyVocalis
# 安装依赖
pip install -r requirements.txt
# 安装系统依赖 (Ubuntu)
sudo apt install ffmpegpython download_model.py# 转换单个文件
python towav.py
# 转换一个文件夹里面所有文件
python towavs.py
# 将文件夹所有wav合并为一个wav文件
python merge_wav.py # 单文件处理
python app.py -i input.m4a -o ./output --gpu 0
# 多文件批量脚本(按需求修改脚本内容)
./batch_process.sh
# 批量处理目录(经测试不好使,还是得使用合并文件的方式)
# python app.py -i ./audio_files/*.mp3 -o ./result -t 8PolyVocalis/
├── app.py # 主程序
├── download_model.py # 模型下载工具
├── towav.py # 单个音频格式转换工具
├── towavs.py #一个文件夹内所有音频文件格式转换工具
├── merge_wav.py # 将文件夹所有wav合并为一个wav
├── batch_process.sh # 批量执行python app.py 按需修改脚本内容
├── requirements.txt # Python 依赖清单
└── README.md
| 参数 | 说明 | 默认值 |
|---|---|---|
-i/--input |
输入文件/通配符路径 | 必填 |
-o/--output |
输出目录 | 必填 |
-w |
文本合并词数阈值 | 10 |
-t |
并行线程数 | 4 |
--gpu |
GPU 设备编号 (-1=CPU) | 0 |
| 音频格式 | 视频格式 |
|---|---|
| MP3, WAV, FLAC | MP4, AVI, MOV |
| M4A, AAC, OGG | MKV, WMV |
output/
└── 2025-4-21/
└── test_audio/
├── spk_0/
│ ├── segment_0.wav
│ └── full_spk_0.mp3
├── spk_1/
└── logs/
└── spk_0_transcript.txt
欢迎通过 Issue 或 PR 参与项目开发:
- Fork 项目仓库
- 创建特性分支 (
git checkout -b feature/awesome-feature) - 提交修改 (
git commit -am 'Add some feature') - 推送分支 (
git push origin feature/awesome-feature) - 创建 Pull Request
本项目采用 MIT License