RVC:部署拥有 3.5 万+ 星标的 AI 语音转换工具
RVC(基于检索的语音转换)是一个基于 VITS 的语音转换框架,兼容 GPT-SoVITS、Coqui TTS 和 Demucs。本教程涵盖 Docker 部署、训练流程、API 集成以及生产环境强化。
- MIT
- 更新于 2026-05-19

简介 #
你需要一个能在 10 分钟内完成训练、在单块 GPU 上运行、并产出广播级质量输出的语音转换流程。开源生态已经涌现出数十种声音克隆工具,但大多数都需要数小时的训练、庞大的数据集,或者按分钟计费的云端 API。RVC(基于检索的语音转换)是一个基于 VITS 的框架,在 GitHub 上拥有 35,700+ 星标,只需 10 分钟干净音频就能把训练时间压缩到 10 分钟以内。本指南将带你搭建一套生产可用的 RVC 环境——Docker 部署、训练流程、API 集成,以及在正式上线给用户使用之前需要做的各项强化。
RVC 是什么? #
RVC 是一个开源的语音转换框架,它能把一个人的声音转换成另一个人的声音,同时保留语音内容、语调和节奏。它基于 VITS 构建,加入了基于检索的特征匹配模块,在消费级 GPU 上能实现 10 分钟以内的训练时间,并支持延迟低至 90 毫秒的实时推理。
RVC 的工作原理 #
RVC 的架构由四个核心模块组成:
内容特征提取 —— 使用 ContentVec(HuBERT 的一个解耦变体)从源音频中提取与说话人无关的语音和语言特征。ContentVec 在保留内容信息的同时剥离说话人身份,非常适合语音转换任务。
音高提取 —— 采用在 Interspeech 2023 上发布的 RMVPE(鲁棒人声音高估计模型)来提取基频(F0)。RMVPE 能够处理复调音频,即使在音源分离不完美的情况下也能保持准确。
声学建模 —— 基于 VITS(面向端到端文本转语音、结合对抗学习的变分推理)构建,这是一种通过归一化流增强的条件 VAE。VITS 通过生成器和多周期判别器之间的对抗训练来生成高保真音频。
检索模块 —— RVC 的标志性创新。在训练阶段,内容特征会被索引进一个 Faiss 向量数据库。在推理阶段,源特征会被替换成来自训练集的 Top-K 近邻特征(默认 K=8),从而显著减少源说话人的音色泄漏。一个 index_rate 参数(α,通常为 0.3)控制检索特征与源特征之间的混合比例。

安装与配置 #
前置条件 #
RVC 可以在 Linux、macOS 和 Windows 上运行。训练需要至少 4GB 显存的 NVIDIA GPU(建议 8GB 以上)。如果只做推理,CPU 也能以可接受的延迟工作。
最低硬件要求:
- GPU:NVIDIA GTX 1660 6GB / RTX 2060 8GB(训练用);4GB 显存(仅推理)
- CPU:4 核 Intel/AMD 处理器
- 内存:最低 8GB,建议 16GB
- 存储:为模型和依赖预留 10GB 可用空间
方式一:Docker 部署(推荐用于生产环境) #
官方 Dockerfile 在 Ubuntu 20.04 + Python 3.9 环境中使用 CUDA 11.6.2:
# Clone the repository
git clone https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
cd Retrieval-based-Voice-Conversion-WebUI
# Build the Docker image
docker build -t rvc-webui:latest .
# Run with GPU support and volume mounts
docker run -d --name rvc \
--gpus all \
-p 7865:7865 \
-v $(pwd)/weights:/app/weights \
-v $(pwd)/opt:/app/opt \
rvc-webui:latest
对于使用 docker-compose 的用户:
version: '3.8'
services:
rvc:
build: .
container_name: rvc-webui
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
ports:
- "7865:7865"
volumes:
- ./weights:/app/weights
- ./opt:/app/opt
- ./assets:/app/assets
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
restart: unless-stopped
# Start with docker-compose
docker-compose up -d
# Check logs
docker-compose logs -f rvc
方式二:本地 Python 环境搭建 #
# Clone repository
git clone https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI.git
cd Retrieval-based-Voice-Conversion-WebUI
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Download pretrained models
python tools/download_models.py
# Or manually download from HuggingFace
wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/D40k.pth -P assets/pretrained_v2/
wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/G40k.pth -P assets/pretrained_v2/
wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0D40k.pth -P assets/pretrained_v2/
wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/pretrained_v2/f0G40k.pth -P assets/pretrained_v2/
wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/hubert_base.pt -P assets/hubert/
wget https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main/rmvpe.pt -P assets/rmvpe/
方式三:AMD GPU 配置(ROCm) #
# Install ROCm dependencies (Ubuntu/Debian)
sudo apt install rocm-hip-sdk rocm-opencl-sdk
# Set environment variables
export ROCM_PATH=/opt/rocm
export HSA_OVERRIDE_GFX_VERSION=10.3.0
# Add user to render and video groups
sudo usermod -aG render $USER
sudo usermod -aG video $USER
# Install AMD-specific requirements
pip install -r requirements-amd.txt
启动 WebUI #
# Start the Gradio web interface
python infer-web.py
# The WebUI will be available at http://localhost:7865
训练流程 #
第一步:准备数据集 #
RVC 需要干净的单声道音频。为获得最佳效果:
- 时长: 10-30 分钟干净的语音(最低 1 分钟也可以)
- 格式: WAV,16 位或 24 位,22050Hz 或 40000Hz 采样率
- 内容: 单一说话人,背景噪音尽量少,没有音乐或混响
- 静音: 去除较长的静音片段(超过 3 秒)
使用内置的 UVR5 进行音源分离:
# Separate vocals from background music
python tools/uvr5/uvr5_cli.py \
--input_path ./raw_audio/song_with_music.wav \
--output_path ./dataset/ \
--model_name "HP2-人声vocals+非人声instrumentals"
第二步:预处理并提取特征 #
在 WebUI 的 Train 标签页中:
- 设置实验名称(例如
my_voice_v2) - 将目标采样率设为 40kHz(推荐)
- 将 RVC 版本设为 v2
- 将模型架构设为
rmvpe_gpu - 将数据集路径设为你的音频文件夹
- 点击一键训练
或者通过命令行执行:
# Step 1: Preprocess (resample, slice, remove silence)
python trainset_preprocess_pipeline_print.py \
./dataset/my_voice \
40000 \
8 # number of CPU threads
# Step 2: Extract features with ContentVec
python extract_feature_print.py \
--model_name my_voice_v2 \
--sample_rate 40000 \
--pitch_extractor rmvpe \
--gpu 0
# Step 3: Train the model
python train_nsf_sim_cache_sid_load_pretrain.py \
--model_name my_voice_v2 \
--sample_rate 40000 \
--batch_size 8 \
--total_epoch 200 \
--save_every_epoch 5 \
--pretrained_G assets/pretrained_v2/f0G40k.pth \
--pretrained_D assets/pretrained_v2/f0D40k.pth \
--gpu 0
第三步:构建特征索引 #
# Generate the Faiss index for retrieval
python tools/infer/train_index.py \
--model_name my_voice_v2 \
--sample_rate 40000
训练输出位置:
logs/
└── my_voice_v2/
├── added_IVF512_Flat_nprobe_1.index # Faiss retrieval index
├── G_*.pth # Generator checkpoints
├── D_*.pth # Discriminator checkpoints
└── config.json # Model configuration

训练基准测试 #
| 硬件 | 数据集大小 | 训练轮数 | 训练时间 | 输出质量 |
|---|---|---|---|---|
| RTX 3090(24GB) | 10 分钟音频 | 200 | 约 18 分钟 | 优秀 |
| RTX 4090(24GB) | 10 分钟音频 | 200 | 约 12 分钟 | 优秀 |
| RTX 3060(12GB) | 10 分钟音频 | 200 | 约 35 分钟 | 非常好 |
| GTX 1660(6GB) | 10 分钟音频 | 200 | 约 90 分钟 | 良好 |
| Colab T4(16GB) | 10 分钟音频 | 200 | 约 40 分钟 | 非常好 |
与常用工具的集成 #
集成一:GPT-SoVITS(TTS + RVC 流程) #
GPT-SoVITS 负责从文本生成语音;RVC 负责把它转换成目标声音。两者结合起来,就构成了一套完整的文本转语音克隆流程:
# gpt_sovits_rvc_pipeline.py
import subprocess
import requests
import os
def tts_then_convert(text: str, speaker_wav: str, rvc_model: str):
"""GPT-SoVITS TTS → RVC voice conversion pipeline"""
# Step 1: Generate speech with GPT-SoVITS
tts_response = requests.post("http://localhost:9880/tts", json={
"text": text,
"refer_wav_path": speaker_wav,
"prompt_text": "Reference prompt text",
"prompt_language": "en",
"text_language": "en"
})
with open("/tmp/tts_output.wav", "wb") as f:
f.write(tts_response.content)
# Step 2: Convert voice with RVC API
rvc_response = requests.post("http://localhost:7865/voice_conversion", json={
"input_audio": "/tmp/tts_output.wav",
"model_name": rvc_model,
"pitch_shift": 0,
"index_rate": 0.75,
"filter_radius": 3,
"volume_envelope": 0.25
})
return rvc_response.json()["output_path"]
result = tts_then_convert(
text="Hello, this is a cloned voice speaking.",
speaker_wav="./reference.wav",
rvc_model="my_voice_v2"
)
print(f"Converted audio saved to: {result}")
集成二:Coqui TTS #
# coqui_rvc_bridge.py
from TTS.api import TTS
import requests
def coqui_to_rvc(text: str, rvc_model: str, output_path: str):
# Generate with Coqui XTTS v2
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2", gpu=True)
tts.tts_to_file(
text=text,
speaker_wav="reference.wav",
language="en",
file_path="/tmp/coqui_out.wav"
)
# Convert through RVC
with open("/tmp/coqui_out.wav", "rb") as f:
files = {"file": f}
data = {
"model_name": rvc_model,
"pitch": 0,
"index_rate": 0.5
}
response = requests.post(
"http://localhost:7865/api/voice_conversion",
files=files,
data=data
)
with open(output_path, "wb") as f:
f.write(response.content)
return output_path
集成三:Demucs(进阶音源分离) #
在训练前进行生产级的人声分离:
# Install demucs
pip install demucs
# Separate vocals with demucs (better quality than UVR5 for complex mixes)
demucs --two-stems=vocals --mp3 --mp3-bitrate 320 input_song.mp3
# Use the separated vocal track for RVC training
mv separated/htdemucs/input_song/vocals.wav ./dataset/clean_voice.wav
集成四:实时语音转换 GUI #

RVC 内置了一个用于实时应用的语音转换图形界面:
# Start the real-time GUI
python gui_v1.py
# Or with DirectML for AMD/Intel GPUs
python gui_v1.py --dml
# Key parameters for low latency:
# - Block time: 0.25s (lower = less latency, more CPU)
# - Crossfade: 0.05s
# - Extra time: 2.5s
# - Pitch extractor: fcpe (fastest) or rmvpe (best quality)
流式传输的配置(配合 ASIO 可实现端到端 90 毫秒延迟):
# gui_config.py example
config = {
"block_time": 0.1, # 100ms blocks for lower latency
"crossfade_time": 0.04,
"extra_time": 2.0,
"f0method": "fcpe", # Fastest pitch extractor
"rms_mix_rate": 0.25,
"index_rate": 0.3,
"pitch": 0,
"I_noise_reduce": True,
"O_noise_reduce": False
}
集成五:API 服务器(FastAPI) #
RVC 提供了一个基于 FastAPI 的 REST API,用于生产环境部署:
# Start the API server
python api_240604.py
# The API will be available at http://localhost:7865
# Client example for API inference
import requests
# Load model first
requests.post("http://localhost:7865/load_model", json={
"pth_path": "./weights/my_voice_v2.pth",
"index_path": "./logs/my_voice_v2/added_IVF512_Flat_nprobe_1.index"
})
# Perform voice conversion
with open("input_audio.wav", "rb") as f:
response = requests.post(
"http://localhost:7865/voice_conversion",
files={"file": f},
data={
"pitch": 0,
"index_rate": 0.75,
"filter_radius": 3,
"volume_envelope": 0.25,
"protect": 0.33
}
)
with open("converted_output.wav", "wb") as f:
f.write(response.content)
基准测试 / 真实使用场景 #
客观质量指标 #
| 指标 | RVC v2 | So-VITS-SVC 4.1 | GPT-SoVITS (SVC) | DDSP-SVC |
|---|---|---|---|---|
| 说话人相似度(余弦相似度) | 0.85 | 0.79 | 0.82 | 0.71 |
| PESQ(质量,满分 4.5) | 3.6 | 3.3 | 3.4 | 2.8 |
| UTMOS(自然度,满分 5) | 4.19 | 3.95 | 4.05 | 3.45 |
| 训练时间(10 分钟数据,RTX 3090) | 约 18 分钟 | 约 2 小时 | 约 45 分钟 | 约 15 分钟 |
| 最少训练数据 | 1 分钟 | 10 分钟 | 1 分钟 | 5 分钟 |
| 实时因子(推理) | 0.05x | 0.15x | 0.08x | 0.02x |
生产环境使用场景 #
AI 翻唱 —— 转换人声音轨以模仿特定艺人的声音,用于娱乐内容制作。RVC 的 RMVPE 音高提取即使在复杂的转音演唱中也能保持准确的旋律还原。
直播中的实时变声 —— 面向内容创作者的实时变声。配合 GUI 和 ASIO 驱动,端到端延迟可达 90 毫秒,绝大多数听众难以察觉。
隐私保护 —— 在保留情感内容和可懂度的前提下,对录制的采访、呼叫中心录音以及敏感语音数据中的说话人身份进行匿名化处理。
内容本地化 —— 在结合 TTS 流程时,为视频内容配音的同时,跨语言保留原说话人的声音特征。
语音数据集扩充 —— 为低资源语言的 ASR 系统生成合成训练数据,正如某学术研究所展示的,经过 200 轮训练后 KL 散度损失达到 0.68。
进阶用法 / 生产环境强化 #
安全性考量 #
# api_production.py — Hardened API wrapper
from fastapi import FastAPI, HTTPException, Depends
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
import hashlib
security = HTTPBearer()
def verify_token(credentials: HTTPAuthorizationCredentials):
"""Verify API token for production deployments"""
expected = hashlib.sha256(TOKEN.encode()).hexdigest()
if credentials.credentials != expected:
raise HTTPException(status_code=401, detail="Invalid token")
return True
@app.post("/voice_conversion")
async def secure_convert(
file: UploadFile,
credentials: HTTPAuthorizationCredentials = Depends(security)
):
verify_token(credentials)
# ... conversion logic
return {"output_url": signed_url}
模型管理 #
# Organize multiple voice models
models/
├── celeb_voice_a/
│ ├── model.pth
│ ├── index.faiss
│ └── config.json
├── celeb_voice_b/
│ ├── model.pth
│ ├── index.faiss
│ └── config.json
└── custom_brand_voice/
├── model.pth
├── index.faiss
└── config.json
# Dynamic model loader for multi-tenant deployments
import os
import glob
def list_available_models(models_dir="./models"):
"""List all available voice models"""
models = []
for model_dir in glob.glob(os.path.join(models_dir, "*/")):
name = os.path.basename(os.path.dirname(model_dir))
pth_files = glob.glob(os.path.join(model_dir, "*.pth"))
index_files = glob.glob(os.path.join(model_dir, "*.faiss")) + \
glob.glob(os.path.join(model_dir, "*.index"))
if pth_files and index_files:
models.append({
"name": name,
"pth": pth_files[0],
"index": index_files[0]
})
return models
监控与日志记录 #
# monitoring.py — Prometheus-compatible metrics
from prometheus_client import Counter, Histogram, start_http_server
import time
conversion_count = Counter('rvc_conversions_total', 'Total conversions')
conversion_duration = Histogram('rvc_conversion_seconds', 'Conversion latency')
error_count = Counter('rvc_errors_total', 'Total errors', ['error_type'])
def monitored_convert(audio_path, model_name):
start = time.time()
try:
result = perform_conversion(audio_path, model_name)
conversion_count.inc()
return result
except Exception as e:
error_count.labels(error_type=type(e).__name__).inc()
raise
finally:
conversion_duration.observe(time.time() - start)
# Start metrics endpoint
start_http_server(9090)
导出 ONNX 以加速推理 #
# Export trained model to ONNX for CPU/GPU-agnostic inference
python tools/export_onnx.py \
--checkpoint_path ./logs/my_voice_v2/G_12000.pth \
--output_path ./models/my_voice_v2/model.onnx \
--sample_rate 40000
与其他方案的对比 #
| 特性 | RVC v2 | GPT-SoVITS | So-VITS-SVC 4.1 | DDSP-SVC |
|---|---|---|---|---|
| 主要用途 | 语音转换 | TTS + 声音克隆 | 歌声转换 | 歌声转换 |
| 训练时间(10 分钟数据) | 约 18 分钟(RTX 3090) | 约 45 分钟 | 约 2 小时 | 约 15 分钟 |
| 最低训练显存 | 4GB | 8GB | 8GB | 4GB |
| 最少训练数据 | 1 分钟 | 1 分钟 | 10 分钟 | 5 分钟 |
| 音高提取器 | RMVPE / FCPE | RMVPE | Harvest / Crepe | Harvest / Crepe |
| 内容编码器 | ContentVec(768 维) | HuBERT / ContentVec | ContentVec | ContentVec |
| 检索模块 | Faiss Top-K(K=8) | 无检索 | Faiss Top-K(4.1 版新增) | 无检索 |
| 实时推理 | 支持(90 毫秒延迟) | 不支持 | 支持(配合 w-okada) | 支持 |
| 声码器 | NSF-HiFi-GAN | NSF-HiFi-GAN | NSF-HiFi-GAN | DDSP + HiFi-GAN |
| 模型融合 | 支持(ckpt merge) | 不支持 | 不支持 | 不支持 |
| UVR5 集成 | 内置 | 独立 | 独立 | 独立 |
| 许可证 | MIT | MIT | BSD-3-Clause | Apache-2.0 |
| GitHub 星标 | 35,700+ | 43,000+ | 21,200+ | 2,800+ |
| 最近更新 | 2024-06 | 2025-04 | 2023-12(已归档) | 2024-03 |
何时选择 RVC: 当你需要快速训练、实时转换,或者需要基于检索的特征匹配来最大程度减少音色泄漏时。对于生产环境的语音转换流程来说,RVC 是务实的选择。
何时选择 GPT-SoVITS: 当你需要带声音克隆的文本转语音(而不是音频到音频的转换)时。GPT-SoVITS 擅长用 1 分钟参考音频从文本生成语音。
何时选择 So-VITS-SVC: 用于带浅层扩散后处理的传统歌声转换。需要注意:该项目已归档,不再维护。
何时选择 DDSP-SVC: 用于资源占用极低的轻量级歌声转换。质量低于 RVC,但可以在性能较弱的硬件上运行。
局限性 / 客观评估 #
RVC 是一个能力很强的工具,但它并不适合所有语音应用场景:
不支持文本转语音。 RVC 只能音频转音频,不能从文本生成语音。要搭建完整的 TTS 流程,需要把它和 GPT-SoVITS、Coqui TTS 或 Edge-TTS 结合使用。
说话人相似度存在上限。 虽然 RVC 能产出令人信服的转换效果,但在保真度上仍不及 ElevenLabs Voice Cloning 或 Microsoft Azure Speech Studio 等商业方案。对于企业级的声音克隆需求,付费 API 仍然领先。
情感控制存在局限。 RVC 会保留源音频的情感和韵律,但无法独立操控情感表达。CosyVoice 3 或 Seed-VC 等工具提供了更细粒度的韵律控制。
训练对硬件有要求。 尽管比其他方案更高效,训练依然需要一块独立的 NVIDIA GPU。CPU 训练不现实(慢 50 倍以上)。使用云端 GPU 实例会增加运营成本。
伦理和法律风险。 声音克隆技术可能被滥用于深度伪造音频、诈骗和身份冒用。RVC 没有内置任何水印或安全机制。生产环境部署应当实施同意验证、审计日志记录以及合成音频水印。
语言支持存在缺口。 RVC 对主要语言(英语、中文、日语、韩语)效果良好,但对声调语言(泰语、越南语)以及预训练模型覆盖有限的低资源语言,质量会有所下降。
常见问题 #
RVC 需要多少训练数据? #
RVC 最少只需 1 分钟干净的音频即可训练,但 10-30 分钟能带来明显更好的效果。关键在于音频质量而不是数量。10 分钟的录音室录音效果会胜过 2 小时嘈杂的电话录音。请把背景噪音、音乐和混响控制在最低限度。
RVC 可以只用 CPU 运行吗? #
可以,但仅限于推理。训练需要支持 CUDA 的 GPU。CPU 推理比 GPU 慢 10-20 倍,但对于延迟不敏感的批处理任务是可行的。对于实时转换,强烈建议使用至少 4GB 显存的 GPU。
RVC v1 和 v2 有什么区别? #
RVC v2 把内容编码器从 9 层、256 维特征的 HuBERT 改为 12 层、768 维特征的 HuBERT,并新增了 3 个周期判别器以提升音频质量。所有新项目都应该只使用 v2 模型。v2 的预训练模型与 v1 不向后兼容。
如何减少转换后音频中的音色泄漏? #
调整 index_rate 参数。数值越高(0.7-1.0),推理越依赖检索索引,从训练集中提取的特征就越多、从源音频中提取的就越少。可以从 0.75 开始,再根据输出质量调整。如果声音听起来不自然,就调低到 0.3-0.5。
我可以在 Discord/Zoom/游戏里用 RVC 做实时变声吗? #
可以,通过 RVC 的实时 GUI(gui_v1.py)。把你的麦克风路由到一个虚拟音频线缆(Windows 上用 VB-Cable,macOS 上用 BlackHole,Linux 上用 PulseAudio),把 RVC 设为输入设备,再把目标应用配置为使用虚拟线缆的输出。配合 ASIO 驱动和现代 GPU,延迟可以保持在 100 毫秒以内。
RVC 支持哪些文件格式? #
RVC 支持的输入格式包括 WAV、MP3、FLAC、OGG 和 M4A。输出始终是目标采样率(32kHz、40kHz 或 48kHz)的 WAV 格式。为获得最佳质量,建议使用无损的 WAV 或 FLAC 作为输入,避免对 MP3 文件进行多次重新编码。
如何把两个声音模型融合在一起? #
使用 WebUI 中的 ckpt merge 标签页。加载两个 .pth 模型文件,设置混合比例(0.0 = 100% 模型 A,1.0 = 100% 模型 B,0.5 = 均等混合)。融合后的模型会同时继承两个声音的特征。这种方法在不需要重新训练的情况下,非常适合创建混合声音。
为什么我转换出来的声音听起来机械或失真? #
常见原因:(1)训练数据或训练轮数不足——至少训练 200 轮;(2)输入音频有噪音——使用 UVR5 或 Demucs 进行音源分离;(3)音高提取器选择不当——语音使用 rmvpe,演唱使用 harvest;(4)采样率不匹配——确保推理时的采样率与训练时一致。
结论 #
RVC 能在中端硬件上以 20 分钟以内的训练时间提供生产级的语音转换效果。它基于检索的架构比直接特征映射带来更干净的声音分离效果,而 FastAPI 服务器让它可以轻松集成进现有的音频流程中。对于搭建语音功能应用的开发者来说,RVC 在开源生态中提供了质量、速度和部署灵活性之间最好的平衡。
下一步: 克隆代码仓库,跑通 Docker 环境搭建,用 10 分钟干净音频训练出你的第一个模型。加入 RVC 的 Telegram 社区,分享模型并获取支持:t.me/RVCSpace。
推荐主机与基础设施 #
在把上述任何工具部署到生产环境之前,你需要可靠的基础设施。以下是 dibi8 实际在用并推荐的两个选项:
- DigitalOcean — 60 天内可获得 200 美元免费额度,覆盖 14 个以上全球节点。是独立开发者运行开源 AI 工具的默认选择。
- HTStack — 香港 VPS,从中国大陆访问延迟低。这正是承载 dibi8.com 的同一家 IDC——经过生产环境的实战检验。
联盟链接——不会给你带来额外费用,但能帮助 dibi8.com 持续运营。
来源与延伸阅读 #
- RVC GitHub 仓库
- RVC 官方文档
- 理解 RVC 架构
- RVC Docker 搭建指南
- RVC API 参考(api_240604.py)
- GPT-SoVITS 仓库
- ContentVec 论文
- RMVPE 音高提取论文
- VITS 论文
- DDSP-SVC 仓库
- So-VITS-SVC 4.1(已归档)
- 使用 RVC 为低资源 ASR 做自定义数据增强
- LLVC:CPU 上的低延迟实时语音转换
- RVC 推理设置参考
- PetVocalia:零样本 SVC 基准测试(IJCAI 2025)
💬 留言讨论