【openclaw实用Skill】songsee 技能
使用songsee CLI从音频生成频谱图和特征面板可视化。
技能概述
songsee 技能是一个命令行工具,用于从音频文件生成频谱图和特征面板可视化。它支持多种可视化类型,包括频谱图、梅尔频谱、色度图、和声/打击乐分离(HPSS)、自相似性、响度、节奏图、MFCC和频谱通量等。songsee非常适合音频分析、音乐可视化和音频特征提取等场景。
下载地址:https://github.com/openclaw/openclaw/tree/main/skills
主要功能
- 频谱图生成:生成高质量的音频频谱图
- 多面板可视化:支持多种音频特征的可视化
- 时间切片:提取音频的特定时间段
- 多种输出格式:支持JPG和PNG格式
- 自定义样式:支持多种配色方案
- 灵活配置:支持FFT设置、频率范围等参数调整
- 标准输入支持:支持从stdin读取音频数据
触发条件
当用户需要执行以下操作时,应该使用songsee技能:
- 生成音频的频谱图
- 可视化音频的多种特征
- 分析音频的频率内容
- 提取音频的特定时间段
- 进行音乐可视化
- 音频特征提取和分析
使用场景
场景1:音频分析
用户需要分析音频的频率内容和特征,可以使用songsee生成频谱图和特征面板。
场景2:音乐可视化
用户需要创建音乐的可视化效果,可以使用songsee的多面板功能。
场景3:音频特征提取
用户需要提取音频的特定特征(如MFCC、色度等),可以使用songsee的特征面板。
场景4:音频片段分析
用户需要分析音频的特定时间段,可以使用songsee的时间切片功能。
处理过程
1. 基本频谱图生成
使用songsee生成音频的基本频谱图。
songsee track.mp3
2. 多面板可视化
使用多个可视化类型生成音频特征面板。
songsee track.mp3 --viz spectrogram,mel,chroma,hpss,selfsim,loudness,tempogram,mfcc,flux
3. 时间切片提取
提取音频的特定时间段并生成可视化。
songsee track.mp3 --start 12.5 --duration 8 -o slice.jpg
4. 标准输入处理
从stdin读取音频数据并生成可视化。
cat track.mp3 | songsee - --format png -o out.png
输入要求
使用songsee需要以下输入:
- 音频文件:要分析的音频文件路径(支持WAV、MP3等格式)
- 可视化类型:可选的可视化类型列表
- 输出路径:可选的输出文件路径
- 时间参数:可选的起始时间和持续时间
- 输出格式:可选的输出格式(jpg或png)
- 样式参数:可选的配色方案、尺寸等
- FFT参数:可选的窗口大小、跳步等FFT设置
- 频率范围:可选的最小和最大频率
输出说明
songsee提供以下输出:
- 频谱图:音频的频谱可视化
- 特征面板:多种音频特征的可视化
- 图像文件:JPG或PNG格式的可视化图像
- 网格布局:多个可视化类型的网格布局
常用参数
- --viz:可视化类型列表(可重复或逗号分隔)
- --style:配色方案(classic、magma、inferno、viridis、gray)
- --width:输出宽度
- --height:输出高度
- --window:FFT窗口大小
- --hop:FFT跳步大小
- --min-freq:最小频率
- --max-freq:最大频率
- --start:起始时间(秒)
- --duration:持续时间(秒)
- --format:输出格式(jpg或png)
可视化类型
- spectrogram:标准频谱图
- mel:梅尔频谱图
- chroma:色度图
- hpss:和声/打击乐分离
- selfsim:自相似性矩阵
- loudness:响度
- tempogram:节奏图
- mfcc:梅尔频率倒谱系数
- flux:频谱通量
使用示例
示例1:基本频谱图
songsee track.mp3
示例2:多面板可视化
songsee track.mp3 --viz spectrogram,mel,chroma,hpss,selfsim,loudness,tempogram,mfcc,flux
示例3:时间切片
songsee track.mp3 --start 12.5 --duration 8 -o slice.jpg
示例4:标准输入
cat track.mp3 | songsee - --format png -o out.png
示例5:自定义样式
songsee track.mp3 --style magma --width 1920 --height 1080
示例6:特定频率范围
songsee track.mp3 --min-freq 20 --max-freq 20000
示例7:自定义FFT设置
songsee track.mp3 --window 2048 --hop 512
最佳实践
音频格式支持
- WAV和MP3格式原生支持
- 其他格式需要ffmpeg(如果可用)
- 确保音频文件格式正确
可视化类型选择
- 根据分析需求选择合适的可视化类型
- 多个
--viz参数会渲染网格布局 - 可以从逗号分隔的列表中选择多个类型
输出质量优化
- 使用
--width和--height控制输出尺寸 - 选择合适的配色方案以突出特征
- 对于高质量输出,使用PNG格式
时间切片使用
- 使用
--start和--duration提取特定时间段 - 时间参数以秒为单位
- 适合分析音频的特定部分
频率范围控制
- 使用
--min-freq和--max-freq控制频率范围 - 可以聚焦于特定的频率区间
- 适合分析特定频段的特征
FFT设置
- 使用
--window和--hop调整FFT参数 - 较大的窗口提供更好的频率分辨率
- 较小的跳步提供更好的时间分辨率
标准输入处理
- 支持从stdin读取音频数据
- 适合管道操作
- 使用
-作为输入文件名
安装说明
songsee可以通过Homebrew安装:
- Homebrew安装:
brew install steipete/tap/songsee
安装完成后,确保songsee命令在PATH中可用。对于非WAV/MP3格式,建议安装ffmpeg以获得更好的格式支持。
