声音克隆与情感合成:IndexTTS2让AI语音会“演戏”

一键克隆你的声音,还能自由调节情绪,AI配音从未如此简单

在日常生活中,我们常常遇到这样的场景:想要为视频配上解说,却找不到合适的声音;制作有声书时,希望不同角色有不同声音表达;或者只是想用朋友的声音生成一段有趣的祝福语。现在,这些需求只需一个工具就能轻松实现------这就是B站语音团队开源的IndexTTS2

1.IndexTTS2简介

IndexTTS2是B站语音团队开发的新一代零样本语音合成模型。简单来说,它是一个能够模仿任何人声音,并自由控制语音情感的AI工具。

与传统语音合成系统最大的不同是,IndexTTS2解决了长期困扰行业的情感表达缺失时长控制不精准两大难题,让生成的语音不再是冰冷的机器发音,而是充满情感色彩的"表演"

  • 极简声音克隆:5秒音频即可复刻声音
  • 情感音色分离:自由组合声音与情绪
  • 多模态情感输入:用文字描述控制情绪
  • 精准时长控制:音画同步不再是难题

IndexTTS2的突破性在于它成功解决了自回归TTS模型的时长控制难题 ,同时实现了情感与音色的解耦建模

开源地址:https://github.com/index-tts/index-tts/blob/main/docs/README_zh.md

2.本地部署

2.1 环境

环境 版本
ubuntu-24.04.3 Server release 10.0
Cuda 12.8
显卡 RTX 2080 Ti 22G 驱动 NVIDIA-Linux-x86_64-580.105.08
uv 0.9.13
内存 32G

请提前安装好 显卡驱动,cuda版本最好是 12.8。

不要用conda环境,要使用UV,这是官方给的建议,确保依赖环境可靠。

如果你现在处于conda环境中,使用下面命令退出conda环境

shell 复制代码
conda deactivate

2.2 安装UV

shell 复制代码
# 安装UV 或者 pip install -U uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# 查看python版本
uv python list

# 配置PyPI仓库为国内源
vim ~/.config/uv/uv.toml
[registries.pypi]
index = "https://mirrors.aliyun.com/pypi/simple/"
default = true

2.3 下载源码

确保已经安装了 git 和 git-lfs. 因为源码中的声音样本文件并真正的声音二进制文件,它需要使用 git-lfs 下载实际的声音二进制文件。git-lfs 是用来下载大文件的工具。

我的机器上开了代理,使用git的时候,要设置git的代理地址:

shell 复制代码
git config --global https.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897
git clone https://github.com/index-tts/index-tts.git
cd index-tts
# 用来下载大文件
git lfs install
git lfs pull  # 开始下载大文件,这样完成之后,仓库中的文件如果是二进制文件,才会真正被下载下来,否则内容并不是真正的文件内容

2.4安装依赖

shell 复制代码
# 目录下会生成 .venv 隐藏目录,所有依赖都在这个目录下
uv sync --all-extras --default-index "https://mirrors.huaweicloud.com/repository/pypi/simple"

# 激活环境
source .venv/bin/activate

2.5 下载模型权重

这里从 modelscope下载模型权重文件。注意要将模型权重文件下载到 项目的 checkpoints文件夹中。因为项目启动的时候,会到 checkpoints文件夹中加载权重文件。

shell 复制代码
uv tool install "modelscope"
# 确保当前路径在你的项目根目录下,根目录下有checkpoints 文件夹 
modelscope download --model IndexTeam/IndexTTS-2 --local_dir checkpoints

下载完成后,需要检查一下checkpoints目录中是否包含了bpe.model,gpt.pth这两个文件,如果没有下载下来,需要手动下载 ,地址: https://modelscope.cn/models/IndexTeam/IndexTTS-2/files

后面系统启动的时候,还会到 huggingface上下载文件,国内不能直接正常访问,所以设置一下环境变量,指定镜像地址:

shell 复制代码
export HF_ENDPOINT="https://hf-mirror.com"

2.6检测 PyTorch GPU

可运行脚本检测机器是否有GPU,以及是否安装了GPU版本的PyTorch。(如PyTorch版本不对,可能使用CPU启动,推理会非常慢)

shell 复制代码
uv run tools/gpu_check.py

如果检查没有问题,就可以直接启动了。

3.启动程序

启动后会开启7860端口

shell 复制代码
uv run webui.py

默认界面是英文的,我修改了 webui.py文件,第54 行,让它以中文启动:

然后就看到了界面,长这样:

4.体验

页面最下面有一些示例,你可以点击voice_01.wav 这一行,表示你要使用这个声音作为样本来合成。点击后,最上面是这样:

你可以点击播放来听听样本的声音。 中间的文本是你要合成的文字,你可以修改。点击生成语音后,右边就开始合成。此时你可以在服务器上看GPU的占用情况:

shell 复制代码
# 安装命令  查看硬件  nvidia-smi -l 1
sudo apt-get install nvtop
# 执行命令
nvtop

在合成之前,你可以上传你自己的声音样本,也可以调整音色情感参数,默认使用的与参考音频相同的音色

有些词你如果怕它读错,你可以自定义词汇读音:

5.结语

IndexTTS2的出现,将曾经专业且昂贵的语音合成技术变成了人人可用的创作工具。它不仅免费开源,而且操作简单,极大地降低了高质量语音内容的制作门槛

随着IndexTTS2这样的技术不断发展,未来我们可能会看到更多由AI配音的高质量内容,而语音合成技术也必将进一步融入我们的日常生活和创作过程中。

相关推荐
liliangcsdn4 分钟前
LLM复杂数值的提取计算场景示例
人工智能·python
小和尚同志11 分钟前
OpenCodeUI 让你随时随地 AI Coding
人工智能·aigc·ai编程
AI视觉网奇14 分钟前
2d 数字人解决方案-待机动作
人工智能·计算机视觉
人工智能AI酱35 分钟前
【AI深究】逻辑回归(Logistic Regression)全网最详细全流程详解与案例(附大量Python代码演示)| 数学原理、案例流程、代码演示及结果解读 | 决策边界、正则化、优缺点及工程建议
人工智能·python·算法·机器学习·ai·逻辑回归·正则化
爱喝可乐的老王40 分钟前
机器学习监督学习模型--逻辑回归
人工智能·机器学习·逻辑回归
Ao00000040 分钟前
机器学习——逻辑回归
人工智能·机器学习·逻辑回归
智算菩萨1 小时前
【How Far Are We From AGI】3 AGI的边界扩张——数字、物理与智能三重接口的技术实现与伦理困境
论文阅读·人工智能·深度学习·ai·agi
智算菩萨1 小时前
【How Far Are We From AGI】2 大模型的“灵魂“缺口:当感知、记忆与自我意识的迷雾尚未散去
人工智能·ai·agi·感知
deepxuan1 小时前
Day1--python三大库-Pandas
人工智能·python·pandas
阿泽·黑核1 小时前
Easy Vibe Coding 学习心得(二):从产品原型到 AI 应用——我的第一个完整项目
人工智能·ai编程·vibe coding