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.0-py3-none-win_amd64.whl (44.9 MB view details)

Uploaded Python 3Windows x86-64

mixxx_analyzer-0.1.0-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.0-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.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ce12cb7d23facd50ed4bd6be246ea9be2ccdeef75f9a872a9a70e43558f44bf4
MD5 d8ee3d6d88b4787d30b969a5fb31da58
BLAKE2b-256 d03a8ebb8fa3ae77b36d07be90858162d426194f47a645292eb626c0cd961da0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mixxx_analyzer-0.1.0-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.0-py3-none-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.0-py3-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 549870241cb11576f8cdcacd1afcbb7d2c560089c7110d16db5e8eca81295741
MD5 8e24087dff13d93d3ed4ee04bbbe7400
BLAKE2b-256 6ea039ba76966cb92d24d1d428d0667de85af1f999ceee70b1b9aa8e385f810a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mixxx_analyzer-0.1.0-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.0-py3-none-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.0-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f3fac83a3305107ff34c2642f6d89ff9698ebd00a6da463d2b33393520e5f805
MD5 cd50280cb9d0cc3a6876f6960a938457
BLAKE2b-256 1a598046e4a951050b0218916545188583755610e70edd34f8b73ed6b2eb688f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mixxx_analyzer-0.1.0-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