# 音轨分离 **Repository Path**: banfoguan/SonicPeel ## Basic Information - **Project Name**: 音轨分离 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-29 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SonicPeel - 音频人声分离工具 基于 Demucs 的本地音频分离应用,支持伴奏/人声分离和男女声分离。 ## 功能特性 ✅ **伴奏/人声分离**:使用 Demucs 模型(htdemucs / htdemucs_ft) ✅ **男女声分离**:提供三种算法 - 基础算法(频谱分析,速度快) - ICA 算法(盲源分离,适合合唱) - 深度学习(SpeechBrain Sepformer,最准确,需要 GPU) ✅ **实时进度显示**:可视化处理进度 ✅ **系统资源监控**:CPU、内存、GPU 占用率实时显示 ## 系统要求 ### 基础配置(CPU 模式) - Windows 10/11 - Python 3.11 - 8GB+ 内存 ### 推荐配置(GPU 加速) - NVIDIA 显卡(建议 RTX 4090 24GB 显存用于深度学习模式) - CUDA 12.1+ - 16GB+ 内存 ## 快速开始 ### 1. 克隆仓库 ```powershell git clone git@gitee.com:banfoguan/SonicPeel.git cd SonicPeel ``` ### 2. 创建虚拟环境 ```powershell python -m venv .venv .\.venv\Scripts\Activate.ps1 ``` ### 3. 安装依赖 ```powershell # 先安装 PyTorch(CUDA 版本) pip install torch==2.5.1+cu121 torchaudio==2.5.1+cu121 --index-url https://download.pytorch.org/whl/cu121 # 再安装其他依赖 pip install -r requirements.txt ``` ### 4. (可选)下载深度学习模型 如果需要使用深度学习模式进行男女声分离: ```powershell python download_model.py ``` ### 5. 启动应用 ```powershell python app.py ``` 浏览器访问: - **本机访问**:http://127.0.0.1:8177 - **局域网访问**:http://服务器IP:8177(例如:http://192.168.1.100:8177) ## 使用说明 1. **上传音频**:支持 MP3、WAV 等格式 2. **选择模型**:标准模型(htdemucs)或微调模型(htdemucs_ft) 3. **男女声分离**(可选): - 勾选"启用男女声分离" - 选择分离算法: - **基础算法**:速度最快,适合独唱为主的歌曲 - **ICA 算法**:适合合唱场景,完全本地化 - **深度学习**:效果最佳,需要先下载模型 4. **开始分离**:观察进度条,等待处理完成 5. **下载结果**:分离后的音频文件 ## 在 4090 电脑上部署(深度学习 GPU 模式) ### 前提条件 - 已安装 NVIDIA 驱动 - 已安装 CUDA 12.1+ - 已配置 Git SSH 密钥 ### 部署步骤 #### 1. 克隆代码 ```powershell git clone git@gitee.com:banfoguan/SonicPeel.git cd SonicPeel ``` #### 2. 创建虚拟环境 ```powershell python -m venv .venv .\.venv\Scripts\Activate.ps1 ``` #### 3. 安装 PyTorch(GPU 版本) ```powershell pip install torch==2.5.1+cu121 torchaudio==2.5.1+cu121 --index-url https://download.pytorch.org/whl/cu121 ``` #### 4. 安装其他依赖 ```powershell pip install -r requirements.txt ``` #### 5. 下载深度学习模型 ```powershell python download_model.py ``` 模型会下载到 `C:\Users\你的用户名\.cache\huggingface\hub\` 目录(约 113MB) #### 6. 修改代码启用 GPU 打开 `app.py`,找到第 287 行: ```python run_opts={"device": "cpu"}, ``` 改为: ```python run_opts={"device": "cuda"}, ``` #### 7. 启动应用 ```powershell python app.py ``` #### 8. 测试深度学习模式 - 浏览器访问 http://127.0.0.1:7860 - 上传男女对唱歌曲 - 勾选"启用男女声分离" - 选择"深度学习(最准确,已下载模型)" - 点击"开始分离" - GPU 模式处理速度:约 30-60 秒/首歌 ## 算法对比 | 算法 | 速度 | 合唱效果 | 显存需求 | 适用场景 | |------|------|----------|----------|----------| | 基础算法 | ⚡ 最快(10-20秒) | ⭐⭐ 一般 | 无 | 独唱为主 | | ICA 算法 | 🐢 较慢(30-60秒) | ⭐⭐⭐ 较好 | 无 | 合唱重叠 | | 深度学习(CPU) | 🐌 很慢(2-5分钟) | ⭐⭐⭐⭐ 好 | 无 | 高质量需求 | | 深度学习(GPU) | ⚡ 快(30-60秒) | ⭐⭐⭐⭐⭐ 最佳 | 6-8GB | 最佳效果 | ## 常见问题 ### Q: 显存不足怎么办? A: RTX 4060 8GB 显存不够运行深度学习 GPU 模式,建议: - 使用 ICA 算法(完全本地,效果较好) - 或在 4090 等大显存显卡上运行深度学习模式 ### Q: 首次运行很慢? A: Demucs 会自动下载模型文件(约 2GB),属于正常现象 ### Q: 如何验证 GPU 是否启用? A: 查看页面顶部的系统资源监控,GPU 占用率应该有数值显示 ### Q: 合唱部分分离效果不好? A: 建议使用深度学习模式(需要 GPU),这是目前最准确的方案 ### Q: 如何让局域网其他设备访问? A: 应用已配置为监听 `0.0.0.0:8177`,局域网内其他设备可直接访问: 1. 查看服务器 IP 地址:在 PowerShell 中运行 `ipconfig`,找到 IPv4 地址(如 192.168.1.100) 2. 确保 Windows 防火墙允许 8177 端口入站连接 3. 其他设备浏览器访问:`http://服务器IP:8177` **配置防火墙规则**(在服务器上执行): ```powershell New-NetFirewallRule -DisplayName "SonicPeel Web" -Direction Inbound -Protocol TCP -LocalPort 8177 -Action Allow ``` ## 技术栈 - **Demucs**:伴奏/人声分离 - **Librosa**:音频处理 - **SpeechBrain**:深度学习说话人分离 - **scikit-learn**:ICA 盲源分离、KMeans 聚类 - **Gradio**:Web UI - **PyTorch**:深度学习框架 ## 开发计划 - [ ] 批量处理功能 - [ ] 导出 MP3 格式 - [ ] 更多深度学习模型支持 - [ ] 音频质量评估 ## 许可证 MIT License