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
No description provided
Readme 52 KiB
Languages
Python 100%