Skip to content

Python script for analyzing and tagging music files by key and BPM

Notifications You must be signed in to change notification settings

maphouse/analyze-tag-songs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Overview

This command line tool scans audio files by musical key and BPM and tags them accordingly. The script was created to provide a semi-automated to automated solution for preparing tracks for digital DJ mixes.

The script will back up your files to a backup folder and move the tagged versions to an output folder. It will ask you whether to batch overwrite any existing tags in these files, or to proceed on a case by case basis.

The script will detect and handle MP3, FLAC, M4A and WAV files.

Requirements

see requirements.txt for details

Instructions

to run the tool, simply have the required packages installed and have the music files you want to tag located in the same directory as tag_tracks.py. Then run the script (python tag_tracks.py)

Possible improvements

I wouldn't mind help with the following:

  • tagging WAV files directly (see issue quodlibet/mutagen#545)
  • analyze BPM for mp3 and flac files (currently there are issues with aubio extracting BPM from files that are not in .wav format such as mp3, flac, etc.) since they are missing a RIFF header... (see possibly related issue aubio/aubio#111)