magic-book 的第一阶段目标,是先把“绘本讲解老师”能力独立做出来:
- 输入一个人的多段讲话音频。
- 生成并保存一个“讲解老师”。
- 给定文本,生成讲解音频。
当前仓库提供的是一个适合持续 AI Coding 的后端骨架:
FastAPIAPI 层,方便以后接前端和管理后台。- “讲解老师”领域模型独立,避免业务逻辑散在接口里。
- 语音供应商可插拔,后续可切换
OpenAI、ElevenLabs、XTTS或自研服务。 CLAUDE.md约束未来 AI Coding 的协作方式。SPEC.md记录路线图、状态和每个小需求的完成进度。
src/magic_book/
api/ # FastAPI 路由与接口模型
domain/ # 领域模型
providers/ # 语音供应商抽象与实现
repositories/ # 元数据持久化
services/ # 应用服务
storage/ # 文件存储
tests/ # 基础单测
当前环境还没有安装依赖,后续建议先补齐:
fastapi/uvicornffmpeg- 一个真实语音供应商
- 云端:
OpenAI自定义语音或ElevenLabs - 本地:
XTTS v2
- 云端:
GET /healthGET /api/v1/teachersGET /api/v1/teachers/{teacher_id}POST /api/v1/teachersPOST /api/v1/teachers/{teacher_id}/synthesize
当前代码可以先用标准库完成基础自检:
python3 -m unittest discover -s tests
python3 -m compileall src tests- 实现真实供应商适配器,优先接入一个能保存 voice asset 的方案。
- 增加音频预处理流水线,包括响度、采样率、静音裁剪。
- 引入任务队列,把“创建老师”和“生成语音”改成异步作业。
- 再接绘本、章节、讲解脚本和后台管理界面。