核心功能
galdr 是一款专为 AI 代理设计的音乐感知命令行工具,核心能力在于将音频轨道转换为时间有序的听众状态追踪(listener-state traces),涵盖 9 个维度:attention(注意力)、pattern(模式感知)、pulse(脉冲)、pressure(压力场)、texture(纹理)、harmony(和声)、melody(旋律)、overtones(泛音结构)、以及 silence/re-entry(静默与重新进入结构)。
工作流程与典型用法
主流场景:YouTube 分析
galdr fetch "https://youtu.be/..." --analyze # 下载+分析 galdr assemble artist-song-title --template arc --mode full > prompt.txt
本地文件分析
galdr listen track.wav --name my-track galdr assemble my-track --template arc
输出模式
| 模式 | 内容 |
|------|------|
| `full` | 指标 + 歌词 + 背景 + 视频帧 |
| `lyrics` | 指标 + 歌词 |
| `context` | 指标 + 背景信息 |
| `blind` | 纯结构性指标,无文化语境 |
显著优点
1. 时间优先架构:以 *_stream.json 为首要证据表面,强制按时间顺序遍历轨道,而非直接跳到整曲情绪总结,避免过度推断。
2. 感知模型抽象:将技术音频特征(LUFS、频谱等)翻译为听觉语言——"comes forward / holds / releases / empties",适合生成沉浸式聆听体验文本。
3. 模块化设计:fetch/listen → assemble 的分离架构,支持复用分析结果、对比多轨道、提取音乐视频关键帧。
4. AI 原生输出:--template arc 预置聆听体验写作规则,可直接输入大模型生成结构化散文。
潜在局限与风险
- 依赖链复杂:需要 yt-dlp、ffmpeg/ffprobe、JavaScript 运行时,且 YouTube 下载行为可能因平台策略变化而失效(提供
galdr doctor诊断)。 - 非实时处理:需完整下载/读取音频后分析,不适合直播或实时场景。
- 感知模型的边界:明确警告"不要从结构单独过度声称情绪确定性",metrics 是证据而非体验本身。
- 平台限制:仅支持 Linux/macOS,Windows 未列明支持。
适合人群
- 音乐评论家、音频内容创作者(生成聆听体验文本)
- 音乐学者、分析师(结构性对比、模式识别研究)
- AI 代理开发者(构建音乐理解能力的自动化工作流)
- 播客/视频制作者(提取音乐视频关键帧辅助叙事)
安全与可信度考量
- 来源:GitHub 开源 + PyPI 分发,MIT 许可,作者 Sellemain,代码可审计。
- 数据安全:YouTube 下载涉及第三方内容,需遵守平台 ToS;本地音频处理无网络依赖。
- 供应链:
galdr update-deps自动升级 yt-dlp,需信任 PyPI 及 curl-cffi 等依赖。 - 操作风险:
--censor选项可净化显式歌词,但默认不启用,需注意输出内容的合规性。