综合介绍
Seed-VC 是一个开源项目,地址在 GitHub 上,由 Plachtaa 开发。它能用一段 1 到 30 秒的参考音频,快速实现语音或歌声转换,不需要额外训练。项目支持实时语音转换,延迟低至 400 毫秒左右,适合在线会议、游戏或直播使用。Seed-VC 提供三种模式:语音转换(VC)、歌声转换(SVC)和实时转换。它用 Whisper 和 BigVGAN 等技术,保证声音清晰。代码免费公开,用户可下载并在本地搭建。官方持续更新,文档详细,社区支持活跃。
功能列表
- 支持零样本转换:用短音频模仿目标语音或歌声。
- 实时语音处理:麦克风输入后,声音即时变为目标音色。
- 歌声转换:将任意歌声转为指定歌手的声音。
- 音频长度调整:加速或减慢语音,控制节奏。
- 音高调节:自动或手动调整音调,适配目标音色。
- Web 界面操作:提供简单图形界面,方便使用。
- 支持自定义训练:用少量数据优化特定声音。
- 开源代码:用户可修改或升级功能。
使用帮助
安装流程
要在本地使用 Seed-VC,需要先安装环境。以下是详细步骤,适用于 Windows、Mac(含 M 系列芯片)或 Linux。
- 准备环境
- 安装 Python 3.10,从官网下载即可。
- 安装 Git,Windows 用户可搜索 "Git for Windows",Mac 用 brew install git 。
- GPU 用户需安装 CUDA 12.4 和对应驱动,CPU 也能跑但较慢。
- 安装 FFmpeg 处理音频,Windows 从官网下载,Mac 用 brew install ffmpeg ,Linux 用包管理器安装。
- 下载代码
- 打开命令行(Windows 用 CMD 或 Anaconda Prompt,Mac/Linux 用终端)。
- 输入 git clone https://github.com/Plachtaa/seed-vc.git ,下载项目。
- 进入目录: cd seed-vc 。
- 设置虚拟环境
- 输入 python -m venv venv ,创建独立环境。
- 激活环境:
- Windows: venv\Scripts\activate
- Mac/Linux: source venv/bin/activate
- 看到 (venv) 表示成功。
- 安装依赖
- Windows/Linux 输入 pip install -r requirements.txt 。
- Mac M 系列输入 pip install -r requirements-mac.txt 。
- 网络问题时加镜像: HF_ENDPOINT=https://hf-mirror.com pip install -r requirements.txt 。
- 运行程序
- 语音转换: python app_vc.py
- 歌声转换: python app_svc.py
- 实时转换: python real-time-gui.py
- 运行后,浏览器访问 http://localhost:7860 使用界面。
主要功能操作
1. 语音转换(VC)
- 步骤:
- 运行 python app_vc.py ,打开浏览器到 http://localhost:7860 。
- 上传原始音频(Source Audio)和参考音频(Reference Audio,1-30 秒)。
- 设置扩散步数(Diffusion Steps),默认 25,设 30-50 音质更好。
- 调整长度(Length Adjust),小于 1 加速,大于 1 减慢。
- 点击提交,等待几秒,下载转换结果。
- 注意:
- 首次运行会自动下载模型 seed-uvit-whisper-small-wavenet 。
- 参考音频超 30 秒会截断。
2. 歌声转换(SVC)
- 步骤:
- 运行 python app_svc.py ,打开 Web 界面。
- 上传歌声音频和歌手参考音频。
- 勾选 f0-condition (音高条件),保持歌声音调。
- 可选 auto-f0-adjust 自动调整音高。
- 设置扩散步数到 30-50,点击提交。
- 技巧:
- 用清晰无背景音的参考音频,效果最佳。
- 模型默认下载 seed-uvit-whisper-base 。
3. 实时转换
- 步骤:
- 运行 python real-time-gui.py ,打开界面。
- 上传参考音频,连接麦克风。
- 设置参数:扩散步数 4-10,Block Time 0.18 秒。
- 点击 “Start”,说话时声音实时转换。
- 用 VB-CABLE 将输出路由到虚拟麦克风。
- 要求:
- GPU 推荐(如 RTX 3060),延迟约 430 毫秒。
- CPU 运行延迟更高。
4. 命令行操作
- 语音转换示例:
python inference.py --source input.wav --target ref.wav --output ./out --diffusion-steps 25 --length-adjust 1.0 --fp16 True
- 歌声转换示例:
python inference.py --source song.wav --target singer.wav --output ./out --diffusion-steps 50 --f0-condition True --semi-tone-shift 0 --fp16 True
5. 自定义训练
- 步骤:
- 准备 1-30 秒的音频文件(.wav/.mp3 等格式),放入文件夹。
- 运行训练:
python train.py --config configs/presets/config_dit_mel_seed_uvit_whisper_base_f0_44k.yml --dataset-dir ./data --run-name myrun --max-steps 1000
- 训练后Checkpoint 在 ./runs/myrun/ft_model.pth 。
- 用自定义模型推理:
python app_svc.py --checkpoint ./runs/myrun/ft_model.pth --config configs/presets/config_dit_mel_seed_uvit_whisper_base_f0_44k.yml
- 注意:至少 1 个音频样本即可训练,100 步约 2 分钟(T4 GPU)。
补充说明
- 模型选择:
- 实时用 seed-uvit-tat-xlsr-tiny (25M 参数)。
- 离线语音用 seed-uvit-whisper-small-wavenet (98M 参数)。
- 歌声用 seed-uvit-whisper-base (200M 参数,44kHz)。
- 调试:
- 报错 ModuleNotFoundError ,检查依赖。
- Mac 运行实时 GUI 可能需安装带 Tkinter 的 Python。
应用场景
- 娱乐配音
将声音转为卡通角色,制作搞笑视频。 - 音乐制作
把普通歌声转为专业歌手音色,生成歌曲 demo。 - 直播互动
主播实时变声,增加节目趣味。 - 语言学习
模仿母语者语音,练习发音。
QA
- 需要大量数据吗?
不需要。1 段短音频就能转换,训练也只需 1 个样本。 - 支持中文音频吗?
支持。只要参考音频是中文,转换后也清晰。 - 延迟高怎么办?
用 GPU 并设低扩散步数(4-10)。 - 音质差怎么办?
提高扩散步数到 50,或用干净参考音频。