logo
36
1
WeChat Login

🎙️ IndexTTS on CNB

基于 IndexTTS2 的声音克隆与文本转语音,开箱即用地运行在 CNB 云原生平台上

问题反馈 · 快速开始 · 使用方式 · 内置角色


✨ 特性

  • 声音克隆 — 仅需一段 5~30 秒的参考音频,即可克隆任意说话人的音色
  • 中英双语 — 支持中文、英文及中英混合文本的语音合成
  • WebUI 界面 — 提供可视化操作界面,无需编写代码
  • NPC 技能 — 可通过 NPC 对话直接进行语音合成
  • 云原生运行 — 基于 CNB 平台,GPU 环境预配置,Fork 即用

📦 项目结构

.
├── start.sh              # WebUI 启动脚本
├── reference.py           # Python API 调用示例
├── voices/                # 内置参考音频
│   ├── Arlecchino.mp3     #   阿蕾奇诺
│   ├── Columbina.mp3      #   哥伦比娅
│   └── Mizuki.mp3         #   梦见月瑞希
├── skills/indextts/       # NPC 声音克隆技能
├── configs/               # 配置文件
└── checkpoints/           # 模型文件(首次运行自动下载)

🚀 快速开始

方式一:云原生 WebUI(推荐)

  1. Fork 本仓库
  2. 点击「云原生开发」进入 WebIDE
  3. 终端中执行:
./start.sh
  1. 端口 7860 会自动开启公网访问
  2. ⏳ 首次运行需要下载模型(约几分钟),请耐心等待

方式二:Python API 调用

# 进入项目目录
cd /root/index-tts

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

# 运行示例
uv run reference.py

编辑 reference.py 自定义文本与参考音频:

from indextts.infer_v2 import IndexTTS2

tts = IndexTTS2(
    cfg_path="/root/index-tts/checkpoints/config.yaml",
    model_dir="/root/index-tts/checkpoints",
    use_fp16=False,
    use_cuda_kernel=False,
    use_deepspeed=False,
)

text = "你好,欢迎使用 IndexTTS 声音克隆!"

tts.infer(
    spk_audio_prompt="voices/Columbina.mp3",  # 参考音频路径
    text=text,                                  # 要合成的文本
    output_path="gen.wav",                      # 输出文件路径
    verbose=True,
)

方式三:NPC 语音合成

在仓库页面点击「洞察 → indextts」即可通过 NPC 对话进行语音合成,支持自然语言描述需求。

🎭 内置角色语音

角色音频文件说明
阿蕾奇诺voices/Arlecchino.mp3原神·仆人
哥伦比娅voices/Columbina.mp3原神·少女
梦见月瑞希voices/Mizuki.mp3原神·梦见月瑞希

你也可以使用自己的音频文件(支持 wav、mp3、ogg 等格式)作为参考音频。

⚙️ 参数说明

IndexTTS2 初始化参数

参数类型说明
cfg_pathstring配置文件路径
model_dirstring模型目录路径
use_fp16bool半精度推理,减少显存占用(需 GPU 支持)
use_cuda_kernelboolCUDA 加速内核,显著提升推理速度
use_deepspeedboolDeepSpeed 加速(大型 GPU 推荐)

合成参数

参数类型说明
spk_audio_promptstring参考音频路径,建议 5~30 秒清晰无噪音音频
textstring要合成的文本,支持中英文混合
output_pathstring输出文件路径,默认 WAV 格式
verbosebool显示详细推理信息

💡 使用建议

  • 参考音频质量:音频越清晰、时长越长(5~30 秒),克隆效果越好
  • 长文本处理:建议分段合成超长文本,避免单次推理时间过长
  • 输出格式:默认输出 WAV 无损格式,文件较大,可自行转换为 MP3
  • 性能优化:GPU 环境下启用 use_fp16=Trueuse_cuda_kernel=True 可大幅提升速度

🔧 环境要求

  • GPU:需要 NVIDIA GPU(CUDA 12.4+)
  • Python:3.10+(通过 uv 管理)
  • 平台:CNB 云原生开发环境(预配置,无需手动安装)

📄 致谢

  • IndexTTS — 开源声音克隆项目
  • CNB — 云原生开发平台

📜 License

本项目基于原项目 License 开源,仅供学习交流使用。

About

带情感的声音克隆

Language
Python40.1%
Dockerfile27%
Shell1.2%
Others31.7%