今天发点适合做音色复刻的东西。
说实话,现在做 AI 语音最烦的地方,是生成的音频里只想改几个词,却不得不重新录、重新配、重新剪。
今天这个 GitHub 的 ViiTorVoice-NAR 项目就很适合这种场景:给一段原始音频和对应文案,直接把里面的局部内容改掉,声线、语气、节奏还能保留原来的感觉。
01. 项目简介
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,用来缩短首帧等待时间。
02. 项目实测
项目需要安装 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 .venvScriptspython.exe -r requirements-grpc.txt 3 uv pip install --python .venvScriptspython.exe -r requirements-alone.txt 4 uv pip install --python .venvScriptspython.exe protobuf==4.25.3
下载模型,模型有 10 多个 G,大家留好空间:
1 New-Item -ItemType Directory -Force local_models 2 $env:PYTHONIOENCODING="utf-8" 3 .venvScriptshf.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-narinput_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-narinput_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-narinput_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-narinput_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-narinput_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-narinput_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"
原版:
悲伤版:
情绪很到位了,音色也没有随着情绪的变动而被改变。
03. 挖一挖
AI 语音正在进入内容生产里最费时、也最费钱的部分:改稿。
Monotype 2025 年调研了 1008 名创意专业人士,57% 的创意团队每周超过四分之一时间花在非创意工作上,包括素材管理、合规检查和流程瓶颈。
短视频口播、广告素材、课程旁白、游戏语音、客服播报,经常只改一个人名、日期、品牌词或价格,传统流程却要重新录音、重新剪辑、重新审一遍。
ViiTorVoice-NAR 的语音克隆负责生成新内容,局部语音编辑负责改掉旧音频里的几个词,情绪控制负责补上语气变化,改版更轻松。
省下来的不只是配音费,还有来回沟通、等待排期和反复剪辑的时间。
个人创作者可以拿来做音频整活和口播改稿,公司可以做内部配音工具,还可以围绕授权声音资产搭一套更低成本的生产流程。
AI 语音真正进入生产,不靠一次生成多惊艳,靠的是每次改稿都少折腾一点。
原文链接:GitHub 低星精品,免费的音色复刻项目




