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

相关推荐
weixin_468466851 小时前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
朋友圈自动点赞工具1 小时前
科学AI插件化:从蛋白质结构到古籍修复
人工智能
龙粤GEO2 小时前
实体Entity在GEO中代表什么含义
人工智能
剑雨巍巍3 小时前
AI Agent面试之基础概念
人工智能
微帧Visionular3 小时前
AI视频单帧清晰,播放时却闪烁,原因是什么?
人工智能·深度学习·音视频
武子康3 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
云智慧AIOps社区3 小时前
智能巡检机器人应用场景解析:机房巡检、园区安防、管廊巡视与展厅导览
人工智能·机器人·具身智能·智能巡检机器人·企业级智能巡检机器人·机房巡检机器人·导览机器人
EnCi Zheng3 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用
赛博守夜人3 小时前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
lovingsoft3 小时前
AI 时代未来软件形态趋势:从固定功能应用,走向意图驱动、智能体原生的柔性系统-浅析
人工智能