songrate — 音乐多维度评估系统
基于场景化权重的音乐质量评估 HTTP 服务。
特性
- 场景化评分: 不同音乐类型使用不同权重(流行/古典/电子/摇滚/爵士/嘻哈)
- 7 大维度: 节奏、可舞性、能量、情绪、调性、音色、音频质量
- 加权总分: 各维度小分 × 权重 = 最终评分
部署
# 1. 安装依赖
pip install -r requirements.txt
# 2. 注册路径
python scripts/load_path.py
# 3. 启动服务 (端口 8900)
ahserver -p 8900
nginx 配置
location /songrate/api/ {
allow <SAGE_SERVER_IP>;
allow 127.0.0.1;
deny all;
proxy_pass http://127.0.0.1:8900;
proxy_read_timeout 300s;
}
API
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /songrate/api/scenes.dspy | 获取可用场景 |
| GET | /songrate/api/dimensions.dspy?scene=pop | 获取维度树及权重 |
| POST | /songrate/api/config.dspy | 设置场景权重 |
| POST | /songrate/api/evaluate.dspy | 评估歌曲 |
评估示例
curl -X POST http://localhost:8900/songrate/api/evaluate.dspy \
-F "filepath=/path/to/song.mp3" \
-F "scene=pop"
返回:
{
"total_score": 7.85,
"scene": "pop",
"scene_name": "流行音乐",
"dimensions": [
{"key": "rhythm", "name": "节奏", "score": 8.2, "weight": 0.25, "weighted": 2.05, "details": {...}},
{"key": "danceability", "name": "可舞性", "score": 7.5, "weight": 0.20, "weighted": 1.50, "details": {...}},
...
]
}
Description
Languages
Python
100%