acr-architecture.md
1.56 KB
ACR 项目架构图
更新:2026-06-02
1. 总体架构
flowchart LR
Q[Query 音频] --> P[预处理]
P --> F1[传统指纹特征]
P --> F2[Mel 特征]
F1 --> M1[Chromaprint Matcher]
F2 --> M2[ECAPA Embedder]
R[Reference 曲库] --> I1[指纹索引]
R --> I2[Embedding 索引]
M1 --> C[候选集合]
M2 --> C
C --> H[Hybrid 重排序]
H --> O[Top-K 识别结果]
2. 训练架构
flowchart TD
A[原始/合成音频] --> B[随机裁剪]
B --> C[增强: 噪声/变速/移调/混响]
C --> D[Mel Spectrogram]
D --> E[ECAPA-TDNN]
E --> F[Embedding]
F --> G[SupCon Loss]
F --> H[AAM Softmax]
G --> I[联合优化]
H --> I
3. 推理架构
sequenceDiagram
participant U as User Query
participant P as Preprocessor
participant C as Chroma Matcher
participant E as ECAPA Embedder
participant H as Hybrid Engine
U->>P: 输入音频
P->>C: 指纹特征
P->>E: Mel 特征
C-->>H: Top-N 指纹候选
E-->>H: Top-N embedding 候选
H-->>U: 融合后的识别结果
4. 当前可运行闭环
- 用
synthetic.py生成合成曲库 - 用
train.py训练 ECAPA 原型模型 - 用
run_demo.py build-index构建:- 指纹索引
- embedding 索引
- 用
run_demo.py recognize对片段做识别
5. 后续生产化架构建议
- API Gateway
- 异步音频入库流水线
- Faiss/HNSW 向量服务
- Postgres/MySQL 元数据服务
- 对象存储保存原始音频
- 模型服务与索引服务解耦