Generate audio spectrograms and feature visualizations with songsee

Generate spectrograms and multi-panel audio feature visualizations from audio files using the songsee command-line tool.

Hermes OpenClaw Intermediate Copied: 0
1 resource

Requirements

  • The songsee command must be available on your system; songsee runs on Linux, macOS, and Windows under the MIT license.
  • Requires Go.
  • Optional: ffmpeg for formats beyond WAV/MP3.

How to use

WAV and MP3 are decoded natively; other formats require ffmpeg.

Output images can be inspected with vision_analyze for automated audio analysis.

It is useful for comparing audio outputs, debugging synthesis, or documenting audio processing pipelines.

Install songsee:

go install github.com/steipete/songsee/cmd/songsee@latest

Get started with a basic spectrogram, save it to a file, or build a multi-panel visualization grid:

# Basic spectrogram
songsee track.mp3

# Save to specific file
songsee track.mp3 -o spectrogram.png

# Multi-panel visualization grid
songsee track.mp3 --viz spectrogram,mel,chroma,hpss,selfsim,loudness,tempogram,mfcc,flux

# Time slice (start at 12.5s, 8s duration)
songsee track.mp3 --start 12.5 --duration 8 -o slice.jpg

# From stdin
cat track.mp3 | songsee - --format png -o out.png

Use --viz with comma-separated values to select visualization types: spectrogram for a standard frequency spectrogram, mel for a mel-scaled spectrogram, chroma for pitch class distribution, hpss for harmonic/percussive separation, selfsim for a self-similarity matrix, loudness for loudness over time, tempogram for tempo estimation, mfcc for mel-frequency cepstral coefficients, and flux for spectral flux (onset detection). Multiple --viz types render as a grid in a single image.

Further flags control the output: --viz sets visualization types (comma-separated), --style picks a color palette from classic, magma, inferno, viridis, or gray, --width/--height set output image dimensions, --window/--hop set the FFT window and hop size, --min-freq/--max-freq filter the frequency range, --start/--duration select a time slice of the audio, --format chooses the output format (jpg or png), and -o sets the output file path.

Source: nousresearch/hermes-agent and its contributors. License: MIT.

Copyright (c) 2025 Nous Research

Translation and editorial adaptation by ClawCases.

>Resources

>Related Use Cases

>More at this level: Intermediate