
songsee
github.com/openclaw/songsee- Category
- AI Tools
- Rank
- No. 1405Tools index
Previous survey · No. 1415 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- openclaw
- GitHub
- 81 stars
- Latest release
- v0.1.2
- Date
About
FFT so pretty your ears will be jealous. OpenClaw's audio visualizer — spectrograms, mel, chroma, and more, beautifully rendered.
What it does
Songsee is a command-line tool that turns audio into static analytical images. It decodes WAV and MP3 directly, uses FFmpeg for other formats, converts audio to mono samples, computes spectral and rhythmic features, then writes one or several panels as PNG or JPEG.
Why it's ranked here
The appeal is practical breadth in a small Go tool. Nine analysis views cover frequency, pitch class, timbre, tempo, dynamics, structure, and spectral change. Shared analysis data avoids needless recomputation, percentile normalization improves panel readability, and tests exercise every rendering mode.
What's good
It installs through Homebrew, the Go toolchain, or Docker. The container includes FFmpeg, which makes batch and server jobs easier to reproduce. Users can combine views, choose six palettes, crop by time, restrict frequency ranges, tune FFT settings, and control image dimensions.
Tradeoffs
The documented interface produces static images, not live or interactive visualization. Audio is reduced to mono, so stereo placement disappears. WAV and MP3 decode internally, but other formats require an external FFmpeg executable unless the Docker image is used. Output is limited to PNG and JPEG.
How to use it well
Use it for quick inspection, batch-generated audio reports, dataset previews, or comparing several feature views of the same passage. Start with the default spectrogram, then add chroma, loudness, flux, or self-similarity when the question demands them. Choose another tool for playback, editing, stereo analysis, or interactive exploration.
Technical notes+
The module in go.mod targets Go 1.25 and depends on github.com/hajimehoshi/go-mp3 plus github.com/alecthomas/kong. internal/audio/decode.go tries native WAV and MP3 decoding before the FFmpeg fallback in internal/audio/ffmpeg.go, which emits mono 32-bit float PCM. internal/dsp/fft.go implements an in-place radix-2 FFT, while internal/dsp/features.go derives mel bands, chroma, MFCC, HPSS, spectral flux, tempograms, self-similarity, and RMS frames. internal/viz/viz.go caches spectrogram power across panels and applies sampled percentile ranges before rendering. internal/dsp/fft_test.go checks the FFT, and internal/viz/viz_test.go renders all nine kinds and tests parsing, normalization helpers, clamping, and gamma handling.
Observed
- Primary language
- Go, with the module targeting Go 1.25
- Install surfaces
- Homebrew formula, Go install command, and Docker build
- Interface
- Command-line application
- Audio input
- Native WAV and MP3 decoding, with FFmpeg fallback for other formats
- Image output
- PNG or JPEG with configurable width and height
- Visualization surface
- Nine modes and six color palettes, with multiple modes composable into one grid
- Tests
- Repository text includes FFT tests and visualization tests covering all nine rendering modes
Read from README.md, go.mod, Makefile, internal/dsp/fft.go, internal/viz/viz.go, internal/audio/mp3.go, internal/audio/wav.go, internal/audio/audio.go, internal/audio/slice.go, internal/audio/decode.go, internal/audio/ffmpeg.go, internal/dsp/features.go, internal/dsp/fft_test.go, internal/render/pixel.go, internal/viz/viz_test.go.
What it can do
Generate audio spectrograms
Audio file or audio stream → Visual spectrogram representation
Create mel-frequency spectrograms
Audio file or audio stream → Mel-scale frequency visualization
Generate chromagram visualizations
Audio file or audio stream → Chroma feature visualization
Perform Fast Fourier Transform analysis
Audio signal → Frequency domain representation
Render real-time audio visualizations
Live audio input → Real-time visual display
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.