Skip to main content

GitHub license PRs Welcome

MixingBear

Automatic beat-mixing of music files in Python, using AudioOwl 🎚

Jump to:

MixingBear

Quickstart

Mix two WAV files -

import mixingbear
mixingbear.mix('track01.wav', 'track02.wav', 'output.wav')

Installation

Tested on Python 3.6 or later

⚠️ AudioOwl needs ffmpeg to be installed on your machine. The easiest way to install ffmpeg (at least on a Mac) is using homebrew. See instructions here.

The latest stable release is available on PyPI.
Install it using the following command -

$ pip install mixingbear

Usage

mixingbear.mix()

Saves a mixed WAV file locally to output_file_path

Supported keyword arguments for audioowl.get_waveform():

  • top_file - Path to a WAV file you want to mix onto bottom_file. e.g. top_file=wav_file.wav
  • bottom_file - Path to a WAV file you want to mix top_file onto. e.g. bottom_file=wav_file.wav
  • output_file_path - Path for the mixed output WAV file you want to mix output_file_path onto. e.g. bottom_file=output.wav
  • mix_mode [optional, default == 'random'] - String:
    • random - MixingBear will find the best mixing points, and will mix the tracks starting on a random one out of them.
    • first - MixingBear will find the best mixing points, and will mix the tracks on the first one.
  • sr [optional, default == 22050] - Integer. Sample rate.
  • offset [optional, default == 880, equal to ~20 milliseconds on a track with 44100 sample rate] - Integer. Number of samples to use as padding on beats, to choose sync points. e.g. With offset=880, beats will be considered as 'matching' is they are positioned away from each other in 880 samples or less.
  • trim_silence [optional, default == True] - Boolean. If True, MixingBear will trim leading silence on top_file.

Metadata

Release files for mixingbear 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mixingbear 0.0.1
File Size Uploaded Provenance Actions
mixingbear-0.0.1.tar.gz 4.1 kB Without provenance Details for mixingbear-0.0.1.tar.gz

Release files / mixingbear-0.0.1.tar.gz

Download URL mixingbear-0.0.1.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
42c4eab0a7f8e66787eb4c502a51a38daf3c4bc6fe9c82d99aac3d86c71dc1df
BLAKE2b-256 checksum
How to use checksums
c8738f1c7a5323737cc8b7904d134493ef31747c3f4af2770809866df0cea25b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for mixingbear 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page