Skip to main content

Audio feature extraction: BPM, key, energy, danceability, mood, genre.

Project description

beatlyze-analyzer

Audio feature extraction library: BPM, musical key, energy, danceability, valence, LUFS loudness, mood tags, genre suggestions, and structural sections.

Installation

Light tier (librosa-only, cross-platform):

pip install "beatlyze-analyzer[light]"

Full tier (Essentia for higher-quality extraction; Linux x86_64 / macOS arm64):

pip install "beatlyze-analyzer[full]"

Usage

from beatlyze_analyzer import analyze

result = analyze("/path/to/track.mp3")
print(result["bpm"])          # 128.4
print(result["key_notation"]) # "Am"
print(result["mood_tags"])    # ["energetic", "dark"]

Output fields

Field Type Description
bpm float Tempo in beats per minute
bpm_confidence float 0–1 Extraction confidence
key str Root note (e.g. "A")
scale str "major" or "minor"
key_notation str Shorthand (e.g. "Am")
key_confidence float 0–1
energy float 0–1 Perceived loudness / intensity
danceability float 0–1 Beat regularity + onset density
valence float 0–1 Musical positivity
loudness_lufs float Integrated loudness (LUFS R128)
mood_tags list[str] e.g. ["energetic", "uplifting"]
genre_suggestions list[str] Top 3 genre labels
duration_seconds float Track length
time_signature int Beats per bar (2, 3, 4, or 6)
sections list[dict] Structural segments with per-section features

License

AGPLv3 — required by the Essentia dependency (AGPLv3). Source code must remain publicly available when used in a network service.

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

beatlyze_analyzer-0.1.0.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

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

beatlyze_analyzer-0.1.0-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for beatlyze_analyzer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 edf62816a0abddcfd4b13994dc059deb3febede4a38f48bae8908ce749188cb5
MD5 e386d1e55b681b481412e5a509cc94a7
BLAKE2b-256 0896cc4558127e3f91fecfecdcb45ff7f3fbce52a21a94495da8729ba6311054

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for beatlyze_analyzer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92ddbffd45bac356ab8b9c8445c2404be7b369d192c0be49642b8467a81555da
MD5 772d62d99ac169b2ccf23e539ac4e128
BLAKE2b-256 e617a5c4dc495c1df338e0c45d98c7e4eafe9e0b985709478edc26b35a8f9919

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