【正在进行IndexTTS2.5接入开发!即将上架完整演示视频】Dubbing studio for AIGC voice workflow based on IndexTTS2 and VoxCPM2。基于IndexTTS2和VoxCPM2的AIGC语音工作流配音室
Python
148
24 commits
updated Aug 12, 2026
本地运行 · 双模型分工 · 声音资产 · 多 Take · 任务与历史
Dubbing-room 是一个基于 VoxCPM2 与 IndexTTS2 的本地 AIGC 语音工作流配音室。它不是把两个模型放进同一个下拉菜单,而是让 VoxCPM2 负责创建和克隆声音,让 IndexTTS2 负责台词表演与多 Take,再由 Electron AppShell 统一管理声音资产、任务、历史和本地 runtime。
[!IMPORTANT] 项目仍处于 Alpha 阶段。IndexTTS2 是可选本地 runtime,仓库不默认捆绑其模型权重;当前实现与后续计划请以当前状态为准。
IndexTTS2 表演台把说话人参考、情绪模式、情绪强度和 Take 数放在同一个工作区内,用于精修单句台词。
声音设计 用目标文本与控制提示生成旁白、角色声音或基础声音素材。 |
声音克隆 从上传音频或 Voice Library 中选择参考声音,生成可继续使用的结果。 |
贯穿这条链路的 AppShell 负责本地存储、FIFO 任务队列和 runtime 状态;RuntimeCoordinator 用单一 lease 防止 VoxCPM2 与 IndexTTS2 同时占用同一 GPU。
| 模块 | 在配音室里的职责 |
|---|---|
VoxCPM2 | 通用语音生成、旁白、声音设计、声音克隆与基础声音资产准备 |
IndexTTS2 | 说话人参考、台词级演绎、情绪控制、多 Take 生成与版本选择 |
| AppShell backend | 本地存储、任务队列、runtime 互斥、History / Voice Library 兼容 |
| Electron renderer | 声音工作台、Jobs 视图、资产管理和操作反馈 |
Dubbing-room 是独立的本地桌面应用层,不是 OpenBMB/VoxCPM 或 IndexTTS2 的官方项目。它从早期 VoxCPM-Box AppShell 演进而来,并尽量把产品能力留在应用层,降低对上游模型内部实现的侵入。
当前 Windows 启动入口:
start_electron_shell.bat
无可见终端启动:
start_electron_shell.vbs
开发模式:
npm.cmd install
npm.cmd run dev
原始 Gradio 入口仍用于上游兼容、模型行为验证和回归检查:
start_voxcpm.bat
或直接运行:
python run_with_local_ffmpeg.py app.py --port 8808 --device cuda
先准备项目内 runtime / cache 目录:
.\scripts\prepare_indextts2_runtime.ps1
默认 runtime root 为 data/runtimes/indextts2/。需要自行放置或配置:
data/runtimes/indextts2/.venv/Scripts/python.exe
third_party/index-tts/checkpoints/config.yaml
third_party/index-tts/checkpoints/bpe.model
third_party/index-tts/checkpoints/gpt.pth
third_party/index-tts/checkpoints/s2mel.pth
所有 runtime、cache、checkpoint、输出和数据库都应留在当前仓库所在驱动器内,不应写入 C 盘缓存或外部临时目录。
已经具备或已接入:
third_party/index-tts/ 源码快照。RuntimeCoordinator、单进程 FIFO generation job queue。assets、generation_jobs、generation_takes。仍在推进:
main.tsx 继续拆分到 app/、shared/、voxcpm/、indextts2/、jobs/、storage/。Frontend type check:
npm.cmd run typecheck
Frontend build:
npm.cmd run build
Electron script syntax check:
node --check electron\main.js
node --check electron\preload.js
node --check electron\dev-runner.js
Python AppShell tests:
.venv\Scripts\python.exe -m pytest tests\test_voxcpm_app_storage.py tests\test_voxcpm_app_service_cli.py tests\test_voxcpm_app_generation_service.py tests\test_voxcpm_app_indextts2_service.py -q --basetemp data\pytest-tmp
electron/ Electron main process and React renderer
electron/renderer/src/jobs/ Jobs view and take list UI
src/voxcpm_app/ Python AppShell backend
src/voxcpm_app/runtime.py RuntimeCoordinator and backend status
src/voxcpm_app/job_queue.py FIFO generation job queue
src/voxcpm_app/job_store.py Assets / jobs / takes service helpers
third_party/index-tts/ IndexTTS2 source snapshot
scripts/prepare_indextts2_runtime.ps1
docs/ Product, technical, PRD, and app-dev docs
data/app/app.sqlite3
data/app/voices/
data/app/generations/
data/app/tmp/
data/runtimes/indextts2/
项目自行拥有权利的代码遵循仓库中的 LICENSE。第三方源码、模型及其衍生品继续适用各自的上游条款;当前仓库仅进行实验性质的开源开发,不默认捆绑 IndexTTS2 权重,也不宣称已取得商业授权。
24 commits
Python
76.3%
TypeScript
16.0%
JavaScript
4.1%
CSS
2.5%
【正在进行IndexTTS2.5接入开发!即将上架完整演示视频】Dubbing studio for AIGC voice workflow based on IndexTTS2 and VoxCPM2。基于IndexTTS2和VoxCPM2的AIGC语音工作流配音室
Python
148
24 commits
updated Aug 12, 2026
本地运行 · 双模型分工 · 声音资产 · 多 Take · 任务与历史
Dubbing-room 是一个基于 VoxCPM2 与 IndexTTS2 的本地 AIGC 语音工作流配音室。它不是把两个模型放进同一个下拉菜单,而是让 VoxCPM2 负责创建和克隆声音,让 IndexTTS2 负责台词表演与多 Take,再由 Electron AppShell 统一管理声音资产、任务、历史和本地 runtime。
[!IMPORTANT] 项目仍处于 Alpha 阶段。IndexTTS2 是可选本地 runtime,仓库不默认捆绑其模型权重;当前实现与后续计划请以当前状态为准。
IndexTTS2 表演台把说话人参考、情绪模式、情绪强度和 Take 数放在同一个工作区内,用于精修单句台词。
声音设计 用目标文本与控制提示生成旁白、角色声音或基础声音素材。 |
声音克隆 从上传音频或 Voice Library 中选择参考声音,生成可继续使用的结果。 |
贯穿这条链路的 AppShell 负责本地存储、FIFO 任务队列和 runtime 状态;RuntimeCoordinator 用单一 lease 防止 VoxCPM2 与 IndexTTS2 同时占用同一 GPU。
| 模块 | 在配音室里的职责 |
|---|---|
VoxCPM2 | 通用语音生成、旁白、声音设计、声音克隆与基础声音资产准备 |
IndexTTS2 | 说话人参考、台词级演绎、情绪控制、多 Take 生成与版本选择 |
| AppShell backend | 本地存储、任务队列、runtime 互斥、History / Voice Library 兼容 |
| Electron renderer | 声音工作台、Jobs 视图、资产管理和操作反馈 |
Dubbing-room 是独立的本地桌面应用层,不是 OpenBMB/VoxCPM 或 IndexTTS2 的官方项目。它从早期 VoxCPM-Box AppShell 演进而来,并尽量把产品能力留在应用层,降低对上游模型内部实现的侵入。
当前 Windows 启动入口:
start_electron_shell.bat
无可见终端启动:
start_electron_shell.vbs
开发模式:
npm.cmd install
npm.cmd run dev
原始 Gradio 入口仍用于上游兼容、模型行为验证和回归检查:
start_voxcpm.bat
或直接运行:
python run_with_local_ffmpeg.py app.py --port 8808 --device cuda
先准备项目内 runtime / cache 目录:
.\scripts\prepare_indextts2_runtime.ps1
默认 runtime root 为 data/runtimes/indextts2/。需要自行放置或配置:
data/runtimes/indextts2/.venv/Scripts/python.exe
third_party/index-tts/checkpoints/config.yaml
third_party/index-tts/checkpoints/bpe.model
third_party/index-tts/checkpoints/gpt.pth
third_party/index-tts/checkpoints/s2mel.pth
所有 runtime、cache、checkpoint、输出和数据库都应留在当前仓库所在驱动器内,不应写入 C 盘缓存或外部临时目录。
已经具备或已接入:
third_party/index-tts/ 源码快照。RuntimeCoordinator、单进程 FIFO generation job queue。assets、generation_jobs、generation_takes。仍在推进:
main.tsx 继续拆分到 app/、shared/、voxcpm/、indextts2/、jobs/、storage/。Frontend type check:
npm.cmd run typecheck
Frontend build:
npm.cmd run build
Electron script syntax check:
node --check electron\main.js
node --check electron\preload.js
node --check electron\dev-runner.js
Python AppShell tests:
.venv\Scripts\python.exe -m pytest tests\test_voxcpm_app_storage.py tests\test_voxcpm_app_service_cli.py tests\test_voxcpm_app_generation_service.py tests\test_voxcpm_app_indextts2_service.py -q --basetemp data\pytest-tmp
electron/ Electron main process and React renderer
electron/renderer/src/jobs/ Jobs view and take list UI
src/voxcpm_app/ Python AppShell backend
src/voxcpm_app/runtime.py RuntimeCoordinator and backend status
src/voxcpm_app/job_queue.py FIFO generation job queue
src/voxcpm_app/job_store.py Assets / jobs / takes service helpers
third_party/index-tts/ IndexTTS2 source snapshot
scripts/prepare_indextts2_runtime.ps1
docs/ Product, technical, PRD, and app-dev docs
data/app/app.sqlite3
data/app/voices/
data/app/generations/
data/app/tmp/
data/runtimes/indextts2/
项目自行拥有权利的代码遵循仓库中的 LICENSE。第三方源码、模型及其衍生品继续适用各自的上游条款;当前仓库仅进行实验性质的开源开发,不默认捆绑 IndexTTS2 权重,也不宣称已取得商业授权。
24 commits
Python
76.3%
TypeScript
16.0%
JavaScript
4.1%
CSS
2.5%