Skip to main content

Audio track analyzer (BPM, Key, Gain, Intro/Outro) using Mixxx-identical algorithms

Project description

mixxx-analyzer Python package

Python bindings for mixxx-analyzer — a standalone audio track analyser that uses the same BPM, key, gain and silence-detection algorithms as Mixxx DJ software.

Installation

Install the pre-built wheel for your platform from the GitHub Releases page:

pip install mixxx_analyzer-*-<platform>.whl

The wheel is self-contained — all native dependencies (FFmpeg, libebur128, …) are bundled inside. No system packages are required.

Usage

import mixxx_analyzer

# Analyze a single file
result = mixxx_analyzer.analyze("track.mp3")
print(result.bpm)        # 138.0
print(result.camelot)    # "7A"
print(result.lufs)       # -9.3
print(result.intro_secs) # 4.2

# Analyze many files efficiently
results = mixxx_analyzer.analyze_many(["a.mp3", "b.mp3", "c.mp3"])
for r in results:
    print(f"{r.file}: {r.bpm} BPM  {r.camelot}")

AnalysisResult fields

Field Type Description
file str Input file path
bpm float | None Detected BPM (None if undetected)
key str Musical key (e.g. "A minor")
camelot str Camelot wheel notation (e.g. "7A")
lufs float Integrated loudness (LUFS)
replay_gain float ReplayGain adjustment (dB)
intro_secs float Intro end timestamp (seconds)
outro_secs float Outro start timestamp (seconds)

Supported platforms

Platform Wheel tag
Linux x86_64 linux_x86_64
macOS arm64 macosx_*_arm64
macOS x86_64 macosx_*_x86_64
Windows x86_64 win_amd64 (coming soon)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

mixxx_analyzer-0.1.1-py3-none-win_amd64.whl (44.9 MB view details)

Uploaded Python 3Windows x86-64

mixxx_analyzer-0.1.1-py3-none-manylinux_2_35_x86_64.whl (56.6 MB view details)

Uploaded Python 3manylinux: glibc 2.35+ x86-64

mixxx_analyzer-0.1.1-py3-none-macosx_14_0_arm64.whl (13.9 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

File details

Details for the file mixxx_analyzer-0.1.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bcf25353e76aa55c39cab994ead9a5f475e0f3e3ec5292cea772cc3a9f96f7cf
MD5 b4a15873597fb8803083bf33e1927f9f
BLAKE2b-256 1d75fed8cda8195ee671e12268fc6957f717e55f2a39b1532c052cec9bc594d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mixxx_analyzer-0.1.1-py3-none-win_amd64.whl:

Publisher: release.yml on Radexito/mixxx-analyzer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mixxx_analyzer-0.1.1-py3-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.1-py3-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 c23ca75d443b1d3babd2cdbaaa5ef11f099a6e08952317333e4c9edf44d391fd
MD5 7b150adfca35cee47df4f32da3fb7516
BLAKE2b-256 2ce5761216aa1052d77a6ddc539b3db95adbeb58af56c596457cd0a975721593

See more details on using hashes here.

Provenance

The following attestation bundles were made for mixxx_analyzer-0.1.1-py3-none-manylinux_2_35_x86_64.whl:

Publisher: release.yml on Radexito/mixxx-analyzer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mixxx_analyzer-0.1.1-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.1-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3a1c049e8c7d8d9bb3ff104cf2de7eb5a1820930018af50fe89b2dbfe85c0555
MD5 8d9bc634edd0f03d171053a4e638a100
BLAKE2b-256 040913ac153edf19b7d32462fb9960c1673682f7345dde493c63638c42ccd8ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for mixxx_analyzer-0.1.1-py3-none-macosx_14_0_arm64.whl:

Publisher: release.yml on Radexito/mixxx-analyzer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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