news 2026/9/19 6:55:40

用几秒参考音频做语音编辑与零样本TTS:VoiceCraft上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用几秒参考音频做语音编辑与零样本TTS:VoiceCraft上手

用几秒参考音频做语音编辑与零样本TTS:VoiceCraft上手

【免费下载链接】VoiceCraftZero-Shot Speech Editing and Text-to-Speech in the Wild项目地址: https://gitcode.com/GitHub_Trending/vo/VoiceCraft

VoiceCraft 是一个零样本语音编辑与文本转语音(TTS)模型。它不需要针对某个特定说话人重新训练,凭几秒钟的参考音频就能克隆或修改一段没听过的声音。训练数据覆盖有声书、网络视频、播客等真实场景,所以它的输出更接近日常听感,而不是录音室风格。

修一句录音里的错别字,为什么这么难

常规录音流程里,录错一个词最简单的办法是改稿后整段重录。当录音很长,或者这个声音无法复刻时,成本就不划算了。

VoiceCraft 的做法是:把完整参考音频交给模型,再给出"原文案"和"修改后文案"两份文本,它只重新生成两份文本不一致的那一小段,其余音频原样保留。

编辑支持删除、插入、替换三种类型。edit_utils.py 逐词比对新旧文案,定位出差异区间,再把对应位置的音频 token 标成"待生成"。

三种跑起来的方式:Colab、Docker、本地安装

零经验的情况下,最轻量的方式是 Google Colab:README 里提供了语音编辑和 TTS 两个 notebook,逐格运行即可。

Docker 方式适合有本地 GPU 的机器。先克隆仓库(git clone https://gitcode.com/GitHub_Trending/vo/VoiceCraft),然后在仓库目录下构建镜像并启动容器:

docker build --tag "voicecraft" . ./start-jupyter.sh # Windows 用 start-jupyter.bat

启动后在浏览器打开 inference_tts.ipynb,逐格跑通第一次合成。

本地安装需要按 environment.yml 装齐依赖:Python 3.9、PyTorch 2.0.1(对应 CUDA 11.7)、ffmpeg、espeak-ng、phonemizer,以及做强制对齐的 Montreal Forced Aligner。条目比较多,README 里有完整命令。

如何跑出第一次零样本语音合成

环境就绪后可以直接跑独立脚本:

python3 tts_demo.py

不带任何参数时,它会用 demo/ 里的示例音频和脚本内置的英文句子作为提示音与目标文本,用那个声音合成新句子。-m可选 giga330M 到 giga830M(含 TTS Enhanced 版),-oa指定参考音频路径,-co指定截取前几秒做提示,默认 3.6 秒。

想要图形界面,运行python gradio_app.py启动 gradio_app.py,在 http://127.0.0.1:7860 使用。流程是:选模型、加载、转写(Whisper 自动出文本)、改文案、运行。长文本用 Long TTS 模式逐句合成;Smart Transcript 功能则让你只填想生成的那部分文本。

Token 填充:在音频上"填空"

VoiceCraft 的核心机制叫 token infilling,本质是一道填空题。

输入先经过两个 tokenizer(见 data/tokenizer.py):文本被 phonemizer 转成音素序列;音频被 Encodec 编解码器压成离散 token——4 个码本、每个码本 2048 个 token,16kHz 音频每秒约 50 个 token。

然后,目标区间的音频 token 全部换成 mask 占位,模型以"保留的音频 token + 完整目标音素序列"为上下文,自回归地把被遮的位置逐个补出来。在 models/voicecraft.py 中,每个时间步按 delayed pattern 依次输出 4 个码本的 token,保证同一帧内各码本对齐。音色信息全在参考音频的 token 里,模型只需顺着上下文"填空",所以编辑段和原声在音色、语速上能衔接自然。

采样参数与 16 秒上限

两个参数对结果影响最大。官方 2025 年 3 月把推理默认采样从 top-p 改为 top-k=40,编辑和 TTS 效果都有明显提升;如果生成结果怪异,先检查-k 40

开启 kv cache 可以把生成加速 4~8 倍,见 inference_speech_editing_scale.py 里的--kvcache说明。

注意长度:TTS Enhanced 模型只用了不超过 16 秒的语料训练,提示音加生成长度不要超过 16 秒;更长的文本交给 Long TTS 模式逐句处理。

许可方面,代码为 CC BY-NC-SA 4.0,模型权重为 Coqui Public Model License 1.0.0,均为非商用;README 也明确提示,未经本人同意不得生成或编辑他人语音。

【免费下载链接】VoiceCraftZero-Shot Speech Editing and Text-to-Speech in the Wild项目地址: https://gitcode.com/GitHub_Trending/vo/VoiceCraft

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 6:54:58

AstronRPA:RPA与AI Agent融合的工业级自动化实践

1. 项目概述:为什么一个RPA平台突然需要“AI Agent”这个新标签?AstronRPA,这个名字一出来,科大讯飞四个字就自带技术信用背书。但真正让我在凌晨三点点开GitHub仓库、反复刷新star数的,不是它又一个“国产替代”的口号…

作者头像 李华
网站建设 2026/9/19 6:54:39

N_m3u8DL-RE:三条命令,把 m3u8 直播与点播完整收进本地片库

N_m3u8DL-RE:三条命令,把 m3u8 直播与点播完整收进本地片库 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm…

作者头像 李华
网站建设 2026/9/19 6:54:38

HTML标签关系、注释与属性:前端新手的核心基础详解

HTML标签之间的关系、注释、属性这期内容,其实是很多前端新人最容易忽略,也最容易稀里糊涂的部分。标签不会写,查一下文档就行;但标签之间怎么组织,注释怎么写才不出错,属性到底在起什么作用,这…

作者头像 李华
网站建设 2026/9/19 6:53:57

SpringBoot+Vue构建个人健康管理系统实践

1. 项目背景与核心价值个人健康管理在当下快节奏生活中显得尤为重要。随着智能设备的普及和健康意识的提升,越来越多的人开始关注自身健康数据的记录与分析。这个基于SpringBootVue的个人健康管理系统正是为解决这一问题而设计,它能够帮助用户系统性地追…

作者头像 李华
网站建设 2026/9/19 6:53:29

摩斯密码:从电报通信到现代应急应用

1. 摩斯密码概述摩斯密码(Morse Code)是一种通过长短信号组合传递信息的编码方式,由美国发明家塞缪尔摩斯于1837年发明。这套编码系统最初用于电报通信,通过"点"(短信号)和"划"&#x…

作者头像 李华
网站建设 2026/9/19 6:53:28

大语言模型实战速记:从核心概念到Agent安全开发

最近经常有人问我这个问题:想学LLM,到底从哪里下手?我的回答一向是“别急着背概念,先把一个最小可用的例子跑起来”。但我也理解,现在跟LLM有关的名词实在太多了——模型、框架、参数、微调、Agent、Embedding&#xf…

作者头像 李华