Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate spectrograms and audio feature visualizations (mel, chroma, MFCC, tempogram, etc.) from audio files via CLI. Useful for audio analysis, music production debugging, and visual documentation.
.claude/skills/graniet-songsee/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -20% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -52% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -51% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -44% | 0% |
This skill is repo-local and stays inactive until explicitly activated.
When the original instructions refer to legacy tool names, use these Kheish mappings:
terminal => bashweb_extract => web_fetch, plus web_search when discovery is neededsearch_files => grep_search and glob_searchbrowser_* tools require a browser-capable surfaced tool or MCP; if none is available, use the closest available surface and say so explicitlyWhen the instructions mention local helper files, resolve them from ${KHEISH_SKILL_DIR}.
Generate spectrograms and multi-panel audio feature visualizations from audio files.
Requires Go:
bashgo install github.com/steipete/songsee/cmd/songsee@latest
Optional: ffmpeg for formats beyond WAV/MP3.
bash# 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:
| Type | Description | |------|-------------| | spectrogram | Standard frequency spectrogram | | mel | Mel-scaled spectrogram | | chroma | Pitch class distribution | | hpss | Harmonic/percussive separation | | selfsim | Self-similarity matrix | | loudness | Loudness over time | | tempogram | Tempo estimation | | mfcc | Mel-frequency cepstral coefficients | | flux | Spectral flux (onset detection) |
Multiple --viz types render as a grid in a single image.
| Flag | Description | |------|-------------| | --viz | Visualization types (comma-separated) | | --style | Color palette: classic, magma, inferno, viridis, gray | | --width / --height | Output image dimensions | | --window / --hop | FFT window and hop size | | --min-freq / --max-freq | Frequency range filter | | --start / --duration | Time slice of the audio | | --format | Output format: jpg or png | | -o | Output file path |
ffmpegvision_analyze for automated audio analysis| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 15,526 | 19,781 | +27% | 1 | 1 | 0% | 3,287 | 1,011 | -69% | 0 | 0 | — |
case-02 | fail→fail | 7,409 | 5,331 | -28% | 1 | 1 | 0% | 1,534 | 984 | -36% | 0 | 0 | — |
case-03 | fail→fail | 29,419 | 4,325 | -85% | 1 | 1 | 0% | 5,709 | 992 | -83% | 0 | 0 | — |
case-04 | fail→pass | 8,068 | 3,069 | -62% | 1 | 1 | 0% | 1,532 | 1,218 | -20% | 0 | 0 | — |
case-05 | fail→pass | 8,469 | 2,446 | -71% | 1 | 1 | 0% | 1,617 | 1,116 | -31% | 0 | 0 | — |
case-06 | fail→pass | 9,717 | 1,783 | -82% | 1 | 1 | 0% | 2,086 | 1,008 | -52% | 0 | 0 | — |
case-07 | fail→pass | 12,547 | 2,447 | -80% | 1 | 1 | 0% | 2,465 | 1,196 | -51% | 0 | 0 | — |
case-08 | fail→fail | 7,781 | 4,089 | -47% | 1 | 1 | 0% | 1,591 | 992 | -38% | 0 | 0 | — |
case-09 | fail→pass | 9,818 | 1,808 | -82% | 1 | 1 | 0% | 1,814 | 1,023 | -44% | 0 | 0 | — |
case-10 | fail→pass | 8,670 | 2,848 | -67% | 1 | 1 | 0% | 1,843 | 1,183 | -36% | 0 | 0 | — |
case-11 | fail→pass | 10,752 | 2,530 | -76% | 1 | 1 | 0% | 2,108 | 1,176 | -44% | 0 | 0 | — |
case-12 | fail→pass | 10,633 | 2,015 | -81% | 1 | 1 | 0% | 1,921 | 1,032 | -46% | 0 | 0 | — |
case-13 | fail→pass | 10,811 | 2,091 | -81% | 1 | 1 | 0% | 2,352 | 1,055 | -55% | 0 | 0 | — |
case-14 | fail→pass | 12,893 | 2,329 | -82% | 1 | 1 | 0% | 2,298 | 1,095 | -52% | 0 | 0 | — |
case-15 | fail→fail | 6,321 | 4,248 | -33% | 1 | 1 | 0% | 1,328 | 905 | -32% | 0 | 0 | — |
case-16 | fail→pass | 5,661 | 2,169 | -62% | 1 | 1 | 0% | 1,032 | 1,009 | -2% | 0 | 0 | — |
case-17 | fail→pass | 6,494 | 2,142 | -67% | 1 | 1 | 0% | 1,197 | 1,045 | -13% | 0 | 0 | — |
case-18 | fail→pass | 14,524 | 7,626 | -47% | 1 | 1 | 0% | 2,574 | 1,982 | -23% | 0 | 0 | — |
case-19 | fail→pass | 7,737 | 1,888 | -76% | 1 | 1 | 0% | 1,480 | 967 | -35% | 0 | 0 | — |
case-20 | pass→pass | 7,399 | 7,088 | -4% | 1 | 1 | 0% | 1,521 | 2,291 | +51% | 0 | 0 | — |
case-21 | pass→pass | 7,005 | 4,633 | -34% | 1 | 1 | 0% | 1,261 | 1,554 | +23% | 0 | 0 | — |
case-22 | pass→fail | 11,240 | 4,344 | -61% | 1 | 1 | 0% | 2,084 | 958 | -54% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 16 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +59 percentage points is the difference between those two pass rates over the 16 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.