https://github.com/dflock/muso
Music Collection Auditor
https://github.com/dflock/muso
Last synced: about 2 months ago
JSON representation
Music Collection Auditor
- Host: GitHub
- URL: https://github.com/dflock/muso
- Owner: dflock
- Created: 2013-04-07T22:14:38.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2013-04-19T23:35:44.000Z (about 13 years ago)
- Last Synced: 2025-10-10T15:25:03.067Z (9 months ago)
- Language: Python
- Size: 273 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Muso - Music Collection Auditor
Muso will audit a large digital music collection and check for consistency and proper structure - in both metadata/tags and file & folder names.
Muso currently defaults to scanning `~/Music` and outputs something like this to the console:

This script will do the following things, eventually:
## Assume the following folder structures:
~/Music/artist/album/
~/Music/Compilations/album/
~/Music/Soundtracks/album/
~/Music/Classical/album/ ?
Report folders that don't match.
## Check for & report on:
These are things that you might want to fix:
### Currently implemented:
* Albums with '(YYYY)' in the folder name
* Albums with '[cd|disk ??]' in the folder name
* Albums with extraneous spaces in the folder name
* Albums with folder names that Aren't Title Case
* Extraneous .m3u, .info, .sfv, etc... files.
* A folder.jpg in each album & artist folder, of at least 500x500px
* The following filename structures:
* Compilation Albums: ` - . - - .ext`
* Regular Albums: ` - - . - .ext`
### Not implemented yet:
* Albums with any of the following tags not the same for each track:
* `album`, `albumartist`, `discnumber`, `genre`, `date`
* `replaygain_album_gain`, `replaygain_album_peak`
* `musicbrainz_albumid`, `musicbrainz_albumartistid`
* Compilation albums that don't have albumartists set to 'Various Artists'
* Tracks missing any of the following tags:
* `album`, `artist`, `albumartist`, `tracknumber`, `discnumber`, `title`, `genre`, `date`
* `replaygain_album_gain`, `replaygain_album_peak`, `replaygain_track_gain`, `replaygain_track_peak`
* `musicbrainz_albumid`, `musicbrainz_albumartistid`, `musicbrainz_trackid`
* Genre issues:
* Genre's with small number of tracks/ one track/ablum in
* Unknown genre's/malformed genre tags
## Report on:
These are more statistical/informational:
### Currently implemented:
### Not implemented yet:
* Total numbers of: tracks, albums, artists, genre's, total collection size in GB
* Breakdown of file formats: mp3/flac/ogg/etc
* Breakdown of bitrates for mp3/ogg/etc
* Most/least represented:
* Artist, Genre
## TODO:
* Should probably be more OO, yo.
* Needs more renderers for output - maybe HTML, CSV. Should probably use Jinja or something for this?
* Maybe need to think about multi-thread/process, to deal with slowness when reading tags?