Skip to main content

Tools for bulk editing RekordBox database records and associated track files

Project description

Rekordbox Bulk Edit

A command-line tool for bulk editing and managing Rekordbox music files and database records

⚠️ DISCLAIMER

ALWAYS BACK UP YOUR DATA BEFORE USING THIS TOOL!

This tool directly modifies your Rekordbox database and can potentially move, rename, or delete your music files. While there are , unexpected issues could result in data loss. Before using this tool:

  • Create a backup of your entire music library
  • Back up your Rekordbox database files (typically located in ~/Library/Pioneer/rekordbox6/ on macOS)
  • Test the tool on a small subset of files first using a filter option
  • Use the --dry-run option to preview changes before applying them

Use this tool at your own risk.

Credits

I made this project to help me correct poor decisions and bad habits in my library management, but it's only possible thanks to pyrekordbox, which provides a comprehensive Python API into Rekordbox databases and XML files.

Features

  • Convert: Convert between lossless audio formats (FLAC, AIFF, WAV) and MP3, updating Rekordbox database records accordingly
  • Read: Read and display track information from Rekordbox database with format filtering support
  • Audio Analysis: Get detailed audio file information including format, bitrate, and metadata
  • Safety Checks: Automatically detects running Rekordbox instances to prevent database corruption
  • Smart Filtering: Skips files already in target format and excludes lossy formats from conversion input
  • Bit Depth Preservation: Maintains original bit depth (16/24/32-bit) for lossless conversions

Installation

  1. Create a virtual environment:

    python3 -m venv venv
    
  2. Activate the virtual environment:

    source venv/bin/activate  # On macOS/Linux
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Install the package:

    pip install -e .
    

Usage

The tool provides a command-line interface with the following commands:

Convert Audio Formats

Convert between lossless audio formats (FLAC, AIFF, WAV) and MP3, and update the Rekordbox database--keeping your analysis, cues, and track metadata:

rekordbox-bulk-edit convert [OPTIONS]

Supported Conversions:

  • Input formats: FLAC, AIFF, WAV (lossless formats only)
  • Output formats: AIFF, FLAC, WAV, MP3
  • Automatic detection: Skips MP3/M4A files and files already in target format
  • Safety check: Exits if Rekordbox is running to prevent database conflicts

Options:

  • --format [aiff|flac|wav|mp3]: Choose output format (default: aiff)
  • --dry-run: Preview changes without actually performing them
  • --auto-confirm: Skip confirmation prompts (use with caution)

Read Track Information

Display detailed information about tracks in your Rekordbox database:

rekordbox-bulk-edit read [OPTIONS]

Options:

  • --track-id ID: Specify a particular track ID to read
  • --format [mp3|flac|aiff|wav|m4a]: Filter by audio format (shows all formats if not specified)
  • --verbose, -v: Show detailed information

General Options

  • --version: Show the version number
  • --help: Show help information

Examples

# Preview lossless to AIFF conversion without making changes
rekordbox-bulk-edit convert --dry-run

# Convert lossless files to MP3 format
rekordbox-bulk-edit convert --format mp3

# Convert lossless files to FLAC format
rekordbox-bulk-edit convert --format flac

# Convert files with automatic confirmation
rekordbox-bulk-edit convert --auto-confirm

# Read information for a specific track
rekordbox-bulk-edit read --track-id 12345 --verbose

# Show only FLAC files in database
rekordbox-bulk-edit read --format flac

# Show only MP3 files in database
rekordbox-bulk-edit read --format mp3

# Show all available commands
rekordbox-bulk-edit --help

Development

  • Add new dependencies to requirements.txt
  • Activate your virtual environment before working: source venv/bin/activate
  • Deactivate when done: deactivate
  • Install in development mode: pip install -e .

Requirements

  • Python 3.6+
  • Rekordbox database access
  • Audio processing capabilities for FLAC/AIFF conversion

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

rekordbox_bulk_edit-0.2.4.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

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

rekordbox_bulk_edit-0.2.4-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file rekordbox_bulk_edit-0.2.4.tar.gz.

File metadata

  • Download URL: rekordbox_bulk_edit-0.2.4.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rekordbox_bulk_edit-0.2.4.tar.gz
Algorithm Hash digest
SHA256 c175a9d585adbe45282837294e74d7ca0ec39208da1454bfaae59fb3d3302bf6
MD5 ffcd3835907bbbe4a959624e44abfe5d
BLAKE2b-256 00c2be4140c68c65eee6349f16dfd3129fe4070f541948fdbaae15af6dfea31f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rekordbox_bulk_edit-0.2.4.tar.gz:

Publisher: publish.yml on jviall/rekordbox-bulk-edit

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

File details

Details for the file rekordbox_bulk_edit-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for rekordbox_bulk_edit-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5b1946c3a62fda395b6d62caea5333cf5ed732af8b36b68427fceea984e0d91d
MD5 6d2b28b645eecce082846c907ccc5b66
BLAKE2b-256 d910bc766f0a338ae5be808c5994ce6a74bc26f6311ced7d9881914de8ec0b9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rekordbox_bulk_edit-0.2.4-py3-none-any.whl:

Publisher: publish.yml on jviall/rekordbox-bulk-edit

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