Skip to content

本项目主要功能是在一段多个不同说话人的音频里 分别提取出不同说话人的音频

License

Notifications You must be signed in to change notification settings

lb1169656535/PolyVocalis

Repository files navigation

PolyVocalis - 智能语音分离工具

License Python 3.8+

🎯 项目概述

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 ffmpeg

模型下载

python download_model.py

音频格式转换为wav(如果需要)

# 转换单个文件
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 8

📂 项目结构

PolyVocalis/
├── 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 参与项目开发:

  1. Fork 项目仓库
  2. 创建特性分支 (git checkout -b feature/awesome-feature)
  3. 提交修改 (git commit -am 'Add some feature')
  4. 推送分支 (git push origin feature/awesome-feature)
  5. 创建 Pull Request

📜 开源协议

本项目采用 MIT License

📞 联系方式

作者:帅小柏
B站:B站
CSDN:CSDN

About

本项目主要功能是在一段多个不同说话人的音频里 分别提取出不同说话人的音频

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published