Skip to main content

Turn audio into structured analysis and annotated visualizations for AI perception

Project description

sense-music

Turn audio into structured analysis and annotated visualizations for AI perception. Liner notes for an AI.

Built by humanjava.com — find this and other tools for the agentic age at huje.tools.

Install

pip install sense-music

Quick Start

from sense_music import analyze

result = analyze("song.mp3")
print(result.summary)
result.save("output/")

Full Example

from sense_music import analyze

result = analyze("song.mp3")

# Structured data
print(f"{result.bpm.tempo} BPM, {result.key.key} {result.key.mode}")
print(f"Genre: {result.genre}, Mood: {', '.join(result.mood)}")

# Sections
for s in result.sections:
    print(f"  {s.label}: {s.start:.1f}s — {s.end:.1f}s")

# Lyrics (requires whisper)
for line in result.lyrics:
    print(f"  [{line.start:.1f}s] {line.text}")

# Save everything
result.save("output/")           # spectrogram.png, waveform.png, analysis.json, analysis.html
result.render_page("song.html")  # self-contained HTML report

Skip Lyrics

If you don't have Whisper installed or want faster analysis:

result = analyze("song.mp3", lyrics=False)

What You Get

Output Description
result.spectrogram PIL Image — annotated mel spectrogram with section markers and energy curve
result.waveform PIL Image — waveform with colored section regions
result.bpm BPMInfo(tempo, confidence)
result.key KeyInfo(key, mode, confidence)
result.sections List of Section(label, start, end)
result.lyrics List of LyricLine(start, end, text)
result.energy_curve Per-second normalized energy values
result.genre Simple genre classification
result.mood List of mood descriptors
result.summary Natural language track description

Dependencies

License

MIT — Humanjava Enterprises Inc.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sense_music-0.1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sense_music-0.1.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file sense_music-0.1.0.tar.gz.

File metadata

  • Download URL: sense_music-0.1.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for sense_music-0.1.0.tar.gz
Algorithm Hash digest
SHA256 232dc0f85bcb4831c10e2fb005af566b59ad0fb0093a3f312c1ab61ef85d1df3
MD5 62dc25c875ed6cd3b3a0ae861ccd89d9
BLAKE2b-256 8104d981615874cf4c7d9c070fd0ba8bde21ad0221667352d4514ced2cbadbfe

See more details on using hashes here.

File details

Details for the file sense_music-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sense_music-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for sense_music-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74feac44d19032ed41ae0a2a2b699d713c61851eda6208654ba7b9d1fd16e886
MD5 41b6b95f88ee6d7780c1fe911cef0b85
BLAKE2b-256 c331911578ca9404100b71ae2bebd69de552d37c8d070d7181a919aa8ca5475a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page