QQ Music Playlist Generator | QQ音乐宝藏歌单生成器
Overview
根据用户输入的一首歌曲名或一种情绪/风格描述,在QQ音乐中搜索并筛选出10首同风格的"宝藏歌曲",生成可直接导入QQ音乐播放的歌单,并附带包含曲风说明、选曲理由、歌手与作曲者简介的歌单介绍。
When to Use
- 用户提供了一首歌名,希望找到类似风格的歌
- 用户描述了一种情绪或风格(如"欢快"、"深情"、"摇滚"、"民谣"),希望生成歌单
- 用户说"帮我做个歌单"、"推荐类似歌曲"、"生成QQ音乐歌单"等
Workflow
Step 1: 解析用户输入
判断用户输入类型:
- 歌曲名输入:如"帮我和《晴天》风格相似的歌" → 以该歌曲为基准曲,搜索同风格歌曲
- 情绪/风格输入:如"来一个深情的歌单"、"摇滚风格的" → 以风格关键词为搜索方向
提取关键信息:
- 基准歌曲名(如有)
- 风格关键词(如:欢快、深情、摇滚、民谣、电子、R&B、古风等)
- 用户可能的额外偏好(如语言:国语/粤语/英语/日语等)
Step 2: 搜索候选歌曲
使用 WebSearch 工具进行多轮搜索,扩大候选池。参考以下搜索策略:
以歌曲名为基准时:
1. "{歌曲名} 类似歌曲 推荐 小众" — 搜索与基准曲风格相似的推荐
2. "{歌曲名} 同风格 宝藏歌曲 QQ音乐" — 搜索QQ音乐相关的宝藏推荐
3. "{歌曲名} 曲风分析" — 了解基准曲的音乐特征
以情绪/风格为基准时:
1. "{风格关键词} 宝藏歌曲 推荐 小众好听" — 搜索该风格的宝藏歌曲
2. "{风格关键词} 火钳刘明 QQ音乐 评论" — 搜索带有"火钳刘明"标签的歌曲
3. "{风格关键词} 小众 发烧友 推荐 歌曲" — 搜索发烧友推荐的小众歌曲
4. "{风格关键词} 宝藏音乐 没有火 QQ音乐" — 搜索"这么宝藏的音乐怎么没有火"类歌曲
对搜索结果中的歌曲名进行汇总,初步筛选出 20-30 首候选歌曲。
Step 3: 验证QQ音乐可检索性
对每首候选歌曲,确认其在QQ音乐上可搜索到:
1. 搜索 "{歌曲名} {歌手} QQ音乐" 或 "{歌曲名} site:y.qq.com"
2. 如果能找到QQ音乐链接(格式如 https://y.qq.com/n/ryqq/songDetail/{songmid}),记录歌曲信息
3. 如果歌曲在QQ音乐上不可检索,从候选列表中移除
Step 4: 评论区特征验证
对通过QQ音乐可检索性验证的歌曲,进一步检查评论区特征:
- 搜索
"{歌曲名} {歌手} 评论 火钳刘明"— 检查是否有"火钳刘明"相关评论 - 搜索
"{歌曲名} {歌手} 评论 宝藏"— 检查是否有"宝藏"相关评论 - 搜索
"{歌曲名} QQ音乐 评论数"— 了解评论数量级
满足以下任一条件的歌曲优先入选:
- 评论中出现"火钳刘明"字样
- 评论中出现"这么宝藏的音乐怎么没有火"、"怎么没火"等类似字样
- 评论数量较多(万级以上)但在大众层面知名度不高
Step 5: 宝藏属性评估
对每首候选歌曲进行"宝藏属性"评估,参考 references/song_selection_criteria.md 中的详细标准:
核心维度:
1. 小众度:不在各大热歌榜单前列,但音乐品质优秀
2. 发烧友知名度:在音乐爱好者社区(如豆瓣音乐、网易云评论区、音乐论坛)中有一定讨论度
3. 音乐性:旋律、编曲、歌词有独特之处,不是流水线作品
4. 耐听度:反复聆听不腻,有层次感
排除标准:
- 当前各大音乐平台热歌榜前50的歌曲
- 近期短视频平台爆款BGM
- 过于冷门、几乎无任何评论和讨论的歌曲
Step 6: 确定最终10首
从候选歌曲中选出最终的10首,确保:
1. 风格统一性:10首歌在整体风格上保持一致
2. 多样性:在统一风格内,有不同歌手、不同年代、不同编曲手法的作品
3. 节奏编排:考虑歌单的听感流,开头、中间、结尾的节奏变化
4. 全部在QQ音乐可检索
Step 7: 收集歌手与作曲者信息
对最终入选的10首歌,收集以下信息:
1. 搜索 "{歌手名} 音乐人 简介" — 获取歌手简介
2. 搜索 "{歌曲名} 作曲 作词 编曲" — 获取创作者信息
3. 整理每位歌手/创作者的一句话简介(风格特点、代表作、音乐背景)
Step 8: 生成歌单
运行格式化脚本生成最终输出:
/Users/ningjingwen/.workbuddy/binaries/python/versions/3.13.12/bin/python3 scripts/format_playlist.py
脚本使用方法:
1. 将歌曲数据写入 JSON 文件(格式见下方),保存为临时文件
2. 运行脚本,传入 JSON 文件路径
3. 脚本生成两个输出文件:歌单导入文本 + 歌单介绍文档
输入 JSON 格式:
{
"playlist_title": "歌单标题",
"genre": "曲风标签",
"genre_description": "曲风说明文字",
"selection_rationale": "选曲理由",
"songs": [
{
"title": "歌曲名",
"artist": "歌手名",
"songmid": "QQ音乐songmid(如有)",
"composer": "作曲者",
"lyricist": "作词者",
"arranger": "编曲者(如知道)",
"artist_bio": "歌手一句话简介",
"selection_reason": "这首歌的入选理由",
"comment_highlight": "评论区亮点摘要"
}
]
}
Step 9: 呈现结果
向用户呈现:
1. QQ音乐导入文本:可直接复制粘贴到QQ音乐导入的纯文本歌单
2. 歌单介绍文档:包含曲风说明、选曲理由、歌手与作曲者简介的完整文档
3. 导入操作指南:简要说明如何将歌单导入QQ音乐
参考 references/qq_music_import_guide.md 获取QQ音乐导入格式的详细说明。
Output Format
歌单导入文本(用于QQ音乐导入)
歌曲名1 - 歌手名1
歌曲名2 - 歌手名2
...
歌曲名10 - 歌手名10
歌单介绍文档(用于歌单描述)
歌单介绍文档应包含以下部分:
- 歌单标题:富有诗意或风格感的标题
- 曲风说明:这是什么风格,有什么音乐特征
- 选曲理由:为什么选择这10首歌,它们之间的关联
- 歌曲列表与简介:每首歌的歌手、作曲者、简介
- 听感指引:建议在什么场景下聆听
Key Principles
- 宁缺毋滥:如果搜索结果不够10首符合条件的,宁可只推荐7-8首也不要凑数
- 真实可查:所有歌曲必须在QQ音乐上真实可检索,不可凭空捏造歌曲名
- 发烧友视角:选曲应体现音乐品味,而非大众流行度
- 评论区价值:评论区特征是重要信号,反映了歌曲在听众中的真实口碑