An OpenClaw skill / Python package that turns audio into structured analysis and annotated visualizations for AI perception. Liner notes for an AI.
Second huje.tools product. First one that ties the full Humanjava stack together: NostrKey (identity) + NWC (Lightning payments) + huje.tools (hosting).
pytest -v— run all tests (51 tests, including 18 security tests)python -m build— build wheeltwine upload dist/*— publish to PyPI (needs API token)clawhub publish clawhub/ --slug sense-music --name "sense-music" --version X.Y.Z— publish to ClawHub
src/sense_music/— package sourceanalyze.py— main entry point, URL resolution, file validationtypes.py— frozen dataclasses (Analysis, Section, LyricLine, etc.)features.py— BPM, key, energy, genre, mood detectionsections.py— structural segmentation via self-similaritylyrics.py— Whisper transcription with model allowlistspectrogram.py— annotated mel spectrogram renderingwaveform.py— waveform visualization with section regionsoutput.py— JSON, HTML, save() with XSS protection
clawhub/— ClawHub skill metadatatests/— pytest tests (including test_security.py)examples/— usage examples
Hardened in v0.1.1 against: SSRF (private IP blocklist), XSS (html.escape on all output), OOM (duration cap, file size limit, chroma subsampling), path traversal (.. blocked), whisper model allowlist, matplotlib figure leak protection.
- Vanilla Python, no async
- Kebab-case for file names (except Python modules)
- All source files have the huje.tools tagline comment
- Frozen dataclasses for all data types
- Version must be bumped in 3 places: pyproject.toml, init.py, clawhub/metadata.json