核心功能
galdr 是一款开源命令行音频分析工具,专注于将音乐解构为可量化的结构指标,并生成用于创作约800字第一人称沉浸式聆听体验的完整提示词。
主要能力
1. 音频获取与分析:支持 YouTube URL 自动下载或本地音频文件,提取多维度结构指标
2. 结构指标计算:包括 pattern_lock(模式锁定度)、hp_balance(和声-打击乐平衡)、breath_balance(呼吸形态)、momentum(动量曲线)、silence 结构等
3. 提示词组装:通过 galdr assemble 将指标、歌词、背景信息整合为可用于大语言模型的结构化提示
4. 视频帧提取:galdr frames 可在音乐结构关键节点提取视觉帧,支持视听交叉分析
5. 曲目比较:galdr compare 提供并排的结构性对比
显著优点
- 方法论严谨:强调时间优先的分析路径(
*_stream.json时序数据为核心),避免先入为主的整体情绪判断 - 输出标准化:JSON 结构化数据便于程序化调用和二次开发
- 开源可信:PyPI 官方分发,源码公开可审计
- 模板化写作:
--template arc提供经过验证的聆听体验写作规范
局限与注意事项
- 非实时工具:不支持实时音频流分析,必须预先获取完整文件
- 依赖链复杂:依赖 yt-dlp、ffmpeg、可选 JavaScript 运行时,跨平台稳定性需验证
- 文化语境有限:
--mode blind仅输出结构指标,需外部补充文化背景 - 写作质量依赖下游模型:生成散文的最终质量取决于接入了哪个 LLM 端点
典型使用场景
- 音乐评论者需要结构化的分析锚点而非主观印象
- 创作者研究特定曲目的工程结构(如为何某段"抓耳")
- 比较同一 artist 不同时期作品的结构演变
- 视听作品分析(配合
galdr frames)
常规风险
- 版权敏感:YouTube 下载功能可能触及平台 ToS 和版权法灰色地带
- 依赖项漂移:yt-dlp 因对抗 YouTube 反爬机制需频繁更新,
galdr update-deps是必要维护动作 - 提示词注入风险:若将未审查的
assemble输出直接 pipe 到外部 LLM,需警惕提示词内容是否包含恶意构造的元数据
技术栈定位
Python CLI → 音频特征提取(librosa 生态)→ JSON 中间表示 → 模板引擎 → 提示词输出。本质是将可计算的听觉特征转化为可叙述的聆听体验。