核心用法
本技能提供两套 Python 脚本,均基于纯信号处理(无 AI/ML 模型):
1. Quick Analysis(全局快照)
- 输出:时长、采样率、BPM、调性估算、能量统计(RMS 均值/标准差/P95)、频谱摘要(质心、滚降点、对比度)、粗略段落边界
- 适用场景:快速技术质检、元数据提取
2. Temporal Listen(时序深度分析)
- 采用 4 秒滑动窗口(2 秒步进),生成完整时间线:
- 相对能量水平
- 情绪标签(14 种分类,如 submerged、soaring、erupting)
- 过渡检测(drop、色彩变化、演进)
- 纹理分解(谐波/打击乐比例、起音密度、粗糙度)
- 张力模型与叙事弧(mountain、ascending、plateau 等)
- 峰值/静默时刻定位
- 适用场景:混音对比、情绪 journey 可视化、制作笔记生成
显著优点
| 维度 | 优势 |
|------|------|
| 隐私 | 100% 本地运行,音频数据不上传 |
| 成本 | 零 API 费用,适合批量处理 |
| 透明度 | 规则化情绪映射,可解释性强 |
| 生态兼容 | 支持 ffmpeg 可解码的任意格式(mp3/wav/flac/ogg/m4a) |
| 扩展性 | 可配合 yt-dlp 下载 YouTube/Spotify 音源;可选 Whisper 本地转录 |
潜在局限
- 调性检测:基于 chromagram 的统计估算,对无调性音乐、频繁转调曲目准确率下降
- BPM 计算:依赖 librosa.beat_tempo,对极端速度(<60 或 >200 BPM)或复杂拍号可能偏差
- 情绪标签:规则映射基于西方流行音乐特征,对非西方调式、实验电子、氛围音乐可能误标
- 性能:时序分析需逐帧 STFT 计算,长曲目(>10 分钟)处理耗时显著
适合人群
- 音乐制作人/混音工程师:批量质检、版本对比
- 音乐学者:结构分析、情绪标注数据集构建
- 播客/视频创作者:自动化音频元数据提取
- 隐私敏感用户:拒绝云服务的本地优先工作流
常规风险
| 风险类型 | 说明 | 缓解措施 |
|----------|------|----------|
| 版权音频 | 通过 yt-dlp 下载受版权保护内容可能违法 | 仅分析自有版权或 CC 授权音频 |
| 系统依赖 | ffmpeg/librosa 版本差异可能导致解码失败 | 使用技能提供的 venv 隔离环境 |
| 存储膨胀 | 临时音频文件累积 | 严格使用 `tmp/` 目录(已 gitignore) |
| 误用情绪标签 | 规则标签≠主观听感,直接用于商业推荐可能失真 | 作为辅助参考,关键决策需人工复核 |