声音克隆与情感合成: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配音的高质量内容,而语音合成技术也必将进一步融入我们的日常生活和创作过程中。

相关推荐
ConardLi2 小时前
AI:我裂开了!现在的大模型评测究竟有多变态?
前端·人工智能·后端
这是你的玩具车吗2 小时前
能和爸妈讲明白的大模型原理
前端·人工智能·机器学习
产品设计大观3 小时前
6个宠物APP原型设计案例拆解:含AI问诊、商城、领养、托运
大数据·人工智能·ai·宠物·墨刀·app原型·宠物app
Codebee3 小时前
Ooder全栈框架:AI理解业务的多字段表单智能布局技术实现
人工智能
weilaikeqi11113 小时前
汪喵灵灵荣获“兴智杯”全国AI创新应用大赛一等奖,彰显AI宠物医疗硬实力
人工智能·百度·宠物
aliprice3 小时前
Target电商平台研究指南:十款实用工具助力全渠道零售与品牌营销分析
人工智能·零售
yiersansiwu123d3 小时前
多模态突破:AI规模化应用的关键密码
人工智能
renhongxia13 小时前
面向图像处理逆问题的扩散模型研究综述
图像处理·人工智能
古城小栈3 小时前
代理人工智能(Agent AI):NVIDIA Project GR00T 实战
人工智能