Files
tps-dashboard/cca/note/CCA子项目_Brief.md
simonkoson ede30d3043 feat: CCA 唱词助手子项目 v3 — 脚本版流水线完成
新增 cca/ 子项目:编导A稿+人声音频 → ASR+AI校对+AI折行 → 5段SRT字幕。
- 讯飞录音文件转写标准版(热词注入)
- DeepSeek AI校对(严格纪律:只改错别字/术语/填充词,不润色)
- DeepSeek AI折行(语义断句,≤14字/行)
- 节目结构自动切分(导视/正片×3/预告)
- 绝对时间戳SRT输出(大洋系统兼容)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-04 15:25:08 +08:00

130 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CCA 唱词助手子项目 Brief
> 主项目 → 子项目的"交接宪法":红线、技术栈、出入口接口
> 起草日期:2026-07-04
> 状态:主项目签发,子项目内部不修改
---
## 一、为什么做
**痛点**:《军事科技》每期节目剪辑完成后,编导需要制作一份唱词字幕(SRT 文件)交给责编拉到大洋系统上线。目前纯手工操作——对照 A 稿听音频逐句打字幕,费时且容易出错。
**升级目标**:编导只需提供 A 稿 + 粗编人声音频,系统自动走 ASR + AI 校对 + 编导审稿确认,最终输出大洋系统可直接使用的 SRT 文件。
**紧迫性**:切实解决当前痛点,功能不复杂,两天内出可用版本。先独立部署测试,成熟后并入 TPS 主项目。
---
## 二、做什么(功能边界)
| 模块 | 简述 |
|---|---|
| 专有名词提取 | AI 从 A 稿中摘取军事专有名词(型号、人名、机构等),形成热词词典 |
| 讯飞 ASR 转写 | 音频 + 词典 → 带时间戳的 ASR 稿 |
| AI 校对比对 | ASR 稿 ⊕ A 稿比对,自动修正明显错误,标记存疑差异 |
| 编导审稿台 | 双屏对比 UI,差异高亮,编导点击确认/手动修改 |
| SRT 生成 | B 稿按拍词规则折行 + 时间戳 → 大洋格式 SRT |
**具体怎么做,子项目内部讨论,本 Brief 不预设方案。**
---
## 三、怎么用(目标流程)
1. 编导剪完节目,手头有 A 稿(docx/txt)+ 粗编纯人声音频
2. 编导上传 A 稿和音频到 CCA 系统
3. 系统自动:提取专有名词 → 讯飞 ASR → AI 校对 → 生成初版对比
4. 编导进入审稿台:查看差异、确认/修改
5. 系统输出 SRT 文件
6. 责编拿 SRT 拉到大洋系统形成唱词字幕
---
## 四、不做什么(红线)
-**不替代编导审稿**:AI 拿不准的必须过编导确认,不全自动出 SRT
-**不改 A 稿内容**:A 稿只用于提取专有名词和提供参照,不回写
-**不动主项目 backend 代码 / schema**(在吸收进主项目之前)
-**不复用主项目 backend/.env 的凭证**(子项目自己 .env
-**不用讯飞大模型版 ASR**(用录音文件转写标准版,与 doco 一致)
-**不做视频处理**(输入是已分离的纯人声音频,不是视频)
-**不做内容创作**(AI 只校对不创作,尊重 ASR 底稿 + 编导意见)
---
## 五、技术栈约束
- **运行环境**Python 3.x + Web 前端(审稿台)
- **ASR**:讯飞开放平台 录音文件转写标准版(热词偏置注入)
- **AI/LLM**:用于专有名词提取 + 校对(具体模型子项目讨论,省 token 优先)
- **输出格式**:SRT(大洋系统兼容,有样本)
- **部署**:先部署 lanhao 配音 2.0 网站测试,后续并入 TPS
- **美术风格**:参考 `ai-labeling/example/` 目录下的设计稿(`功能区划.jpg``幅面参考.jpg``页面风格.webp`),CCA 的 UI 风格与 TPS 主项目保持一致
---
## 六、交付什么(出口接口)
### 6.1 并入架构(同一服务器、同一进程)
CCA 最终**不是独立微服务**,而是代码合并进 TPS 同一套服务:
- **后端**CCA 的 API 路由并入 `backend/app/api/`(如 `cca.py`),业务逻辑并入 `backend/app/services/`(如 `cca_service.py`),共用同一个 FastAPI 进程
- **前端**CCA 页面并入 `frontend/src/pages/`(如 `CCA/` 目录),作为 TPS React 应用的一个路由页面(`/cca`
- **同一台服务器**:不存在跨服务调用,共用 TPS 的 PostgreSQL、同一个 `.env`
### 6.2 开发阶段的独立形态
并入前的开发测试阶段,CCA 以独立可运行的 Web 应用存在:
- 独立的后端(FastAPI 或轻量框架)+ 前端(审稿台 UI)
- 可单独部署到 lanhao 配音 2.0 网站跑通验证
- 代码结构从一开始就按"能干净并入 TPS"设计(目录命名、API 风格、前端组件规范对齐主项目)
### 6.3 具体交付清单
| 交付物 | 说明 |
|---|---|
| CCA 后端 API | 文件上传(A稿+音频)、ASR 任务触发/轮询、校对结果、审稿确认、SRT 下载 |
| 讯飞 ASR 适配层 | 热词注入 + 转写 + 解析,可被主项目其他模块复用(与 doco 逻辑同源) |
| 专有名词提取服务 | AI 从 A 稿提取军事专名 → 热词词典 |
| AI 校对比对服务 | ASR 稿 ⊕ A 稿差异标记(自动修正 + 存疑清单) |
| 编导审稿台前端 | 双屏对比 UI + 差异高亮 + 确认/手改交互 |
| 拍词折行引擎 | 按规则把 B 稿折行 + 结合时间戳生成 SRT |
| SRT 输出 | 大洋系统兼容格式(有样本对标) |
### 6.4 配置与凭证
- 开发阶段:cca 自己的 `.env`(讯飞 Key + LLM Key
- 并入后:凭证合并进 TPS 主项目 `backend/.env`,讯飞 Key 可与 doco 共用
- 主项目 `docs/api_credentials_inventory.md` 登记 CCA 凭证元信息
### 6.5 不接受
- 并入前,子项目自己改主项目 backend 代码、schema、迁移
- 未经主项目审批引入主项目没有的技术栈
- 并入时引入与主项目冲突的依赖版本
---
## 七、入口接口(子项目要知道的主项目现状)
- **主项目已有讯飞 ASR 经验**:doco 子项目已跑通讯飞录音文件转写标准版,签名/上传/轮询/解析全套逻辑可复用
- **主项目有 `api_credentials_inventory.md`**:凭证元信息登记表
- **主项目有跨子项目协作规则**:PRD 版本管理等,见 `跨子项目协作规则.md`
---
## 八、制片人待提供
- [ ] 拍词规则(责编拍词的具体 markdown 规则文档)
- [ ] 大洋 SRT 样本文件(一份能用的真实样本)
- [ ] 粗编音频样本(一期的真实音频,用于开发测试)
- [ ] A 稿样本(对应的编导 A 稿)
---
## 九、本 Brief 自身的修订规则
- 本 Brief 不在子项目内修改
- 红线/技术栈如有变更,**主项目这边发新版**
- 子项目可在自己的 chat 里建议调整,调整动作只能在主项目发生