AB
AiBoss站
教程

ViiTorVoice-NAR实测 - 开源免费的语音克隆工具

今天发点适合做音色复刻的东西。 说实话,现在做 AI 语音最烦的地方,是生成的音频里只想改几个词,却不得不重新录、重新配、重新剪。

今天发点适合做音色复刻的东西。

说实话,现在做 AI 语音最烦的地方,是生成的音频里只想改几个词,却不得不重新录、重新配、重新剪。

今天这个 GitHub 的 ViiTorVoice-NAR 项目就很适合这种场景:给一段原始音频和对应文案,直接把里面的局部内容改掉,声线、语气、节奏还能保留原来的感觉。

ViiTorVoice-NAR 是 viitor-ai 开源的非自回归语音生成系统,主要面向语音克隆、局部语音编辑、情感控制和副语言控制。

项目地址:https://github.com/viitor-ai/viitor-voice-nar

ViiTorVoice-NAR 的核心思路是把语音生成从逐 token 接龙改成离散音频 token 填空。

传统自回归 TTS 往往按顺序生成音频 token,前面生成完才能继续后面;ViiTorVoice-NAR 使用 masked language model 方式,在离散 codebook 空间里补全被 mask 的音频片段。

这个结构很适合语音局部编辑,比如把一句话里的 Friday 改成 Monday,只需要定位并重合成被修改的局部区域,不必整段音频重新生成。

ViiTorVoice-NAR 的核心能力:

  • 语音克隆:输入一段提示音频,模型生成目标文本对应的语音,并尽量保留提示音频中的说话人音色。
  • 局部语音编辑:输入原始音频、原始文本和编辑后的完整文本,系统会先对文本做 diff,再结合强制对齐结果找到需要替换的音频区域,最后只重合成那一小段音频。
  • 情感和副语言控制:文本条件里可以插入情感标签或副语言标签,比如情绪、笑声、停顿、语气等。
  • 低延迟推理:项目支持 first block 推理模式。模型可以先生成第一块音频 token,用来缩短首帧等待时间。

项目需要安装 git 、uv 和英伟达的显卡,只需要 8G 显存就够了,12G 使用起来会更流畅一点。

环境装好直接克隆项目到一个英文路径:

1 cd D:\ 2 git clone https://github.com/viitor-ai/viitor-voice-nar.git viitor-voice-nar 3 cd D:\viitor-voice-nar

然后创建创建 Python 3.12 虚拟环境,并安装依赖:

1 uv venv --python 3.12 2 uv pip install --python .venv\Scripts\python.exe -r requirements-grpc.txt 3 uv pip install --python .venv\Scripts\python.exe -r requirements-alone.txt 4 uv pip install --python .venv\Scripts\python.exe protobuf==4.25.3

下载模型,模型有 10 多个 G,大家留好空间:

1 New-Item -ItemType Directory -Force local_models 2 $env:PYTHONIOENCODING="utf-8" 3 .venv\Scripts\hf.exe download ZzWater/ViiTorVoice-NAR --local-dir local_models

最后启动就可以开始用了:

1 cd D:\viitor-voice-nar 2 .\run_grpc_v2.ps1 start all -- --no-warmup

case 1 语音克隆

1 Copy-Item "被克隆的语音位置" "D:\viitor-voice-nar\input_voice_clone.mp3" -Force
2 
3 curl.exe -X POST http://127.0.0.1:7861/v1/voice-clone `
4 -F "ref_audio=@D:\viitor-voice-nar\input_voice_clone.mp3" `
5 -F "text=你好,这是一次语音克隆测试。" `
6 -F "language=zh" `
7 -F "allow_missing_ref_text=true" `
8 -F "output_format=wav" `
9 -F "num_steps=32" `
10 --output "语音克隆输出位置" `
11 --write-out "HTTP %{http_code} size %{size_download}`n"

原版:

可以看出克隆版不仅音色比较像,还带了一点说唱的味道。

case 2 局部改词

1 Copy-Item "被克隆的语音位置""D:\viitor-voice-nar\input_liziming.mp3" -Force 2 3 curl.exe -X POST http://127.0.0.1:7861/v1/text-local-edit ` 4 -F "source_audio=@D:\viitor-voice-nar\input_liziming.mp3" ` 5 -F "original_text=请注意三年六班李子明,李子明同学,你妈妈拿了两罐旺仔牛奶要给你。" ` 6 -F "edited_text=请注意三年六班克劳德,克劳德同学,你妈妈拿了两份迪普斯科要给你。" ` 7 -F "language=zh" ` 8 -F "input_format=wav" ` 9 -F "output_format=wav" ` 10 -F "align_granularity=word" ` 11 -F "expand_mask_ratio=1.5" ` 12 -F "num_steps=32" ` 13 --output "语音克隆输出的位置" ` 14 --write-out "HTTP %{http_code} size %{size_download}`n"

原版:

除了需要改动的地方,其他地方基本没有什么变动。

case 3 情绪控制

1 Copy-Item "被克隆的语音位置""D:\viitor-voice-nar\input_sad_ref.wav" -Force 2 3 $Text = "你好,这是一次悲伤情绪的语音生成测试。" 4 5 curl.exe -X POST http://127.0.0.1:7861/v1/voice-clone ` 6 -F "ref_audio=@D:\viitor-voice-nar\input_sad_ref.wav" ` 7 --form-string"text=<|emotion-sad|>$Text" ` 8 -F "language=zh" ` 9 -F "allow_missing_ref_text=true" ` 10 -F "emotion_guidance_scale=6.0" ` 11 -F "nvv_guidance_scale=2.0" ` 12 -F "output_format=wav" ` 13 -F "num_steps=32" ` 14 --output "语音克隆输出的位置" ` 15 --write-out "HTTP %{http_code} size %{size_download}`n"

原版:

情绪很到位了,音色也没有随着情绪的变动而被改变。

AI 语音正在进入内容生产里最费时、也最费钱的部分:改稿。

Monotype 2025 年调研了 1008 名创意专业人士,57% 的创意团队每周超过四分之一时间花在非创意工作上,包括素材管理、合规检查和流程瓶颈。

短视频口播、广告素材、课程旁白、游戏语音、客服播报,经常只改一个人名、日期、品牌词或价格,传统流程却要重新录音、重新剪辑、重新审一遍。

ViiTorVoice-NAR 的语音克隆负责生成新内容,局部语音编辑负责改掉旧音频里的几个词,情绪控制负责补上语气变化,改版更轻松。

省下来的不只是配音费,还有来回沟通、等待排期和反复剪辑的时间。

个人创作者可以拿来做音频整活和口播改稿,公司可以做内部配音工具,还可以围绕授权声音资产搭一套更低成本的生产流程。

AI 语音真正进入生产,不靠一次生成多惊艳,靠的是每次改稿都少折腾一点。

原文链接:GitHub 低星精品,免费的音色复刻项目