2025年9月23日星期二

B 站出息了!GitHub 上 1 万人 Star 的语音生成效果太绝了。

前段时间在外网爆火的语音合成模型 IndexTTS2 开源了。

7月份的时候,IndexTTS2 还在筹备未发布,就在外网疯狂讨论起来了。

演示效果 Demo 传播出去了,外网网友看到就说这玩意是目前最逼真、最具有表现力的文本转语音模型。

图片

9 月 8 日,B 站正式开源 IndexTTS2 的推理代码与模型权重。这个会表演的语音合成模型和大家见面了。

图片

01

IndexTTS2,效果有点牛。

很多语音合成工具,生成的声音虽然清晰但有点机械,或者想调整语速、情绪时会发现很难控制。

IndexTTS2 在这方面做出了很大的突破。

你只需要提供一段很短的声音样本(比如 3-5 秒),它就能模仿那个人的音色,读出任何你想要的文字,而且还能带上不同的情绪。

先看看效果。

案例一:你给翻译翻译翻译,什么是他妈的惊喜?

看这个视频,汤师爷和张麻子的语气和音色完美复刻不说,中文翻译成英文还能保持音画同步,这个太牛了。
这才解决了影视剧配音的痛点。
案例二:皇上!臣妾做不到啊!!!

这个 Case 很有意思,皇后前面的语气比较平淡,有条不紊,一句话慢吞吞的讲出来。后面又情绪激亢,又哭又闹的。
IndexTTS2 在这种场景的语义生成挺能打的,音色、情感及时长控制的表现都挺不错。
案例三:我要状告熹贵妃私通温太医

按理四:《瑞克和莫蒂》经典场景:

案例五:《BanG Dream! It's MyGO!》经典场景

02

模型创新点

① 精确控制语音时长

看了上面这些 Demo,可以发现 IndexTTS2 很创新的一点是可以精确控制语音时长,这是很多传统 TTS 模型做不到的。

比如你要给视频配音,需要某句话在 2 秒内说完,IndexTTS2 可以做到。

下面这三段音频都是基于 只有当科技为本地社群创造价值的时候,才真正有意义 这句话生成的 3 段不同语速的音频。

这对于影视剧配音、游戏对话等需要音画同步的场景非常实用。只有当科技为本地社群创造价值的时候,才真正有意义。

② 声音和情绪是分开调节

你可以用一个人的音色,同时赋予它另一种情绪。

比如用你朋友的声音读一段话,但让它听起来很开心、悲伤甚至害怕,而不需要你朋友真的那样表演一遍。

比如下面这个音频,表现出恐惧、开心、沮丧、惊讶等情绪,都是可以控制的。

③ 情绪控制方式很灵活

你可以直接录一段情绪参考音频,让它模仿那种语气。

也可以直接告诉它:我要开心一点或者这里要惊讶,甚至 IndexTTS2 提供了一个网页端,你可以用一个 8 维向量来精细调节不同情绪的强度,比如 30% 惊讶 + 70%平静。
图片
④ 语音自然度很高

在官方测试中,它的表现超过了当前很多同类模型,尤其是在语音清晰度、说话人相似度和情绪表达准确性上。

03

实现原理

IndexTTS2是一个级联式模型,包含三个核心模块,将文本到语音的任务分步完成。

图片

上面就是 IndexTTS2 模型的架构图了,其中:

Text-to-Semantic (T2S) 模块比较的核心模块,基于自回归模型。可以把输入的文本转换为包含内容的语义 Token。

借助这个模块实现融合音色、情感及时长控制。

Semantic-to-Mel (S2M) 模块非自回归模型。负责将语义 Token 转换为梅尔频谱图。提升高情感语音的清晰度

Vocoder 模块使用现成的高质量声码器 BigVGANv2。能够将上个模块输出的梅尔频谱图转换为音频波形保障合成语音的自然度与保真度

04

如何使用

下面教你如何一步步的在自己电脑部署 IndexTTS2,首先确保你的电脑已安装 PythonGit 和 CUDA

如果你不清楚这是啥玩意,建议你不要往下看了,直接搜搜网上有没有别人部署好的,公开的服务。

第一步:下载代码和模型

① 克隆代码库:

git clone https://github.com/index-tts/index-tts.gitcd index-tts

② 启用 Git LFS,用于下载大模型文件:

git lfs installgit lfs pull

③ 下载预训练模型:

# 使用 Hugging Face CLI:hf download IndexTeam/IndexTTS-2 --local-dir=checkpoints
#使用 ModelScope:modelscope download --model IndexTeam/IndexTTS-2 --local_dir checkpoints

第二步:使用 uv 安装依赖

#①安装 uv :pip install -U uv
#②使用 uv 创建虚拟环境并安装所有依赖 :uv sync --all-extras
#③如果下载慢,可以使用国内镜像,例如:uv sync --all-extras --default-index "https://mirrors.aliyun.com/pypi/simple"

第三步:选择方式运行

① 通过 Web UI 界面,最简单直观,启动 Web 服务:uv run webui.py

打开浏览器:访问  http://127.0.0.1:7860,即可在网页上上传音频、输入文本并进行合成。

图片

② 通过 Python API,适合开发者集成到代码中,按以下模式调用:
# 导入库from indextts.infer_v2 import IndexTTS2
# 初始化模型tts = IndexTTS2(    cfg_path="checkpoints/config.yaml",    model_dir="checkpoints",    use_fp16=False,   # 设为 True 可减少显存占用,轻微影响质量    use_deepspeed=False # 可尝试开启以加速推理)
# 执行语音合成text = "你要合成的文本内容"tts.infer(    spk_audio_prompt='examples/voice_01.wav'# 说话人音色提示音频    text=text,                                # 要合成的文本    output_path="gen.wav",                    # 输出文件路径    # 以下为可选参数(用于情感控制):    # emo_audio_prompt="path/to/emo.wav",     # 情感提示音频    # emo_vector=[0, 0, 0, 0, 0, 0, 0.45, 0], # 直接指定情感向量    # use_emo_text=True,                       # 使用文本本身的情感    # emo_text="你吓死我了!",                 # 或指定另一段文本来引导情感    verbose=True)
使用 uv run 来运行脚本,以确保环境正确:
PYTHONPATH="$PYTHONPATH:." uv run your_script.py

IndexTTS2 不是一个普通的TTS工具,它更像是一个声音演员。你可以指定谁来说、用什么情绪说、说多快,甚至控制每一句话的时长。

是一个挺屌的 GitHub 开源项目。

开源地址:https://github.com/index-tts/index-tts

05

点击下方卡片,关注我

这个公众号历史发布过很多有趣的开源项目,如果你懒得翻文章一个个找,你直接关注微信公众号:逛逛 GitHub ,后台对话聊天就行了:

图片

没有评论:

发表评论

小模型大能力!苹果发布统一多模态小钢炮Manzano :单模型搞定识图、生图,效果炸裂!

点击下方 卡片 ,关注" AI生成未来 " 如您有工作需要分享,欢迎联系: aigc_to_future 作者:Yanghao Li等 解读:AI生成未来 文章链接:https://arxiv.org/pdf/2509.16197  文本到图像的生成定性分...