feat: initial speaker-id service README

- ECAPA-TDNN speaker recognition service
- endpoints: enroll, identify, verify, compare
- GPU deployment with longtasks async pattern
This commit is contained in:
yumoqing 2026-07-21 17:00:55 +08:00
parent 352952b676
commit 8cf40d0e61

View File

@ -1,2 +1,61 @@
# speaker-id # Speaker ID — 声纹识别服务
## 概述
基于 ECAPA-TDNN 的声纹识别/说话人识别服务。支持说话人注册、识别、比对。
## 模型
SpeechBrain ECAPA-TDNN (spkrec-ecapa-voxceleb)
部署于 GPU 服务器,使用 longtasks 异步任务模式。
## API
| 端点 | 方法 | 说明 |
|------|------|------|
| /api/status | GET | 服务状态和模型信息 |
| /api/enroll | POST | 注册说话人 (音频 → 声纹特征) |
| /api/identify | POST | 识别说话人 (音频 → 匹配身份) |
| /api/verify | POST | 1:1 验证 (两段音频 → 是否同一人) |
| /api/compare | POST | 比对两个声纹向量的相似度 |
## 请求示例
```json
POST /api/enroll
{
"audio": "base64或文件路径",
"speaker_id": "speaker_001",
"speaker_name": "张三"
}
POST /api/identify
{
"audio": "base64或文件路径",
"threshold": 0.7,
"top_k": 3
}
```
## 响应格式
```json
{
"status": "SUCCEEDED",
"embedding": [0.123, -0.456, ...],
"embedding_dim": 192,
"elapsed": 0.523
}
```
## 部署
```bash
cd /data/ymq/speaker-id
bash build.sh
sudo systemctl restart speaker-id
```
## 端口
9095 (CPU + GPU)