# songrate — 音乐多维度评估系统 基于场景化权重的音乐质量评估 HTTP 服务。 ## 特性 - **场景化评分**: 不同音乐类型使用不同权重(流行/古典/电子/摇滚/爵士/嘻哈) - **7 大维度**: 节奏、可舞性、能量、情绪、调性、音色、音频质量 - **加权总分**: 各维度小分 × 权重 = 最终评分 ## 部署 ```bash # 1. 安装依赖 pip install -r requirements.txt # 2. 注册路径 python scripts/load_path.py # 3. 启动服务 (端口 8900) ahserver -p 8900 ``` ## nginx 配置 ```nginx location /songrate/api/ { allow ; 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 | 评估歌曲 | ### 评估示例 ```bash curl -X POST http://localhost:8900/songrate/api/evaluate.dspy \ -F "filepath=/path/to/song.mp3" \ -F "scene=pop" ``` 返回: ```json { "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": {...}}, ... ] } ```