
VCClient 实时语音变声上手指南从 Edition 选型到自定义客户端接入【免费下载链接】voice-changerリアルタイムボイスチェンジャー Realtime Voice Changer项目地址: https://gitcode.com/gh_mirrors/vo/voice-changerVCClient 是一款基于 AI 的实时语音变声工具你对着麦克风说话它就边说边把你的声音转换成目标角色的音色延迟低到可以直接用在游戏开黑、直播和语音聊天里。这篇文章面向刚接触这个项目的开发者带你按上手的顺序把三件事理清楚——先选对 edition 和模型再挑一条落地路径跑起来最后拆开实时推理管线看看延迟到底是怎么省出来的顺带给你留好二次开发的入口。 先选 Edition 再装软件要跑什么模型决定你怎么下当前主线版本是 v2.2.2-beta。从 v2.2.1 开始有一个必须先搞清楚的变化edition 决定你能跑哪些模型而且不同版本发布的 edition 还可能不一样。所以选型的第一步不是看系统而是看你手里要跑的模型。决策结论可以直接背下来只用 Beatrice → std 版依赖最轻要跑 RVC、手里有 NVIDIA 卡 → cuda 版目前仅 Win要跑 RVC、但机器没有 CUDA典型如 M1 Mac→ onnx 版走 ONNX Runtime。Edition可运行平台能跑的模型stdWin、macOS(M1)、Linux x86-64、Linux aarch64仅 BeatricecudaWinBeatrice RVConnxWin、macOS(M1)Beatrice RVC再补几条版本动态方便你对齐手里的发行版v2.2.2-beta 发布 stdwin / mac / linux_aarch64并首次支持 Beatrice v2.0.0-rc0v2.1.3-alpha 加了快捷键和缓冲可视化目前仅 RVC 支持v2.0.78-beta 修复了 RVC 模型上传报错、支持 v1.x 与 v2 同时启动、可选 chunk size 变多v2.0.76-beta 给 Beatrice 加了话者合并与自动音高平移v2.0.73-beta 支持下载编辑后的 Beatrice 模型并修了 Applio embedder 模型无法导出 ONNX 的问题。另有一个仅面向 RTX 5090 的实验性 v2.0.77-beta作者没有 5090 硬件未实际验证介意的话避开。模型支持是分代看的RVC 是 v2 主线核心v1/v2 世代都支持Beatrice 分两代——v1 只在 v1 世代支持且仅限 Windowsv2 则只属于 v2 世代MMVC、so-vits-svc、DDSP-SVC 全部是 v1 世代的老成员只由旧版封装驱动。许可证方面RVC、MMVC、so-vits-svc、DDSP-SVC 都以各自原仓库为准Beatrice 两代均使用自有许可。三条落地路径下载、Clone 与 Docker按你的操作系统对号入座就行Windows 与 M1 Mac从 Hugging Face 仓库直接下发行版主仓库是wok000/vcclient000如果你只用 Beatrice v2还有更小的轻量仓库light_vcclient_beatrice。Linux官方明确走 clone 自运行路线克隆仓库后自行搭建git clone https://gitcode.com/gh_mirrors/vo/voice-changer。Docker 容器化仓库内备了三套目录——docker/面向服务端、docker_vcclient/面向客户端内含 exec.sh、setup.sh 与多语言说明、docker_trainer/面向模型训练按需挑用。三条路之外没有别的官方入口Colab 用户可参考仓库根目录的几个 notebook以仓库 README 为准。本地直跑还是远程卸载推理负载落在哪台机器这两种形态跑的是同一套服务端差异只在传输层。本地形态下采集、推理、回放全在同一台 PC 完成客户端与服务端在进程内直连远程形态下你这台机器只负责麦克风采集和结果播放音频流通过网络发到另一台机器上做推理。为什么游戏场景更值得用远程因为变声推理尤其是 GPU 上的 RVC 管线和游戏抢的是同一份算力。把推理卸到外置机器后本地 GPU 整个让给游戏AI 那部分开销由服务器兜底。对应到代码里设备管理在server/voice_changer/Local/对外暴露的 REST 与 Socket.IO 接口就是网络形态的接入点。⚡ 一行 emit 打通实时推流REST 与 Socket.IO服务端提供 REST API 意味着任何语言、甚至系统自带的 curl 都能当客户端用。核心接口是POST /test实现在 server/restapi/MMVC_Rest_VoiceChanger.py请求体就两个字段——timestamp和bufferbase64 编码的 16 位 PCM服务端解包成 int16 数组后送去changeVoice()推理回包是timestamp加changedVoiceBase64base64 的变声结果。适合批处理、文件转文件这类对实时性不苛刻的调用。低延迟实时场景走 Socket.IO仓库自带一份完整可跑的参考实现 client/python/vc_client.py核心循环很短PyAudio 按 44100 Hz、单声道、int16 从麦克风读数据每次读BUFFER_SIZE 2048 * 2 * 10字节然后向/test命名空间发一条消息sio.emit(request_message, [time.time() * 1000, in_wav], namespace/test)on_response回调收到[timestamp, data, perf]用当前时间减去 timestamp 就是往返时延 RT示例里把结果乘了GAIN 10的增益再写回输出设备。手上没有音频设备时把输入输出换成内置的MockStream从 wav 文件读写就能离线调试协议。延迟从哪省出来的实时管线拆解先看 V2 分层设计server/voice_changer/VoiceChangerV2.py 的文件头注释把与 v1 的差异写得很直白一是重采样逻辑下放给模型的setSamplingRate()上层不再做无效换算二是废掉预处理/主处理的拆分省掉模型内部没必要的数组类型转换。另外on_request()承担着一套fail-silent降级模型未加载、ONNX 在等合法输入、半精度切换中、f0 估计数据不足、设备切换或管线还没建好统统返回静音占位并打警告保证实时音频流不断。RVC 的推理链在RVCr2Pipeline里共四步特征提取16 kHz 重采样后的音频送入 Hubert / ContentVec / Whisper 等 embedder取出与音色无关的内容特征基频检测rmvpe、crepe、harvest、dio 任选tran控制半音级别的音高平移索引检索faiss 索引先reconstruct_n预载全部特征再用search按indexRatio做权重混合——RVC 名字里的 Retrieval 就体现在这protect 0.5时还会对弱 f0 区域做保护合成输出融合后的特征进 v2/v3 合成器乘 32767.5 转回 int16裁掉前后 padding 即出音。管线还内置半精度回退GPU 不支持 half 时会抛DeviceCannotSupportHalfPrecisionException上层捕获后自动切回 float 重新初始化你不需要手动处理。拼接环节用的是分块 SOLA 交叉淡化SOLA用滑动窗口找最佳叠加点消掉分块拼接时的咔嗒声。交叉淡化从块内 10% 位置开始、90% 位置结束重叠 4096 帧Beatrice 则通过noCrossFade True直接跳过这一步进一步压延迟。RVC 的核心可调参数如下定义见 server/voice_changer/RVC/RVCSettings.py参数默认值含义gpu-9999GPU 设备号-9999 表示自动/CPUdstId0目标话者 IDf0Detectorrmvpe_onnx基频检测算法dio / harvest / rmvpe / crepe 等tran12音高平移半音12 升一个八度silentThreshold0.00001静音阈值音量低于此值直接出静音extraConvertSize40961024×4额外上下文缓冲indexRatio0索引特征混合比例0 不用索引protect0.5检索保护0.5 时保护弱 f0 区域rvcQuality0高质量模式开关0/1silenceFront1静音前置0 关 / 1 开注意tran、indexRatio、protect同时也是模型槽的出厂默认字段RVCr2.initialize()会先读模型的默认值再由运行时设置覆盖模型自带默认和你的实时微调互不冲突。排坑清单签名警告、素材许可与通信故障macOS 首次启动软件没有 Apple 开发者签名弹出安全警告时按住 Control 键再点图标即可运行这是 Apple 安全策略所致运行风险自负内置音色素材各有自己的条款。つくよみちゃん语音禁止用于攻击批判他人、鼓动特定政治/宗教立场、无分级发布刺激内容、以及允许他人二次利用作为鉴赏作品的分发销售没问题あみたろ的素材允许做变声音色但必须明示是声质转换、并非本人发声且内容不得越出素材条款范围黄琴まひろ遵循其素材库条款。具体细则以 README 引用的原条款为准通信类故障优先查通信编排障文档 tutorials/trouble_shoot_communication_ja.md另有韩语版tutorials/下还有 RVC 各版本使用教程与设备模式、监听概念的专题文档可作补充免责声明因使用或无法使用本软件产生的直接、间接、波及或特殊损害作者概不负责。同生态软件与二次开发入口同一位开发者还维护 TTSClientAI 朗读文本转语音和 ASRClient实时语音识别三者拼起来正好是语音输入 → 识别/合成 → 变声的完整工具链。想动手改的话入口很清晰server/voice_changer/下是各模型的完整实现——RVC、Beatrice 等 V2 世代统一跑在 VoiceChangerV2 上MMVC、so-vits-svc、DDSP-SVC 等 V1 世代走旧的 VoiceChanger 封装client/python/vc_client.py则是协议层的可直接运行参照。把 edition 选对、把传输层接上实时变声这套能力就是你的了。【免费下载链接】voice-changerリアルタイムボイスチェンジャー Realtime Voice Changer项目地址: https://gitcode.com/gh_mirrors/vo/voice-changer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考