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

Uploaded Python 3Windows x86-64

mixxx_analyzer-0.1.2-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.2-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.2-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 cc6509acfc78f0f3e04ac9f0b1440e9cd31a3c389f888bbd91beae1f249c32b7
MD5 812434589c15a515162f7dbd74eab0d1
BLAKE2b-256 2e88e22c9e7c3d862daec693de61c5f2843ce8e567cd4d5e866040c599b57e9d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.2-py3-none-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 53d8ec329bae7a7714dfe1cd34cbcf3976ddb55fae0ed74c4872f47085a9d9cf
MD5 1a3a5aaef7bc3322965e4c6235b1c432
BLAKE2b-256 a630bf8afbb52d862d2976045b4f6d00456dcb6320bb5e449384a41a0ce40735

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for mixxx_analyzer-0.1.2-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cb509c06d630fad709f85dd07fbd21a029d337617de0866af74279ca0a1f596b
MD5 7fab6cb4721d813cb95bb5730bc573c8
BLAKE2b-256 53b3c4026eed48e7685a99212ede8a1ce22bd2442a7d677ec4b970a7718d5b23

See more details on using hashes here.

Provenance

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