I’ve set up a working version of beets, but there are still some functions that I’m missing or I’m not comfortable with the way they work. It might be that beets is not able to cover those functions the way I want, but I also feel I haven’t really understood the full potential of beets yet. Those are the things I want to achive:
- I would like to use “genre categories” for organizing my music. This means being able to tag my music with distinct and even multiple genres, but then organizing them into a category (for example tag an album with the genres “Psychedelic Rock” and “Stoner Rock”, but then move that album into the “Rock” folder). Lastgenre only let’s me canonicalize my genres. The bucket plugin seemed interesting, but the way I understood it I can’t define my own buckets (for example put everything from [“Tech House”, “Deep House”, “Drum And Bass”, “Techno”] into the bucket “Electronic”). Is there a way around this?
- Is there a way to replace fields with another value? I feel like the last.fm genres don’t necessarily follow the wikipedia list of genres, so using the lastgenre plugin will skip the genre “metal” as this is not a distinct genre (or I whitelist it, but then I have a “heavy metal” and a “metal” folder). Is there a way to generally replace the “metal” genre field with “Heavy Metal”?
- I have lots of albums in a lossless format, but I would like to keep a lossy version, too. Is there a way to automatically rename the lossless albums on importing? I tried using the if condition in my path settings like this:
default: $genre/%if{$format=="FLAC", $albumartist - $album (lossless), $albumartist - $album}/$track. $title
, however, beets is putting “(lossless)” behind every album now (even behind lossy formats). EDIT: Apparently the if condition only checks for nonempty / nonzero values and doesn’t allow boolean operators. Found a solution by using the inline plugin instead. - Is there a way to conveniently convert music on import? I would like to convert everything that is not in the opus format to opus. At best, the convert plugin should convert all formats to opus, but keep all files that are in lossless format (and import them, too), while replacing all other formats (like mp3).
I feel like the inline plugin is quite powerful and might be able to cover my first points. I’m going to take a deeper look into that. Besides that, do you have any tips on how to implement my whishes?
And for the sake of completeness, here’s my full config file:
directoy: ~/Music
library: ~/.config/beets/library.db
plugins: discogs embedart fetchart lastgenre convert
import:
move: yes
copy: yes
write: yes
paths:
default: $genre/$albumartist - $album/$track. $title
singleton: $genre/$artist - $title
comp: $genre/$album/$track. $title
lastgenre:
auto: yes
canonical: yes
whitelist: ~/.config/beets/whitelist.yaml
canonical: ~/.config/beets/genres-tree.yaml
force: yes
convert:
auto: no
command: ffmpeg -i $source -acodec libopus -b:a 128k -vbr on -compression_level 10 $dest
extension: opus
Thanks!