README.md 1.56 KB

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 主链路能否跑通,不是生产级服务。