• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

"BEETS" Linux/Python -based music library editor/organizer - have any ASR members used it?

Xulonn

Major Contributor
Forum Donor
Joined
Jun 27, 2018
Messages
1,828
Likes
6,312
Location
Boquete, Chiriqui, Panama
I have been struggling to reorganize my HUGE digital music collection of tens of thousands of mostly MP3's which is a sinking mess of bad filenames and bad or missing metadata. It goes back to the early days of MP3s and ripping, and has absolutely no consistency of format and organization. Music Brainz Picard, plus Ant Renamer and Directory Opus have been excellent tools for me, but my manual work to date is tedious because of the sheer volume of my collection - and will take forever to complete.

Then today, however, I stumbled across BEETs, and it looks too good to be true. I could still tweak and tune my library later, but this looks like a good option to get a head start on the basics. I am not a programmer, or even basic coder, but I started my computer days back in 1984 with DOS2.x, and can do basic command-line work.

But - It's a Linux program that supposedly can be used with Python on Windows (LINK). I find this to be better for me - if it works -than booting my Windows 10 Intel NUC8i7BEH via USB to a Linux flavor that reads and writes to NTFS partitions and external USB3.1 drives with no problems. I searched extensively for a native Windows library cleaner/manager, and could not find one.

(Classical music, of which I have a fair amount, is a separate problem, because with the way classical music is organized with piece names, composers, conductors, movements, soloists, etc, it does not fall within the much simpler naming standards of pop, rock, jazz and most other music genres with their simpler album, artist and track/song names. There are lots of posts and discussions about these issues of organizing classical music digital libraries, and how others have dealt wit them across the internet.)

From the LinuxLinks website:

Beets – music tagger and library organizer using the MusicBrainz database

April 6, 2020 Luke Baker CLI, Multimedia, Reviews, Software, Utilities

Summary

Beets is a fantastic open source tool that offers an array of powerful functions, many of which are supplied via plugin functionality (which are Python modules). There’s so many options available, this utility will take time to fully explore. It would be helpful if a well-commented default configuration file was included; this would save some time for new users. Fortunately, the project’s documentation is very clear and concise.

The software supports the essential music formats including FLAC, MP3, Ogg Vorbis, and many others.

Beets has received more than 9,000 GitHub stars. It’s a popular open source application. Fully merited from my perspective, although I needed to perform some tidying up to the directory structure. Importing multi-disc albums is also a bit kludgy.
 

Honken

Senior Member
Joined
Mar 10, 2020
Messages
342
Likes
606
Location
Scania
For what it is worth, I use it and I mostly like it. The initial import will be a pain if you have an extensive collection already. My main complaint is that I wish that it'd be faster, once your collection grows it can slow down quite a bit.

I don't know what else to say really, it is quite nice to have some objective tagging rules to my messy library. I wish that musicbrainz was even more extensive though, I have appearantly managed to get hold of quite a few albums that are not on there, and now they stick out in my otherwise very neatly organized collection.

I did change the settings slightly according to my own preferences (but compared to what I see other people use online, these settings are almost vanilla):
asciify_paths: yes

paths:
default: $albumartist/$year - $album%aunique{}/%if{$multidisc,Disc $disc/}$track - $title
singleton: $artist/Non-Album/$title
comp: Compilations/$year - $album%aunique{}/%if{$multidisc,Disc $disc/}$track - $title

import:
from_scratch: yes
move: yes
log: ~/.config/beets/import.log
timid: yes

languages: en

pluginpath: [~/.config/beets/plugins]

plugins: [inline]

item_fields:
multidisc: 1 if disctotal > 1 else 0
 
OP
Xulonn

Xulonn

Major Contributor
Forum Donor
Joined
Jun 27, 2018
Messages
1,828
Likes
6,312
Location
Boquete, Chiriqui, Panama
For what it is worth, I use it and I mostly like it. The initial import will be a pain if you have an extensive collection already. My main complaint is that I wish that it'd be faster, once your collection grows it can slow down quite a bit.

I may try it in batches now that I use high-speed USB 3.1 external drives for working with large amounts of data. I can transfer 100Gb batches easily and when everything is done, I can use another utility to search for duplicates.

My Intel NUC8i7 with its 1Tb M.2 internal SSD is extraordinarily fast, and USB 3.1 transfers to external drives is also amazing. (I still use mechanical HDDs for archival backup after reading about an ASR member who lost everything on an SSD that died.) As a matter of fact, when I replace my old Celeron NUC that I use for my HT and music PC, I will have USB 3.1 on everything, and will decommission my Synology NAS with its noisy mechanical drive.
 

Honken

Senior Member
Joined
Mar 10, 2020
Messages
342
Likes
606
Location
Scania
While the speed of your music storage matters for importing, the beet database itself (it uses SQLite) becomes slow to update once it grows to a nontrivial size. Querying it remains fast however.

I don't mean to say that it becomes unreasonably slow for the information it holds, but it'd be nicer if it was surprisingly snappy.

I do most of my management over NFS and WiFi, and my end storage encrypted spinning disks. It works well enough for me as the DB is local.
 
Top Bottom