Skip to content

brianjohnkey/bpm_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BPM Manager

A simple GUI tool for managing BPM tags in your music library.

Features

Round decimals to integers - Clean up BPM tags like 123.45 → 123 ✅ Halve BPM - Fix tracks detected at double-time (e.g., 174 → 87) ✅ Double BPM - Fix tracks detected at half-time (e.g., 87 → 174) ✅ Manual BPM entry - Set specific BPM values ✅ Batch processing - Select multiple files and modify them at once ✅ Preview before applying - See changes before writing to files ✅ Filter view - Show only files with decimal BPM values

Supported Formats

  • MP3
  • FLAC
  • M4A (AAC)
  • OGG Vorbis
  • OPUS
  • WMA

Installation

  1. Make sure you have Python 3.7+ installed
  2. Install dependencies:
pip install -r requirements.txt

Usage

Run the program:

python bpm\_manager.py

Workflow

  1. Load your music

    • Click "Load Folder" to load an entire directory (includes subfolders)
    • Or click "Load Files" to select specific files
  2. Select files to modify

    • Click to select a single file
    • Ctrl+Click to select multiple files
    • Shift+Click to select a range
  3. Preview changes

    • Click "Round to Integer" to remove decimals
    • Click "÷ 2 (Halve)" to halve the BPM
    • Click "× 2 (Double)" to double the BPM
    • Or enter a specific BPM and click "Apply"
    • The "New BPM" column shows what will be written
  4. Apply changes

    • Click "Apply Changes" to write the new BPM values to your files
    • You'll be asked to confirm before any files are modified

Tips

  • Use "Show Only Decimals" to quickly find files that need rounding
  • You can make multiple different changes before applying (e.g., halve some tracks, double others)
  • Changes aren't written until you click "Apply Changes"
  • Use "Clear Preview" to undo your preview changes

Examples

Clean up decimal BPMs:

  1. Load folder
  2. Click "Show Only Decimals"
  3. Select all (Ctrl+A)
  4. Click "Round to Integer"
  5. Click "Apply Changes"

Fix double-time drum and bass tracks:

  1. Load folder
  2. Find tracks showing ~174 BPM (should be ~87)
  3. Select those tracks
  4. Click "÷ 2 (Halve)"
  5. Click "Apply Changes"

Fix half-time downtempo tracks:

  1. Load folder
  2. Find tracks showing ~45 BPM (should be ~90)
  3. Select those tracks
  4. Click "× 2 (Double)"
  5. Click "Apply Changes"

Notes

  • The tool reads and writes BPM tags using the Mutagen library
  • Changes are applied directly to your audio files - It is strongly recommended to back up your files before bulk operations.
  • The tool only modifies BPM tags, not the audio itself

Future Enhancements

Potential additions if you want them:

  • Automatic BPM detection using librosa
  • BPM range constraints (auto-halve/double if outside range)
  • Undo/redo functionality
  • Export/import BPM changes as CSV

About

Python based UI for managing BPM ID3 tags in mp3s

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages