要给课程、短片或店铺视频配一段有情绪的旁白,可以用 IndexTTS-2.5 克隆本人或已获明确授权的参考声音,再调节语气和语速。
此前的克隆、高兴、悲伤和慢速四段样音暂不公开展示,待补齐参考录音来源与声音授权记录后再决定是否恢复。以下保留部署、情绪与语速操作说明及历史测试记录;工具包不再预设参考声音。
实测设备是 M1 Max、64GB 内存的 Mac,使用 MPS,也就是 Apple 芯片的 GPU 后端。此前测试中,本机生成 8.14 秒的克隆语音用了约 88 秒,约为音频时长的 11 倍,更适合提前制作,不适合边聊边合成。更换参考录音后的速度和听感尚未验证。模型和辅助文件总共约 10GB,下载前先确认磁盘空间。
先确认模型使用协议
IndexTTS-2.5 由 B 站 IndexTTS 团队发布,使用《bilibili 模型使用许可协议》。当前中文协议第 2.2 条规定:如果你或关联方的产品、服务上个月月活超过 1 亿,或上一年度营收超过人民币 1 亿元,必须申请单独商业许可;取得明确书面授权前不能使用协议授予的权利。中文版本优先于英文版本。
没有达到这两个门槛,也要遵守协议中的其他条款,例如保留版权声明与协议、不得把模型用于协议禁止的高风险用途。接收费配音订单前先看完整的官方中文协议。克隆真人声音还要另行取得本人授权。
开始前准备
| 项目 | 需要准备 |
|---|---|
| 电脑 | 本文实测为 M1 Max、64GB 内存;其他 Mac 机型未验证 |
| 磁盘 | 预留约 15GB,包含依赖、模型和辅助文件 |
| 工具 | Git、uv、终端;安装教程见《用 uv 安装 Python 和虚拟环境》 |
| 时间 | 首次配置约 40 分钟,模型下载另计 |
IndexTTS 官方仓库主要面向 NVIDIA GPU 用户。本教程保留本机 Mac 路线;安装步骤来自 2026 年 10 月 3 日的环境记录,2026 年 10 月 10 日在同一环境重新运行了工具包脚本。其他 Mac 的速度和依赖兼容性没有验证。
1. 下载项目并安装依赖
mkdir -p ~/ai-demo && cd ~/ai-demo
git clone https://github.com/index-tts/index-tts.git
cd index-tts
uv sync --python 3.11 --managed-python --extra webui --default-index "https://mirrors.aliyun.com/pypi/simple"
uv sync 会创建项目自己的 .venv 环境并安装 WebUI 依赖。安装完成后,后续从项目根目录运行脚本时用 uv run,它会自动选中这套环境。
2. 下载模型
IndexTTS-2.5 主模型和首次运行所需的辅助文件合计约 10GB。官方提供 ModelScope 下载方式,先安装下载工具,再把模型保存到项目默认的 checkpoints 目录:
uv tool install modelscope-hub
modelscope download --model IndexTeam/IndexTTS-2.5 --local_dir checkpoints
第一次启动网页或脚本时,部分小型辅助模型可能还会自动下载。网络较慢时可以等待它完成;不要在下载还没结束时关闭进程。
3. 用脚本生成语音
下载IndexTTS-2.5 Mac 示例工具包,解压后把 demo_zh.py 放到 IndexTTS 项目根目录,也就是和 webui.py 同一层。工具包不含模型权重。
先准备本人录音或已获明确授权的 WAV 文件,在脚本中填写 PROMPT_WAV,修改 TEXT 和 MOOD_TEXT。确认授权包含本次声音克隆用途后,将 VOICE_USE_CONFIRMED 改为 True,再从项目根目录运行:
uv run python demo_zh.py
脚本默认留空参考音路径,授权确认默认为 False;未填写或文件不存在时,会在加载模型前退出,不会自动回退到项目示例声音。配置完成后,在 outputs/ 目录生成克隆、高兴、悲伤、慢速四段音频。录音尽量清晰、少背景声。若准备在 App、网站或交付作品中公开生成结果,还需确认授权包含相应的公开展示、传播及商业用途(如适用),并保留授权记录。这个确认开关只是操作提醒,不能替代真实授权。
本机测试使用了 PyTorch 2.8.0 和 MPS。四种效果来自同一套模型参数,声音质量和生成速度会受文本长度、情绪强度和设备影响。交付前要完整试听,尤其检查人名、数字和标点停顿。
调整情绪和语速
emo_vector 有 8 个值,顺序是高兴、愤怒、悲伤、害怕、厌恶、忧郁、惊讶、平静。把想要的情绪对应位置调高。下面两行用于替换已完成参考音及授权配置的脚本中的推理调用,需在模型初始化后执行:
tts.infer(spk_audio_prompt=PROMPT_WAV, text="今天的天气真好。", lang="ZH", output_path="happy.wav", emo_vector=[0.8, 0, 0, 0, 0, 0, 0, 0])
tts.infer(spk_audio_prompt=PROMPT_WAV, text="今天的天气真好。", lang="ZH", output_path="sad.wav", emo_vector=[0, 0, 0.8, 0, 0, 0, 0, 0])
语速用 duration_factor 控制。1.0 是正常速度,1.3 会放慢,0.8 会加快;官方文档支持 0.5 到 2.0。此前慢速版本的测试时长约 10.1 秒,播放器暂不展示;更换参考录音后需重新测量。
情绪强度过高可能听起来像在表演,先从 0.6 左右试起,再试听调整。
常见问题
找不到 modelscope 命令:确认 uv tool install modelscope-hub 已完成,并按 uv 的提示把工具目录加入 PATH;重新打开终端后再试。
第一次运行仍在下载文件:项目会按需拉取辅助模型。等下载完成后再次运行;如果网络无法访问默认模型源,可以先按官方文档配置 ModelScope 下载方式,再重新执行。
情绪没有明显变化:先缩短句子,把目标情绪值设为 0.6~0.8,并用同一段参考音频重新生成。不同参考声音对情绪控制的响应会不同。
拿它挣钱
确认模型协议和声音素材授权适用于你的业务后,可以把它用于课程旁白、短片解说或产品视频配音。交付前说明使用 AI 配音,保留录音授权记录,并逐句试听校对。报价可按成品时长、情绪版本数量、修改次数和文件格式拆项;没有可靠的统一市场价时,先看同平台同类服务的公开报价,再按自己的校对和修改成本定价。
工具清单
| 工具 | 用途 | 入口 |
|---|---|---|
| IndexTTS-2.5 | 本地声音克隆、情绪与语速控制 | 官方仓库 |
| IndexTTS-2.5 模型 | 模型权重与配置 | ModelScope 模型页 |
更多模型许可对比见《中文 AI 配音模型怎么选?先查商用许可,再看声音效果》。本文的本机速度数据测试日期为 2026 年 10 月 10 日,模型加载约 30 秒;下载和许可规则以官方页面当前内容为准。