SuperAPI AI 工具集

add-tts-engine

编程与开发

查看项目

更新于 10-15 22:40

技能介绍

用途:把新的 TTS 引擎完整集成进 Voicebox,包括依赖调研、后端协议实现、前端 UI 接线、PyInstaller 打包和冻结构建验证,最终只需用户在本地测试成品。

主要能力与流程:先完整阅读 docs/content/docs/developer/tts-engines.mdx,按阶段推进。Phase 0 依赖调研为强制步骤,需克隆模型库到临时目录并审计,产出书面依赖审计,覆盖 PyPI 与非 PyPI 包、PyInstaller 指令(--collect-all、--copy-metadata、--hidden-import)、需打包的运行时数据文件、冻结构建需环境变量覆盖的原生库路径、所需 monkey-patch(torch.load、float64、MPS、HF token)、采样率、模型下载方式(from_pretrained 与 snapshot_download + from_local),并在临时 venv 中于 CPU 上测试模型加载与生成。

Phase 1 后端实现:新建 backend/backends/<engine>_backend.py,在 backend/backends/init.py 注册(ModelConfig + TTS_ENGINES + factory),更新 backend/models.py 正则。Phase 2 路由与服务集成通常无需改动,main.py 零改动。Phase 3 前端涉及 5 个文件:types.ts、languages.ts、EngineModelSelector.tsx、useGenerationForm.ts、ModelManagement.tsx。Phase 4 依赖涉及 requirements.txt、justfile、release.yml、Dockerfile。Phase 5 在 build_binary.py 注册引擎,必要时在 server.py 的 frozen 分支加 os.environ.setdefault()。

使用方式:按阶段顺序执行,用 just dev 验证完整链路(模型下载→加载→生成→语音克隆),并逐项核对 tts-engines.mdx 底部的 Implementation Checklist。

限制与注意:不要跳过 Phase 0;使用 backends/base.py 的 get_torch_device() 与 model_load_progress(),不要重复实现;用干净的 HuggingFace 缓存测试;不要推送或创建 release,把构建交给用户本地测试。文档列出的常见失败模式包括 inspect.getsource 报错、模型文件缺失、原生库路径、importlib.metadata、torch.load 的 map_location、float64 dtype、HF token 认证等,均需在 Phase 0 提前发现。