Name Last Update
..
configs Loading commit data...
data Loading commit data...
reports Loading commit data...
scripts Loading commit data...
src Loading commit data...
README.md Loading commit data...
evaluate.py Loading commit data...
requirements.txt Loading commit data...
run_demo.py Loading commit data...
train.py Loading commit data...

ACR Engine

一个可运行的听歌识曲原型,包含:

  • 合成数据集生成
  • 传统音频指纹(landmark hash)匹配
  • 深度 embedding 检索(ECAPA-TDNN)
  • Hybrid 混合识别入口

快速开始

cd acr-engine
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python run_demo.py full-demo

常用命令

1. 生成合成数据

python run_demo.py generate-data --output data/synthetic --num-songs 24

2. 训练前做干跑校验

python train.py --data data/synthetic --dry-run --device cpu

3. 训练一个最小模型

python train.py --data data/synthetic --output data/models --device cpu --epochs 1 --batch-size 8

4. 构建指纹与 embedding 索引

python run_demo.py build-index --data data/synthetic --model data/models/best_model.pt --output data/index

5. 跑识别

python run_demo.py recognize \
  --query data/synthetic/segments/song_0020_seg_00.wav \
  --data data/synthetic \
  --model data/models/best_model.pt \
  --index-prefix data/index/reference

6. 一键最小闭环

python run_demo.py full-demo --device cpu

目录

  • train.py:训练入口
  • run_demo.py:数据生成 / 建索引 / 识别 / 一键 demo
  • src/data:数据集和合成数据生成
  • src/models:ECAPA 模型与损失
  • src/engines:指纹、embedding、hybrid 检索
  • configs/default.yaml:默认配置

当前定位

这是一个原型仓库,目标是验证 ACR 主链路能否跑通,不是生产级服务。

评测

python evaluate.py --data data/synthetic --model data/models/best_model.pt --index-prefix data/index/reference --split test --device cpu

当前提升方向

  • 更强合成混淆样本(confused / humming_like)
  • Hybrid 分数归一化后再融合
  • full-demo 自动训练
  • 后续可接入开源数据集