https://github.com/openclaw/songsee
🌊 FFT so pretty, your ears will be jealous. See your sound—spectrograms, mel, chroma, and more.
https://github.com/openclaw/songsee
agents music visualization
Last synced: 2 months ago
JSON representation
🌊 FFT so pretty, your ears will be jealous. See your sound—spectrograms, mel, chroma, and more.
- Host: GitHub
- URL: https://github.com/openclaw/songsee
- Owner: openclaw
- License: mit
- Created: 2026-01-02T10:54:18.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-05-08T15:44:37.000Z (2 months ago)
- Last Synced: 2026-05-08T17:06:34.409Z (2 months ago)
- Topics: agents, music, visualization
- Language: Go
- Homepage: http://songsee.sh/
- Size: 2.36 MB
- Stars: 55
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌊 songsee — FFT so pretty, your ears will be jealous.

## Features
- **9 visualization modes**: spectrogram, mel, chroma, hpss, selfsim, loudness, tempogram, mfcc, flux
- **6 color palettes**: classic, magma, inferno, viridis, gray, claw
- **Auto-contrast**: per-panel percentile normalization for readable heatmaps
- **Combine modes**: stack multiple visualizations in one grid image
- **Universal input**: WAV, MP3, or anything ffmpeg can handle
- **Fast**: native Go, no Python dependencies
- **Flexible output**: PNG or JPEG, customizable dimensions
## Install
```bash
brew install steipete/tap/songsee
```
```bash
go install github.com/steipete/songsee/cmd/songsee@latest
```
## Quick Start
```bash
# Basic spectrogram
songsee track.mp3
# Mel spectrogram with magma palette
songsee track.mp3 --viz mel --style magma
# All 9 modes combined
songsee track.mp3 --viz spectrogram,mel,chroma,hpss,selfsim,loudness,tempogram,mfcc,flux
# Custom output
songsee track.mp3 --viz hpss,chroma --style inferno -o viz.png --width 2560 --height 1440
```
## Visualization Modes
| Mode | Description |
|------|-------------|
| `spectrogram` | Time × frequency magnitude |
| `mel` | Perceptual frequency scale |
| `chroma` | 12-bin pitch class |
| `hpss` | Harmonic vs percussive separation |
| `selfsim` | Self-similarity matrix |
| `loudness` | Volume over time |
| `tempogram` | Tempo variation |
| `mfcc` | Timbre fingerprint |
| `flux` | Spectral change detection |
## Palettes
`classic` · `magma` · `inferno` · `viridis` · `gray` · `claw`
## Options
```
--output Output path (default: input name + extension)
--format jpg or png (default: jpg)
--width Output width (default: 1920)
--height Output height (default: 1080)
--window FFT window size (default: 2048)
--hop Hop size (default: 512)
--min-freq Minimum frequency in Hz
--max-freq Maximum frequency in Hz
--start Start time in seconds
--duration Duration in seconds
--style Palette name
--viz Visualization list (repeatable or comma-separated)
```
---
Built by [@steipete](https://twitter.com/steipete)