project-responsibility-map.md
2.87 KB
ACR 项目职责图
更新:2026-06-02
1. 项目定位
本项目是一个听歌识曲 / 音频内容识别(ACR)原型系统,目标是先跑通:
- 数据生成
- 特征提取
- 模型训练
- 指纹检索
- embedding 检索
- hybrid 混合识别
当前不以生产服务为目标,重点是算法链路验证。
2. 仓库职责分层
/workspace
├── acr-engine/ # ACR 核心算法与可运行 demo
│ ├── configs/ # 训练/推理参数配置
│ ├── src/data/ # 数据集读取、合成数据生成
│ ├── src/models/ # 声学模型、损失函数
│ ├── src/engines/ # 指纹/embedding/hybrid 检索引擎
│ ├── train.py # 模型训练入口
│ ├── run_demo.py # 数据生成、建索引、识别入口
│ └── requirements.txt # Python 依赖
├── docs/ # 设计、架构、路线图、使用说明
├── scripts/ # 环境安装与工具 bootstrap
├── container/ # 容器环境定义
└── .codex/.omx/ # Codex / OMX 协作与运行时元数据
3. 模块职责图
flowchart TD
A[音频输入] --> B[数据层]
B --> B1[合成数据生成 synthetic.py]
B --> B2[训练/验证数据集 dataset.py]
A --> C[特征层]
C --> C1[Mel Spectrogram]
C --> C2[Chroma / F0]
C --> C3[增强 augment.py]
C --> D[模型层]
D --> D1[ECAPA-TDNN]
D --> D2[SupCon + AAM Loss]
A --> E[检索层]
E --> E1[ChromaprintMatcher]
E --> E2[ECAPAEmbedder]
E --> E3[HybridEngine]
D --> F[训练入口 train.py]
E --> G[推理入口 run_demo.py]
4. 角色职责
| 模块 | 职责 | 当前状态 |
|---|---|---|
src/data/synthetic.py |
生成可控的合成歌曲与片段 | 已实现 |
src/data/dataset.py |
训练/验证数据装载 | 已实现 |
src/utils/audio.py |
Mel、滑窗、F0、Chroma | 已实现 |
src/utils/augment.py |
噪声、变速、移调、混响增强 | 已实现 |
src/models/ecapa_tdnn.py |
embedding 编码器 | 已实现 |
src/models/losses.py |
对比学习 + 分类训练目标 | 已实现 |
src/engines/chromaprint_matcher.py |
传统哈希指纹检索 | 已实现 |
src/engines/ecapa_embedder.py |
embedding 提取与向量检索 | 已实现 |
src/engines/hybrid_engine.py |
融合匹配结果 | 已实现 |
train.py |
训练入口 | 已实现 |
run_demo.py |
demo 入口 | 本次补齐 |
5. 当前边界
当前项目负责:
- 原型级算法验证
- 小规模曲库识别
- 本地训练与本地识别 demo
当前项目暂不负责:
- 在线 API 服务
- 海量曲库 ANN 线上部署
- 权限、账号、计费
- 真正版权音频数据治理
- 生产监控告警