Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maphouse/analyze-tag-songs
Python script for analyzing and tagging music files by key and BPM
https://github.com/maphouse/analyze-tag-songs
audio audio-analysis audio-processing ffmpeg flac mp3 music music-information-retrieval musical-scales python wav
Last synced: about 2 months ago
JSON representation
Python script for analyzing and tagging music files by key and BPM
- Host: GitHub
- URL: https://github.com/maphouse/analyze-tag-songs
- Owner: maphouse
- Created: 2021-11-01T06:27:36.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-11-28T22:55:36.000Z (about 2 years ago)
- Last Synced: 2024-08-08T00:43:08.490Z (5 months ago)
- Topics: audio, audio-analysis, audio-processing, ffmpeg, flac, mp3, music, music-information-retrieval, musical-scales, python, wav
- Language: Python
- Homepage:
- Size: 28.3 KB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- project-awesome - maphouse/analyze-tag-songs - Python script for analyzing and tagging music files by key and BPM (Python)
README
## 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
- [keyfinder](https://pypi.org/project/keyfinder/)
- [mutagen](https://pypi.org/project/mutagen/)
- [ffmpeg-python](https://pypi.org/project/ffmpeg-python/)
- [ffmpeg](https://pypi.org/project/ffmpeg/)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 https://github.com/quodlibet/mutagen/issues/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 https://github.com/aubio/aubio/issues/111)