Last updated: 2024-06-02 Sun 22:33

Beets installation on Raspberry Pi 4
With various Beets plugins

Table of Contents

1. Beets

1.1. Philosophy

The purpose of beets is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes using the MusicBrainz database. Then it provides a bouquet of tools for manipulating and accessing your music.

beets.io.

These are my notes on how to set up Beets. I've tried to write them thorough so the document can serve also as an tutorial and as an reproducible config on a clean install of Rpi4 running Raspberry Pi OS.

Beets is simple yet powerful tagger and music management system for those owning a sizable (tens of thousands of tracks) music collection for one reason, or another. This document serves as a documentation on how I've set up beets to handle metadata tagging, file renaming, album artwork, lyrics, genres and transcoding. This document also stores handy beets command line commands repository on tricks how I query and view music.

Getting best out of beets involves contributing back to MusicBrainz, which is an open, collaborative music database under Creative Commons license, and operated by a non-profit organization.

1.2. Beets installation

Can be installed with both pip3 (1.6.0) as with apt from debian stable repos (1.4.9-2). These instructions cover pip3 as am able to run latest upstream version without having to wait debian's maintained packaged version. Install as documented here:

$ sudo apt install python3-pip python3-gi

$ pip3 install beets

Collecting beets
  Downloading https://files.pythonhosted.org/packages/3a/a8/6ac61e3ca16da6278c681381ed392bc02e6d410ea3ff3a4af34de1379b38/beets-1.4.9.tar.gz (1.5MB)
    100% |–––––––––––––––––––––––––––––––––| 1.5MB 565kB/s
Requirement already satisfied: six>=1.9 in ./.local/lib/python2.7/site-packages (from beets) (1.12.0)
Collecting mutagen>=1.33 (from beets)
  Downloading https://files.pythonhosted.org/packages/08/34/e68d377ab1375af21feef9226d778ed3e6618b2f572538a85fc7c8ae9a4b/mutagen-1.43.0-py2.py3-none-any.whl (212kB)
    100% |––––––––––––––––––––––––––––––––| 215kB 2.0MB/s
Collecting unidecode (from beets)
  Downloading https://files.pythonhosted.org/packages/d0/42/d9edfed04228bacea2d824904cae367ee9efd05e6cce7ceaaedd0b0ad964/Unidecode-1.1.1-py2.py3-none-any.whl (238kB)
    100% |––––––––––––––––––––––––––––––––| 245kB 2.4MB/s
Collecting musicbrainzngs>=0.4 (from beets)
  Downloading https://files.pythonhosted.org/packages/6d/fd/cef7b2580436910ccd2f8d3deec0f3c81743e15c0eb5b97dde3fbf33c0c8/musicbrainzngs-0.7.1-py2.py3-none-any.whl
Collecting pyyaml (from beets)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/64/c2/b80047c7ac2478f9501676c988a5411ed5572f35d1beff9cae07d321512c/PyYAML-5.3.1.tar.gz (269kB)
    100% |––––––––––––––––––––––––––––––––| 276kB 2.0MB/s
Collecting munkres~=1.0.0 (from beets)
  Downloading https://files.pythonhosted.org/packages/ea/f3/21d3c23017ba987e77286c5f7b6334366777919ced67f6bb9d48f5f5936c/munkres-1.0.12-py2.py3-none-any.whl
Collecting enum34>=1.0.4 (from beets)
  Downloading https://files.pythonhosted.org/packages/6f/2c/a9386903ece2ea85e9807e0e062174dc26fdce8b05f216d00491be29fad5/enum34-1.1.10-py2-none-any.whl
Collecting jellyfish==0.6.0 (from beets)
  Downloading https://files.pythonhosted.org/packages/cb/bb/2362099ca5d680e39f75a37b2c8f677fc2d3dda94ce51b3738feff58d136/jellyfish-0.6.0.tar.gz (131kB)
    100% |––––––––––––––––––––––––––––––––| 133kB 3.0MB/s
Building wheels for collected packages: beets, pyyaml, jellyfish
  Running setup.py bdist_wheel for beets ... error
  Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-lLQrpS/beets/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-tqe6Sq --python-tag cp27:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help

  error: invalid command 'bdist_wheel'

  ----------------------------------------
  Failed building wheel for beets
  Running setup.py clean for beets
  Running setup.py bdist_wheel for pyyaml ... error
  Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-lLQrpS/pyyaml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-39_yE3 --python-tag cp27:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help

  error: invalid command 'bdist_wheel'

  ----------------------------------------
  Failed building wheel for pyyaml
  Running setup.py clean for pyyaml
  Running setup.py bdist_wheel for jellyfish ... error
  Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-lLQrpS/jellyfish/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-fd94FU --python-tag cp27:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help

  error: invalid command 'bdist_wheel'

  ----------------------------------------
  Failed building wheel for jellyfish
  Running setup.py clean for jellyfish
Failed to build beets pyyaml jellyfish
Installing collected packages: mutagen, unidecode, musicbrainzngs, pyyaml, munkres, enum34, jellyfish, beets
  The scripts mid3cp, mid3iconv, mid3v2, moggsplit, mutagen-inspect and mutagen-pony are installed in '/home/pyyhttu/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  The script unidecode is installed in '/home/pyyhttu/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  Running setup.py install for pyyaml ... done
  Running setup.py install for jellyfish ... done
  Running setup.py install for beets ... done
Successfully installed beets-1.4.9 enum34-1.1.10 jellyfish-0.6.0 munkres-1.0.12 musicbrainzngs-0.7.1 mutagen-1.43.0 pyyaml-5.3.1 unidecode-1.1.1

1.3. Alternatively, install beets as a docker in omv

Video instructions here.

1.4. Post-installation tasks for beets

The executable beet gets installed to /usr/bin/ so add to that location on your $PATH in ~/.profile=:

$ echo ""PATH="/usr/bin:$PATH"" >> ~/.profile"

Logout & log back in and confirm installation is working by issuing:

$ beet version

beets version 1.5.0
Python version 2.7.16
plugins: fetchart, info, lyrics, mbsync
tuomas@omv:~ $

1.4.1. DONE Enable tab-completion in bash

Beets includes support for Bash shell command completion. To enable completion, append the following line into your .bashrc:

$ echo 'eval "$(beet completion)"' >> ~/.bashrc

Remember to source .bashrc so that settings take effect:

$ source ~/.bashrc

1.4.2. DONE Create minimal config.yaml and musiclibrary.db for beets

$ nano /home/tuomas/.config/beets/config.yaml

directory: /srv/dev-disk-by-label-data/Music/
library: ~/data/musiclibrary.db

import:
    move: yes
    copy: no
    bell: yes
    log: ~/.config/beets/beets.log

ui:
    color: yes

$ touch /home/tuomas/data/musiclibrary.db

1.5. Post-installation tasks

Install requests and beautifulsoup4 (required by plugins fetchart and lyrics):

$ pip3 install requests beautifulsoup4

Install also imagemagick as debian package as fetchart requires that (or alternatively install Pillow as a pip package). In either case, otherwise an error is received and no image conversion happens:

fetchart: Could not get size of image (please see documentation for dependencies). The configuration options `minwidth`, `enforce_ratio` and `max_filesize` may be violated.

$ sudo aptitude --no-install-recommends install imagemagick

tuomas@omv:~/.config/beets $ which convert
/usr/bin/convert
tuomas@omv:~/.config/beets $

1.5.1. DONE Install cuetools for splitting and pre-tagging

Note: Whatever splitting and tagging software is installed, make sure the software stack splits the flacs with cues correctly.

Downloaded music sometimes comes with files such as:

$ ls -al random_album/

total 375344
drwxrwsr-x 3 tuomas users      4096 Feb 28 11:12  .
drwxrwsr-x 5 tuomas users      4096 Feb 27 20:24  ..
-rw-rw-r-- 1 tuomas users      1834 Feb 27 19:48 'Name of the Album.cue'
-rw-rw-r-- 1 tuomas users 384221761 Feb 27 19:50 'Name of the Album.flac'
-rw-rw-r-- 1 tuomas users     65241 Feb 27 19:47 'Cover of Album.jpg'
-rw-rw-r-- 1 tuomas users      1200 Feb 27 19:47 'Random file.log'

Beets does not yet understand one continuous flac separated by a .cue file, so the .flac needs to be split to its separate flac files, which beets can then read.

To do this, install shntool, cuetools, flac, mac and wavpack.

$ sudo apt install shntool cuetools flac wavpack

Package mac is for Monkeys-audio (.ape) which is not to be found from current Debian or Raspberry Pi OS repositories. So we install that and its dependencies manually:

$ wget https://www.deb-multimedia.org/pool/main/m/monkeys-audio/libmac2_4.11-u4-b5-s7-dmo3_armhf.deb

$ wget https://www.deb-multimedia.org/pool/main/m/monkeys-audio/monkeys-audio_4.11-u4-b5-s7-dmo3_armhf.deb

$ sudo dpkg -i libmac2_4.11-u4-b5-s7-dmo3_armhf.deb && sudo dpkg -i monkeys-audio_4.11-u4-b5-s7-dmo3_armhf.deb

  1. DONE cuetools usage

    Then combining both splitting and pretagging (based on cue sheets) can be done with cuesplit.sh, like so:

    $ cuesplit.sh DIR

    Then proceed to find the audio files and cues and delete the rest. To find:

    $ find . \( -not -name "*.flac" -not -name "*.cue" -not -name "*.ape" -not -name "*.dsf" \)

    and to delete:

    $ find . \( -not -name "*.flac" -not -name "*.cue" -not -name "*.ape" -not -name "*.dsf" \) -type f -delete

  2. DONE Alternatively, experiment command line splitting using unflac

    $ sudo aptitude install golang

    Add the following to ~/.bashrc and source it:

    export GOPATH=$HOME/go
    export PATH=$GOROOT/bin:/$GOPATH/bin
    export GO111MODULE on
    

    Install unflac with:

    $ go get git.sr.ht/~ft/unflac@latest

    Run by issuing:

    $ unflac *.cue

    See: https://git.sr.ht/~ft/unflac for more info.

    Note: unflac does not yet support replay gain or album art, so continue using Flacon.

  3. DONE Alternatively, split using GUI: Flacon

    Add their Debian repository and operate it from CLI. For editing cue sheets and track lists, use CueMaster via Wine.

    Note: Debian repository seems to lag behind, so install using Flacon flatpak. Update with flatpak update. Run with flatpak --verbose run com.github.Flacon.

  4. DONE Alternatively, Experiment operating Flacon from command line

    Run by doing:

    $ flacon --start file.cue.

    See options for more.

  5. DONE Alternatively, split from cmd line convtoflac.sh

    Flacon does not support some proprieatary lossless audio formats, like Apple alac, so for those do splitting using convtoflac.sh and install missing binaries manually.

1.5.2. DONE Install wavpack and extract .wv audio files with accompanied .cue file sheets

$ wvunpack -cc file.wv

1.6. Basic usage

$ beet help import

$ beet import -l /srv/dev-disk-by-label-data/Music/random-albums/

The -l-flag is there for a reason, as by default no log is written. Now it is at ~/.config/beets/beets.log.

After import finishes, that beet moved the artist to correct place. Locate all items added on or after 2022-09-25 at 17:45:

$ beet list -p 'added:2022-09-25T17:45..'

1.7. Plugins

1.7.1. DONE Fetchart Plugin   automatic

Beets fetches new covers automatically when doing:

$ beet import QUERY

This requires that config.yaml option auto: yes is enabled.

To run in independently, one can fetch all the covers manually with:

$ beet fetchart

Then run in quiet mode to display only albums for which artwork has been fetched, or for which artwork could not be found:

$ beet fetchart -q /srv/dev-disk-by-label-data/Music/

This may sometime result in fetchart finding orphaned records from database, thus stopping it with an error:

Error: No such file or directory while moving /tmp/tmpaPS87T.jpg to /srv/dev-disk-by-label-data/Music/Neal Morse/Lifeline (bonus disc)/cover.jpg

To resolve, check first the validity of the orphaned record with:

tuomas@omv:/srv/dev-disk-by-label-data/Music $ beet list -a 'Lifeline (bonus disc)'
Neal Morse - Lifeline (bonus disc)
tuomas@omv:/srv/dev-disk-by-label-data/Music $ ls -al '/srv/dev-disk-by-label-data/Music/Neal Morse/Lifeline (bonus disc)'
ls: cannot access '/srv/dev-disk-by-label-data/Music/Neal Morse/Lifeline (bonus disc)': No such file or directory
tuomas@omv:/srv/dev-disk-by-label-data/Music $

Then proceed to delete the record both from database and disk (-d) with:

$ beet remove -ad 'Lifeline (bonus disc)'

And continue running the script in quiet mode:

$ beet fetchart -q /srv/dev-disk-by-label-data/Music/

Add the missing covers to Cover Art Archive per these instructions and rerun the command until all the records have been found.

1.7.2. NEXT Embedded art Plugin

Experiment by adding art to files as the scan may be faster that way.

1.7.3. NEXT Lyrics Plugin   automatic

Just enable the plugin in config.yaml and do:

$ beet lyrics /srv/dev-label-disk-data/Music/

After this, some of the lyrics are wrong. Inspect them by listening and then confirm by querying them:

$ beet -vvp lyrics Also Eden Between the Lines will list lyrics that are locally available in database for appropriate Between the Lines song so you can view the fetched (or previously-stored) lyrics.

Then fix by:

$ beet -vvf lyrics also eden between the lines

This will force the command to fetch lyrics, even for tracks that already have the lyrics.

Tracks with lyrics:

$ beet list lyrics::.

Tracks without lyrics:

$ beet list lyrics::^$

Showing the lyrics of a particular track:

$ beet list -f '$lyrics' Also Eden Between the Lines

  1. NEXT Figure out best configuration for lyrics
    • Prefer the specialized databases, don't go for google as the theory is that it returns wrong lyrics.
    • There are many specialized databases, however, they're rate limited, block IPs etc. Using the config option google to parser these may be better.
  2. NEXT Remove Genius as lyrics source in config
    • Followup if undocumented config option genius_api_key works, as there is this report. If validated not to be working (only half of the lyrics fetched without subscription), then remove Genius.
  3. DONE Consider removing MusixMatch as lyrics source in config
    • Reason is whac-a-mole game where beets lyrics plugin is blocked, and their free api is limited to 2k requests daily and only 30% of lyrics per song. I suspect, they are enforcing the 2k limitation already now with beets daily, as well as locking lyrics to a same song which overwrites everything.

    Also try to fetch the lyrics using a different client, for example with foobar2000 LSP3 and see if they are blocked.

  4. NEXT Also see

1.7.4. DONE Info Plugin   manual

Example of usage:

$ beet info *.flac | grep id

Alternatively, use metaflac:

$ metaflac --list *.flac

1.7.5. DONE Bad Files Plugin   manual

Check for missing and corrupt files:

$ beet bad -v QUERY

Also install mp3val to analyze and fix .mp3 files:

$ sudo aptitude install mp3val

Fix files with errors and warnings. Find by running:

$ beet bad -v

Troubleshoot as documented here.

.flac-files with warnings/errors:

WARNING, cannot check MD5 signature since it was unset in the STREAMINFO

or,

FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC

or,

FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH

Resolve by re-encoding the files:

$ flac --test *.flac

$ flac -f --decode-through-errors --preserve-modtime --verify *.flac

$ flac --test *.flac

If re-encoding does not work, rerip the CDs.

.mp3-files with warning:

Wrong number of MPEG frames specified in Xing header

or,

Wrong number of MPEG data bytes specified in Xing header

or,

It seems that file is truncated or there is garbage at the end of the file

Resolve per mp3val documentation by running:

$ mp3val -f *.mp3

  1. NEXT Alternatively check Beets-Check   automatic

    As an alternative offered. It is based on checksums that get saved to database.

    Take this tool into use if periodic check of beet bad -v /Music starts to give errors. Theory is, that this plugin can snatch those faster (e.g. when running after system crash beet check). One example config of check: here.

    However, this will make my imports to last longer as I most probably want to setup to run it automatically on import time (trigger before import).

1.7.6. DONE Scrub Plugin   automatic

Start first with Scrub Plugin, and examine if Zero plugin is needed. Scrub removes tags that beets does not support (output of beet fields). See their usage explained, as well as their Difference.

  1. DONE Figure out why certain fields are not scrubbed

    These:

    albumartists:
    artists:
    bitrate_mode:
    encoder_info:
    encoder_settings:
    mb_workid:
    

    Try by disabling all plugins and retest by importing an album.

    Edit: Disabled all the plugins except zero, scrub and info. Only mb_workid was removed (part of some plugin now?), rest remained.

    Update [2023-10-08 Sun]: bitrate_mode, encoder_info and encoder_settings are not yet supported in beets 1.6.0, but are there in development version of 1.6.1.. After I've upgraded, retest and scrub should be able to remove these fields when importing. Also with version 1.6.1 the mb_artistids and mb_albumartistids were scrubbed.

1.7.7. DONE Zero Plugin   automatic

Without the zero plugin, if were to run e.g.:

$ beet info Rush | grep comments

This would return all kinds of crap. Zero supports only fields that beets also supports. Query those first out with by doing:

$ beet fields

Then, using the output, select the ones you want to keep by adding them to ~/.config/beets/config.yaml with keep_fields:.

Lastly to test the cleaning, execute:

$ beet -vv zero Rush

1.7.8. DONE Duplicates Plugin   manual

Print out a listing of all duplicate tracks and display the path:

$ beet duplicates -f '$path' | sort -d

Above finds duplicates if the following two library entries match:

mb_albumid, mb_trackid

By default, duplicates searches with those. However, it will not find this case:

tuomas@omv:/srv/dev-disk-by-label-data/Music $ beet list Tommy Emmanuel Dare to be Different
Tommy Emmanuel - Dare To Be Different - The Rise and Fall of Flingel Bunt
Tommy Emmanuel - Dare to Be Different - The Rise and Fall of Flingel Bunt
Tommy Emmanuel - Dare To Be Different - Daybreak Again
Tommy Emmanuel - Dare to Be Different - Daybreak Again
Tommy Emmanuel - Dare To Be Different - Jacaranda
Tommy Emmanuel - Dare to Be Different - Jacaranda
Tommy Emmanuel - Dare To Be Different - Countrywide
Tommy Emmanuel - Dare to Be Different - Countrywide
Tommy Emmanuel - Dare To Be Different - Games of Love and Loneliness
Tommy Emmanuel - Dare to Be Different - Games of Love and Loneliness
Tommy Emmanuel - Dare To Be Different - Run a Good Race
Tommy Emmanuel - Dare to Be Different - Run a Good Race
Tommy Emmanuel - Dare To Be Different - Guitar concierto de Aranjuez
Tommy Emmanuel - Dare to Be Different - Guitar concierto de Aranjuez
Tommy Emmanuel - Dare To Be Different - Tequila Slammer
Tommy Emmanuel - Dare to Be Different - Tequila Slammer
Tommy Emmanuel - Dare To Be Different - Hearts Grow Fonder
Tommy Emmanuel - Dare to Be Different - Hearts Grow Fonder
Tommy Emmanuel - Dare To Be Different - Blue Moon
Tommy Emmanuel - Dare to Be Different - Blue Moon
Tommy Emmanuel - Dare To Be Different - Guitar Boogie
Tommy Emmanuel - Dare to Be Different - Guitar Boogie
Tommy Emmanuel - Dare To Be Different - Encore: Up From Down Under
Tommy Emmanuel - Dare to Be Different - Encore: Up From Down Under
Tommy Emmanuel - Dare To Be Different - Raindance Teaser
Tommy Emmanuel - Dare to Be Different - Raindance Teaser
tuomas@omv:/srv/dev-disk-by-label-data/Music $

…because different release (different mb_albumid), but practically the same amount of the same songs.

Above can be exposed by overriding the default mb_albumid and mb_trackid with --key by specifying instead:

$ beet duplicates -f '$path $mb_trackid - $length' --key artist --key year --key title

Above will result in false positives, but the output should be readable enough to see those.

For most granular results of the above, add --key length to return songs with the same length:

$ beet duplicates -f '$path $mb_trackid - $length' --key artist --key year --key title --key length | sort -d

/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-01 [untitled].flac 41dc0f31-56a7-4e78-b3b3-9f7f283b2f60 - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-02 [untitled].flac 53f3fb4f-8de8-4707-a303-b4d0fd1bc2ce - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-03 [untitled].flac 6e2f3cbd-1399-470b-bfcc-67dfd5820706 - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-04 [untitled].flac de4cbc24-e5ea-486b-befa-d4804874d3da - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-05 [untitled].flac 7968727d-fa33-441f-a453-a9dc9ae3eeb5 - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-06 [untitled].flac 0151df9a-35a1-4376-a49a-f6e660a4515d - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-07 [untitled].flac ee6c9ec1-c7e3-4ae8-bd65-377e7a7391c2 - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-08 [untitled].flac cddf4919-1fb6-4600-a10b-6503b99a58eb - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-09 [untitled].flac 6a6ed3ae-14e6-4d14-977f-a9f27c6f00c5 - 0:04
/srv/dev-disk-by-label-data/Music/Ayreon/2004 - The Human Equation/02-10 [untitled].flac 2a51f63c-e0ff-49fc-8904-9bf1392bd7e8 - 0:04
/srv/dev-disk-by-label-data/Music/Chain/2002 - Reconstruct/01-25 [silence].flac 48856e20-89e1-4aca-9bb2-04c51cc3158a - 0:05
/srv/dev-disk-by-label-data/Music/Chain/2002 - Reconstruct/01-33 [silence].flac fff46847-a390-4ca3-a707-ba502028db97 - 0:05
/srv/dev-disk-by-label-data/Music/Chain/2002 - Reconstruct/01-35 [silence].flac 39b17858-509f-4808-b1c1-3854aa91aeb3 - 0:05
/srv/dev-disk-by-label-data/Music/Chain/2002 - Reconstruct/01-36 [silence].flac 1fa34438-683a-41eb-8c7a-899a6b191f72 - 0:05

Above needs to be inspected by listening the album and realize they're a part of album's concept and thus are false positives.

Alternatively, use dupe guru.

1.7.9. DONE ImportAdded Plugin   automatic

Preserve the time stamps of when albums and items were added to database. To track this, Beets uses a field mtime (track's modification time) and added:

$ beet list -f '$added' bacamarte ufo

2020-08-04 15:12:20

$ beet list -f '$mtime' bacamarte ufo

2022-03-08 11:15:58

See here for more queries.

1.7.10. NEXT Web Plugin   automatic

Visual view of music library in web browser.

1.7.11. DONE Edit Plugin   manual

Edit music metadata during import using text editor of your choice.

1.7.12. DONE Mbcollection Plugin   manual

After doing full import, followup in musicbrainz collection page if remove: yes config option is working and removing artists automatically. Compare $ beet stats -e album count to collection page's "number of entities". If not working, document under maintenace to peridically to do manually $ beet -v mbupdate.

Update [2022-04-03 Sun]: It seems to be that removals are not triggered when doing beet remove -ad QUERY. To work around, run manually as maintenance operation beet -v mbupdate.

1.7.13. DONE The Plugin   automatic

1.7.14. DONE Mbsubmit Plugin   manual

1.7.15. DONE ReplayGain Plugin   manual

Add ReplayGain tags automatically during import (Note: this is slow).

Use ffmpeg as backend and run:

$ beet replaygain -wa Änglagård Hybris

This will apply album level ReplayGain for Hybris album by Änglagård:

$ beet replaygain -waf Änglagård Hybris
replaygain: Analyzing 1 albums ~ ffmpeg backend...
replaygain: analyzing Änglagård - Hybris

Flacon also supports in vorbis tags the traditional REPLAYGAIN_*-tags, which it adds by calling metaflac with metaflac --add-replay-gain *.flac. This will add album level REPLAYGAIN_*-tags. This also means, I could in theory do without Beets ReplayGain plugin, and add replay gain tags as maintenance operation every now and then by recursively run metaflac against my music directory. However, to secure that every track in music library has the perceived loudness normalized systematically, I should use the Beets ReplayGain plugin approach.

ReplayGain tags per the ReplayGain 2.0 documentation are these four:

Metadata Key (tagged e.g. by metaflac) Beets field
Track replay gain REPLAYGAIN_TRACK_GAIN rg_track_gain
Peak track amplitude REPLAYGAIN_TRACK_PEAK rg_track_peak
Album replay gain REPLAYGAIN_ALBUM_GAIN rg_album_gain
Peak album amplitude REPLAYGAIN_ALBUM_PEAK rg_album_peak

Above ReplayGain tags can be applied for .flac-files by setting ~/.config/beets/config.yaml:

replaygain:
  backend: ffmpeg
  r128: [Opus]

…and then rerunning:

$ beet replaygain -waf QUERY.

But there's also a newer standard, EBU R128 LUFS, which just uses these two tags:

Metadata Key (tagged e.g. by ffmpeg) Beets field
Album replay gain R128_ALBUM_GAIN r128_album_gain
Track replay gain R128_TRACK_GAIN r128_track_gain

Above R128-tags can be applied for .flac-files by setting ~/.config/beets/config.yaml:

replaygain:
  backend: ffmpeg
  r128: FLAC

Which to use, ReplayGain or EBU R128, or tag with both? What's the difference?

Reading discussion related to RFC it seems that only using the R128 EBU is the way to go, if your player just supports it. Same conclusion is reached here.

However, when tested the R128_-tags for loudness correction in Neutron Music Player (iOS), couldn't get them to adjust the volume. Same thing in Foobar2000. Thus, settling to use the old REPLAYGAIN_-tags for now.

  1. DONE Query database to find the tracks with/without REPLAYGAIN_ and R128_ tags

    Some of my albums also have R128_-tags (R128_ALBUM_GAIN and R128_track_gain). Query those out with:

    $ beet list r128_album_gain::..

    Query tracks without REPLAYGAIN_-tags:

    $ beet list rg_album_gain::^$

    Apply with beets REPLAYGAIN_-tags to whole library by setting it to auto then doing beet import against whole /music/-directory (but test first by running against a single artist with beet -v import to make sure albums are applied with ReplayGain correctly). Then, find and remove R128_-tags, e.g. with:

    $ beet modify cast arsis r128_album_gain!

1.7.16. FOLLOWUP MBSync Plugin   manual

Instead of retagging the whole library with $ beet import -L, which uses full matching machinery to guess metadata matches, it is much better choice to just update my files’ tags according to changes in the MusicBrainz database with MBSync Plugin, which just relies on MusicBrainz IDs. This will fetch metadata from MusicBrainz for albums and tracks that already have MusicBrainz IDs.

Warning: Beware when using $ beet mbsync as it will currently null genre tag because of open bug 4071. Latest status also covered here. To workaround that, consider compiling from forks your own python-musicbrainzngs.

1.7.17. DONE Unimported Plugin   manual

List all files in the library folder which are not listed in the beets library database, but reside as "orphans" on the disk, OR, are residing on the disk, but removed in error from database with:

$ beet remove QUERY, without the d-flag.

Invoke the check by doing:

$ beet unimported | sort -d.

tuomas@omv:/export/music-staging $ beet unimported | sort -d
/srv/dev-disk-by-label-data/Music/My Dying Bride/1993 - Turn Loose the Swans/01-01 Sear Me MCMXCIII.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1993 - Turn Loose the Swans/01-02 Your River.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1993 - Turn Loose the Swans/01-03 The Songless Bird.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1993 - Turn Loose the Swans/01-04 The Snow in My Hand.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1993 - Turn Loose the Swans/01-05 The Crown of Sympathy.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1993 - Turn Loose the Swans/01-06 Turn Loose the Swans.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1993 - Turn Loose the Swans/01-07 Black God.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1998 - 34.788%… Complete/01-01 The Whore, the Cook and the Mother.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1998 - 34.788%… Complete/01-02 The Stance of Evander Sinque.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1998 - 34.788%… Complete/01-03 Der Überlebende.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1998 - 34.788%… Complete/01-04 Heroin Chic.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1998 - 34.788%… Complete/01-05 Apocalypse Woman.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1998 - 34.788%… Complete/01-06 Base Level Erotica.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1998 - 34.788%… Complete/01-07 Under Your Wings and Into Your Arms.flac
/srv/dev-disk-by-label-data/Music/My Dying Bride/1998 - 34.788%… Complete/01-08 Follower.flac
/srv/dev-disk-by-label-data/Music/Procol Harum/1971 - Broken Barricades/.01-01 Simple Sister.flacmfori42h.beets
/srv/dev-disk-by-label-data/Music/Shadow Gallery/1992 - Shadow Gallery/01-01 The Dance of Fools.flac
/srv/dev-disk-by-label-data/Music/Shadow Gallery/1992 - Shadow Gallery/01-02 Darktown.flac
/srv/dev-disk-by-label-data/Music/Shadow Gallery/1992 - Shadow Gallery/01-03 Mystified.flac
/srv/dev-disk-by-label-data/Music/Shadow Gallery/1992 - Shadow Gallery/01-04 Questions at Hand.flac
/srv/dev-disk-by-label-data/Music/Shadow Gallery/1992 - Shadow Gallery/01-05 The Final Hour.flac
/srv/dev-disk-by-label-data/Music/Shadow Gallery/1992 - Shadow Gallery/01-06 Say Goodbye to the Morning.flac
/srv/dev-disk-by-label-data/Music/Shadow Gallery/1992 - Shadow Gallery/01-07 The Queen of the City of Ice.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-01 Deep Inside.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-02 That’s Why It Hurts.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-03 Strange Emotion.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-04 Human Apologies.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-05 Timeless Traces.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-06 I Still Believe.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-07 Around the World.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-08 Souvenirs.flac
/srv/dev-disk-by-label-data/Music/Sylvan/2002 - Artificial Paradise/01-09 Artificial Paradise.flac

Output above tells we have a mismatch, either records missing from disk, or from database.

Proceed to inspect the records, then either delete the orphan records from database with:

$ beet remove -ad My Dying Bride Turn Loose the Swans

Or do rm -r on the directory on the disk.

1.7.18. DONE FromFilename Plugin   automatic

1.7.19. DONE Chroma/Acoustid Plugin   automatic

Use acoustic fingerprinting to identify audio files with missing or incorrect metadata.

This technique is the only way of figuring out when I have long list of metadata stripped "unknown artst/"unknown tracks" with no recollection who was the artist or album.

Install the three dependencies:

  1. $ pip3 install pyacoustid
  2. $ sudo aptitude install libchromaprint1
  3. $ sudo aptitude install ffmpeg

Then run:

$ beet -v import Unknown\ Artist/

And if you see in output something like:

[...]
chroma: acoustid album candidates: 3
Sending event: albuminfo_received
Candidate: Happy the Man - 3rd "Better Late..." (1692a3d7-07c7-440a-9fab-68057691368a)
Computing track assignment...
...done.
Success. Distance: 0.39
Sending event: albuminfo_received
Candidate: Happy the Man - Better Late... (17691345-e5cf-44f7-81f0-fdca60357cae)
Computing track assignment...
...done.
Success. Distance: 0.39
Sending event: albuminfo_received
Candidate: Happy the Man - 3rd "Better Late..." (690aa8c3-9485-4bc5-ac62-884b7ad9c312)
Computing track assignment...
...done.
Success. Distance: 0.39
Evaluating 8 candidates.
[...]

…then Chroma has done its thing.

The process also adds and populates these two beet fields (remember to allow them in Scrub's keep_fields): acoustic_id and acoustic_fingerprint.

One can contribute the acoustic_fingerprint to AcoustId database.

Without having to have the Chroma (auto: yes) enabled all the time, I can do

$ beet fingerprint QUERY

to generate fingerprints for items already in library (or provide into query a subset of my library.) The generated fingerprints will be stored in the library database. If you have the import.write config option enabled, they will also be written to files' metadata. Note that this will not populate acoustid_id, as that is only populated when Chroma auto: yes is on, and user runs beet import.

1.7.20. DONE AcousticBrainz and AcousticBrainzSubmit Plugin   automatic

Get acoustic-analysis information from the AcousticBrainz project and submit acoustic analysis results to the AcousticBrainz server.

Edit: The AcousticBrainz project has been ended. Update [2023-01-16 Mon]: It seems analysis information can be gotten with Xtractor.

1.7.21. NEXT Xtractor   automatic

1.7.22. FOLLOWUP Missing Plugin   manual

Find out which tracks per album are missing, or which albums per artist are missing.

Note: Missing plugin has various bugs/feature requests open, effectively rendering it unusable for me. First, it does not return strictly albums, but also live albums, compilations etc. Second, even if it would work for missing albums, I couldn't list them in wanted format as long as issue 3804 is open.

Alterntively, investigate on Lidarr.

1.7.23. DONE Rewrite Plugin   manual

Sometimes artists create spinoff projects, which in turn creates an archaic directory structure. Consider for example a band /music/Asturias, which has released under close to similar artist names /music/Acoustic Asturias and /music/Electric Asturias. For such artists, create a rewrite rule in config utilizing rewrite plugin:

artist Acoustic Asturias: Asturias

Then move the artists in their place. Simulating the changes with -p-flag (pretend):

$ beet move -p Acoustic Asturias:

tuomas@omv:/srv/dev-disk-by-label-data/Music $ beet move -p Acoustic Asturias
Moving 17 items.
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2004 - Bird Eyes View/01-01 Adolescencia.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2004 - Bird Eyes View/01-01 Adolescencia.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2004 - Bird Eyes View/01-02 Global Network.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2004 - Bird Eyes View/01-02 Global Network.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2004 - Bird Eyes View/01-03 Distance.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2004 - Bird Eyes View/01-03 Distance.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2004 - Bird Eyes View/01-04 Bird Eyes View.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2004 - Bird Eyes View/01-04 Bird Eyes View.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2004 - Bird Eyes View/01-05 Ryu Hyo.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2004 - Bird Eyes View/01-05 Ryu Hyo.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-01 Wataridori.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-01 Wataridori.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-02 Marching Grass on the Hill.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-02 Marching Grass on the Hill.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-03 紅江 [Benikoh].flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-03 紅江 [Benikoh].flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-04 Waterfall.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-04 Waterfall.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-05 Classic Medley.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-05 Classic Medley.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-06 Coral Reef.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-06 Coral Reef.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-07 神の摂理に挑む者たち.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-07 神の摂理に挑む者たち.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-08 Bloodstained Roses.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-08 Bloodstained Roses.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-09 Rogus.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-09 Rogus.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-10 Luminous Flower.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-10 Luminous Flower.flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-11 Adolescencia (New mix).flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-11 Adolescencia (New mix).flac
/srv/dev-disk-by-label-data/Music/Acoustic Asturias/2006 - Marching Grass on the Hill/01-12 Woman of Ireland.flac
  -> /srv/dev-disk-by-label-data/Music/Asturias/2006 - Marching Grass on the Hill/01-12 Woman of Ireland.flac

This way albums are grouped in directory structure logically under one and same /music/Asturias/ to locate the artist's albums easily, while metadata (tags) is preserved pointing out the Acoustic and Electric side projects.

1.8. Other Plugins

Install the plugins in this section as per instructions here.

1.8.1. DONE Beets-follow   automatic

Get notifications about new releases from album artists in your Beets library using muspy.com. Updates whenever MusicBrainz is updated with a new album for an artist you follow in muspy.

This is the only, beets integrated service I know of, making it well automated and seemless. Other, non-integrated services are: musicbutler.io (closed source, paid service), friedstapes.com (closed source, free), MusicHarbor (iOS app). Or then, combine beets with Lidarr.

Note: The upstream /nolsto/beets-follow is no longer maintained, so git-compile the fork /GuilhermeHideki/beets-follow.

$ sudo aptitude update && sudo aptitude install python3-setuptools

$ cd ~/.config/beets/plugins/

$ git clone https://github.com/GuilhermeHideki/beets-follow.git

$ cd beets-follow

$ sudo python3 setup.py install

1.8.2. NEXT Investigate on beets-lidarr

1.8.3. DONE Whatlastgenre   automatic

$ sudo aptitude install python3-mutagen python3-requests

$ cd ~/.config/beets/plugins/

$ git clone https://github.com/YetAnotherNerd/whatlastgenre.git

$ cd whatlastgenre/

Test install:

$ ./whatlastgenre

Install:

$ sudo python3 setup.py install

$ mkdir ~/.whatlastgenre

$ touch ~/.whatlastgenre/config

After this I can tag genre e.g. on artist level, like this:

$ whatlastgenre -v /srv/dev-disk-by-label-data/Music/Rush

…and the genre from there is inherited from artist level and added to albums when I do beet import. This means I need to only genre tag in musicbrainz the artist and not bother with albums.

This is possible if I have defined in ./whatlastgenre/config:

[score]
minimum = 1.0

as "= 1.0 same effect as --tag-limit 1" according to documentation.

Note: The genre tag at this point is added to musicbrainz database and written on the file too, but above operation (beet -v whatlastgenre QUERY) triggers genre nullifying entries, observable with beet write -p afterwards. Thus, refrain from running whatlastgenre for now, and instead, use beet import which does add tags correctly. With this, I may have to rerun import at some point against my whole /music directory.

Whatlastgenre also comes with beets plugin wlg which needs to be configured in ~/.config/beets/config which then supports with config auto: yes genre tagging automatically when doing beet import.

Note: Currently wlg does not seem to write the genre tag, when run independently beet wlg -v QUERY. It might be utilizing the currently broken musicbrainzngs. So once that is updated, observe if this is fixed as well. Meanwhile, add tags for albums by running beet import as that seems to trigger wlg correctly and tags are added.

wlg does not support track level tagging either (handy e.g. when identifying instrumental tracks) when tested with:

$ beet wlg -v 3 wake pig bramfatura

1.8.4. NEXT Beetcamp   automatic

Use bandcamp as an extra autotagger source, for fetching lyrics and cover art.

# https://pypa.github.io/pipx/

python3 -m pip install --user pipx

python3 -m pipx ensurepath

pipx list

# "sudo aptitude install python3-venv" why needed?

tuomas@omv:~ $ pipx install beets
⚠️  File exists at /home/tuomas/.local/bin/beet and points to /home/tuomas/.local/bin/beet, not /home/tuomas/.local/pipx/venvs/beets/bin/beet. Not modifying.
  installed package beets 1.6.0, installed using Python 3.7.3
    - beet (symlink missing or pointing to unexpected location)
done! ✨ 🌟 ✨
tuomas@omv:~ $

tuomas@omv:~ $ pipx inject beets beetcamp
  injected package beetcamp into venv beets
done! ✨ 🌟 ✨
tuomas@omv:~ $ cd ~/.local/pipx/venvs/beets/bin/

tuomas@omv:~/.local/pipx/venvs/beets/bin $ ./beet --version
** error loading plugin follow:
Traceback (most recent call last):
  File "/home/tuomas/.local/pipx/venvs/beets/lib/python3.7/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__(modname, None, None)
ModuleNotFoundError: No module named 'beetsplug.follow'

** error loading plugin wlg:
Traceback (most recent call last):
  File "/home/tuomas/.local/pipx/venvs/beets/lib/python3.7/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__(modname, None, None)
  File "/home/tuomas/.config/beets/plugins/whatlastgenre/plugin/beets/beetsplug/wlg.py", line 28, in <module>
    from wlg import whatlastgenre
  File "/home/tuomas/.config/beets/plugins/whatlastgenre/plugin/beets/beetsplug/wlg.py", line 28, in <module>
    from wlg import whatlastgenre
ImportError: cannot import name 'whatlastgenre' from 'wlg' (/home/tuomas/.config/beets/plugins/whatlastgenre/plugin/beets/beetsplug/wlg.py)

** error loading plugin chroma:
Traceback (most recent call last):
  File "/home/tuomas/.local/pipx/venvs/beets/lib/python3.7/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__(modname, None, None)
  File "/home/tuomas/.local/pipx/venvs/beets/lib/python3.7/site-packages/beetsplug/chroma.py", line 25, in <module>
    import acoustid
ModuleNotFoundError: No module named 'acoustid'

** error loading plugin usertag:
Traceback (most recent call last):
  File "/home/tuomas/.local/pipx/venvs/beets/lib/python3.7/site-packages/beets/plugins.py", line 268, in load_plugins
    namespace = __import__(modname, None, None)
ModuleNotFoundError: No module named 'beetsplug.usertag'

beets version 1.6.0
Python version 3.7.3
plugins: badfiles, duplicates, edit, fetchart, fromfilename, fuzzy, importadded, info, lyrics, mbcollection, mbsubmit, mbsync, missing, permissions, replaygain, rewrite, scrub, the, types, unimported, zero
tuomas@omv:~/.local/pipx/venvs/beets/bin $

  1. NEXT First try to update the symbolic link…

    …from ~/.local/bin/beet to point to ~/.local/pipx/venvs/beets/bin/beet and see if plugins follow, wlg, chroma and usertag still error out. If they do, don't update the symbolic link, but inject them in place (actually, try this first):

    $ pipx inject beets beetcamp wlg chroma...

1.8.5. NEXT Beetstream

Requires Python 3.8 or newer. Raspberry PI OS only has 3.7.3-1 available, so would need to compile python from source.

1.8.6. NEXT BeetsPluginDescribe

Does not install with pip3, try again after clean install. https://github.com/adamjakab/BeetsPluginDescribe

1.9. Maintenance

Some of these maintenance activities beets handles automatically during import. They are marked with :automatic:-tag. Other needs to be monitored and corrected manually.

1.9.1. DONE Backing up the config, database and music   automatic

Put this into cron:

$ rsync -avhz --progress /home/tuomas/data/musiclibrary.db /home/tuomas/.config/beets/genres.txt /home/tuomas/.config/beets/config.yaml user@remote.fi:~/public_html/debian/beets

Backups are then safe off site at https://pyyhttu.kapsi.fi/debian/beets/

1.9.2. FOLLOWUP Updating collection to MusicBrainz   automatic

Run periodically:

$ beet -v mbupdate

This will sync your local album count, artists etc. to MusicBrainz Collection.

1.9.3. DONE Upgrading beets to latest version   manual

New beets version are published peridically at Beets Github releases. Upgrade with:

$ pip3 install -U beets

tuomas@omv:~ $ pip3 install -U beets
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Cache entry deserialization failed, entry ignored
Cache entry deserialization failed, entry ignored
Collecting beets
  Downloading https://files.pythonhosted.org/packages/a9/60/9d38d3f3706c36ec20146bf8add05213e46138c710add8c68dc5a5dea3ec/beets-2.0.0-py3-none-any.whl (553kB)
    100% |████████████████████████████████| 563kB 698kB/s
Requirement already satisfied, skipping upgrade: munkres>=1.0.0 in ./.local/lib/python3.7/site-packages (from beets) (1.1.4)
Collecting unidecode>=1.3.6 (from beets)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/84/b7/6ec57841fb67c98f52fc8e4a2d96df60059637cba077edc569a302a8ffc7/Unidecode-1.3.8-py3-none-any.whl (235kB)
    100% |████████████████████████████████| 235kB 1.5MB/s
Requirement already satisfied, skipping upgrade: typing-extensions in ./.local/lib/python3.7/site-packages (from beets) (4.1.1)
Requirement already satisfied, skipping upgrade: confuse>=1.5.0 in ./.local/lib/python3.7/site-packages (from beets) (1.7.0)
Requirement already satisfied, skipping upgrade: jellyfish in ./.local/lib/python3.7/site-packages (from beets) (0.9.0)
Requirement already satisfied, skipping upgrade: pyyaml in /usr/lib/python3/dist-packages (from beets) (3.13)
Requirement already satisfied, skipping upgrade: musicbrainzngs>=0.4 in ./.local/lib/python3.7/site-packages (from beets) (0.7.1)
Collecting mediafile>=0.12.0 (from beets)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/f7/bd/cc250fbe08ec4ac7631bc991f91703945e089c2c73429954f5a51e62a402/mediafile-0.12.0-py3-none-any.whl
Collecting mutagen>=1.46 (from mediafile>=0.12.0->beets)
  Cache entry deserialization failed, entry ignored
  Cache entry deserialization failed, entry ignored
  Downloading https://files.pythonhosted.org/packages/b0/7a/620f945b96be1f6ee357d211d5bf74ab1b7fe72a9f1525aafbfe3aee6875/mutagen-1.47.0-py3-none-any.whl (194kB)
    100% |████████████████████████████████| 194kB 1.8MB/s
Requirement already satisfied, skipping upgrade: six>=1.9 in /usr/lib/python3/dist-packages (from mediafile>=0.12.0->beets) (1.12.0)
Installing collected packages: unidecode, mutagen, mediafile, beets
  Found existing installation: Unidecode 1.3.2
    Uninstalling Unidecode-1.3.2:
      Successfully uninstalled Unidecode-1.3.2
  Found existing installation: mutagen 1.45.1
    Uninstalling mutagen-1.45.1:
      Successfully uninstalled mutagen-1.45.1
  Found existing installation: mediafile 0.9.0
    Uninstalling mediafile-0.9.0:
      Successfully uninstalled mediafile-0.9.0
  Found existing installation: beets 1.6.0
    Uninstalling beets-1.6.0:
      Successfully uninstalled beets-1.6.0
Successfully installed beets-2.0.0 mediafile-0.12.0 mutagen-1.47.0 unidecode-1.3.8

1.9.4. FOLLOWUP Checking statistics   manual

Check statistics with:

$ beet stats -e

Sometimes statistics show orphaned records that need to be cleaned out manually. Clean orphans with:

$ beet remove -ad artist album track

1.9.5. FOLLOWUP Checking unimported tracks   manual

Check by doing:

$ beet unimported | sort -d

This usually also reveals orphaned (not in database but in disk) or duplicate tracks.

1.9.6. FOLLOWUP Checking duplicates   manual

Run periodically:

$ beet duplicates -f '$path' | sort -d

Output should not give any results.

To catch corner cases, also run:

$ beet duplicates -f '$path $mb_trackid - $length' --key artist --key year --key title

Output returns findings, but need to be inspected if they're false positives.

1.9.7. FOLLOWUP Checking missing fingerprints, albums without ReplayGain and tracks without lyrics

  1. Query tracks without Chroma plugin's acoustid_fingerprint:

$ beet list acoustid_fingerprint::^$

  1. Query tracks without ReplayGain:

$ beet list rg_album_gain::^$

  1. Query tracks without lyrics:

$ beet list lyrics::^$

1.9.8. FOLLOWUP Finding and cleaning non-studio albums (soundtracks excluded)   manual

Search by using the albumtype field. Run it with query term negation to return every non-album (Singles, EPs, Broadcasts, Compilations, Live etc.). Disregard sountracks also as those are regarded usually among studio albums:

$ beet list -a ^albumtype:album ^albumtype:soundtrack ^albumtype:remix | sort -d

Also query with:

$ beet list -a ^albumtypes:album

This will reveal potential mismatches. Then compare the findings to musicbrainz and progarchives.

1.9.9. NEXT Finding and correcting albums with missing type   manual

Query non-official albums utilizing in tracking field albumstatus (as it has values official, promotion, bootleg, cancelled…). As I'm only interested in the official releases, I can query out non-officials out with:

$ beet list -a ^albumstatus:official

And, as official is defined on album level, which there are several to choose from underneath the release group, I want to know also the associated albumid:

$ beet list -af '$albumartist - $album: $mb_albumid' ^albumstatus:official

Command will return every non-album as listed in Musicbrainz album types. Note that every match will need to be manually cross checked against progarchives, because album type may not be specified in Musicbrainz correctly and will be returned by the query anyway. In this case the albumtype needs to be corrected to Musicbrainz.

Work on finding the official versions of these:

Dave Greenslade - Routes-Roots: c13f43e9-2daf-4410-80ed-5725b5e73f80
Kayak - Periscope Life: df0d63c7-7261-45b1-a3b6-d664c06def4c

Then reimport these in:

tuomas@omv:/srv/dev-disk-by-label-data/Music $ beet list -af '$albumartist - $album: $mb_albumid' ^albumstatus:official
Alex Carpani - 4 Destinies: 35c442bb-cb33-47e7-9222-5f00ddcd384f
AltaVia - Kreosote: 24fe6e2f-42bb-456f-8eaf-1c2d49c8b1df
Amarok - Hayat Yolunda: 409368b3-3069-48cb-8e14-2e3de17bc528
Amarok - Tierra de especias: c389a0f7-b5f5-447b-a281-014e4ded51af
Amos Key - First Key: 9191f974-5d81-4987-8bf3-950b4582a2cb
Anathema - Serenades: 08bd0893-d2b6-41f4-ada3-5ae1f8255e92
Anthony Phillips - Slow Dance: 7c88523b-7051-49b8-8415-5ee39b6a0f72
Anubis - Different Stories.: 061d7277-be62-4dd7-b460-23903255ebc2
Archive - Michel Vaillant: Bande originale du film (extraits): 9f8e7649-1591-4451-aa2f-16ff25f0c270
ARZ - Turn of the Tide: 551de7c3-5673-41b8-8dd5-c0814c67ee66
Asturias - At the Edge of the World: df378ca6-1d35-429c-83f6-691c9f01c100
Ayreon - Actual Fantasy: 06a617fe-e71b-4b31-886b-c95faf34753e
Ayreon - Into the Electric Castle: 3cb9bbdd-3a1b-4334-ad0e-8fb35404d887
Peter Bardens - Peter Bardens: 7fb2e791-edab-4b51-ad3b-c852e747c50d
Beggars Opera - Act One: 9ee01b38-2930-4747-84fb-26c878d51f4f
Adrian Belew - Flux Volume 1: 6ba4e83c-9a83-41e8-91e6-28b118a438bb
Adrian Belew - Flux Volume 2: 211def38-ec57-4360-8476-d5a453287af1
Billy Cobham - Paradox, The First Second: 657625b4-4141-47ed-83ec-693f35bf2cd9
Bob Katsionis - Prognosis & Synopsis: ac5ea7d0-0075-493e-9cf0-f8197074406e
Dec Burke - Life In Two Dimensions: 6bada524-cace-4ba9-b3b1-14e1839189e8
Cast - Art: 3017dcc9-8a14-425e-b82e-323865096aae
Citizen Cain - Serpents in Camouflage: 596e2ad3-b99f-4a36-abf4-6cc4ffcad1ef
Counter-World Experience - Leaving Lotus: c7616834-629f-4870-86e0-0668828407c9
Robert Fripp - Starless Starlight: 1c23d17b-6078-4d0d-8a50-ab39675e9e14
Dark Suns - Swanlike: 01568a09-b413-4f78-b043-9145ca04f277
Dave Greenslade - Routes-Roots: c13f43e9-2daf-4410-80ed-5725b5e73f80
David Byrne - Look Into the Eyeball: eb2bc909-9812-4dab-9861-f73bf5655beb
David Byrne - The Forest: d51d0dc4-0cec-4e55-a0b6-ef0b4a29a928
David Byrne - Love This Giant: 5dff22f5-5203-42ed-8c9c-6409f59b6c4c
Deja Vu - Baroque in the Future: e9998f15-dd25-4779-ad1d-06d741f527e6
Delusion Squared - II: fd7b18b3-f8eb-4886-9026-7995993bb8fe
Djam Karet - No Commercial Potential: ceff0a8c-bff8-465d-80c1-35c0ab953324
Dynamo Bliss - 21st Century Junk: a8fdcee5-9824-4cd1-a3a2-151499b17197
Dynamo Bliss - Poplar Music: 8c141176-0158-4999-b957-dbc383f261b1
Eccentric Orbit - Attack Of The Martians: d8a25be2-f82f-45c4-bdf6-aca9da01bfb7
Eclipse Sol-Air - Bartok's Crisis: d1f0e3e6-5c18-4e6c-ba76-2add85b50e42
Electric Light Orchestra - No Answer: d5dc53d2-87b2-4ef9-8cf8-3da2feaa72b0
Electromagnets - Electromagnets II: 57470a67-881a-42a2-ad88-f03c7cd4e8de
Exodus - Hazard: 41a72463-78b3-4b98-9e2c-7a04f4044aad
Factory of Dreams - Some Kind Of Poetic Destruction: fb7aa1bd-929f-4974-a6c5-899b39bef063
Felix Martin - Caracas: 8f4ce0d2-17af-411b-92a7-629dcf8df8b1
Ficcion - Sobre El Abismo: abd6b8ef-416f-4b3e-8a56-88cdf0acadb9
Ficcion - Sobre La Ira De Dios: bac121d3-6a95-4be1-abc0-75011c0ebb4f
Serge Fiori - Seul ensemble: 59be8847-da85-4202-a9b5-8ed9f02b798a
Flyte - Dawn Dancer: 91f3f046-7155-307e-886f-d95a7594c686
Focus - Focus 3: 99f220e1-1185-41b8-a783-c3e8e9a09ac1
Frequency Drift - Letters to Maro: 301a19ce-39cd-405c-b346-c873fc03b7a2
Frogg Café - Noodles: e2421254-cea9-4845-9b7a-bdf2816183c8
Fuchsia - Fuchsia: 327a4852-c4de-463c-94b8-70c5e71a44bf
Roger Waters - Music From The Body: d1caef98-1725-4d08-9fc8-b04dda1f581e
Hannibal - Hannibal: c9a79c40-6b72-4984-aabe-f9cdd1827b02
Hecenia - La Couleur Du Feu: 7c42ff86-ea63-4a7a-9cee-67905375d662
Hoelderlin - Fata Morgana: 908e7021-83b4-4b8e-ba76-12b3e2dc566e
Iconoclasta - Resurrección: 755bcb48-0d1f-49ee-871b-7b18d3890aad
Iconoclasta - Trece años: 31436928-ac2e-4ce5-bd1a-84f63f2b348c
Jordan Rudess - Rhythm of Time: 90d19b3c-b5ea-4fe4-924c-0e2c55c4661d
Kayak - Periscope Life: df0d63c7-7261-45b1-a3b6-d664c06def4c
KENSO - Fabulis Mirabilibus de Bombycosi Scriptis: a1e9ad90-ae3f-4f48-bb9d-b7fb002fcaef
KENSO - Utsuroi Yuku Mono: 09c35298-266a-49a2-8fd1-5b97a4a90597
Kiko Loureiro - Sounds Of Innocence: d01f9f1f-06e4-4536-8739-c77611c5ee4f
King Crimson - The Power to Believe: feefee36-7605-4304-aac8-9324658e983c
La Tulipe Noire - Matricide: cb1d2738-a930-4c84-89a9-45de284efbf9
Leap Day - From the Days of Deucalion: Chapter 1: 1199d4fe-d6da-4702-89cc-654d3845e1e4
Little Tragedies - Porcelain Pavillion: abc17e23-9c42-4864-b41d-bb977f544ac9
Long Distance Calling - Boundless: 32f3bf83-d59f-4d21-92bc-3c4748ad8306
Los Jaivas - Aconcagua: 53c30a05-f81d-46ac-93bb-48df8083b964
Los Jaivas - Los Jaivas (El Indio): a7a4c6e5-cb50-4c0b-8e68-00051f0d6f9e
Madder Mortem - All Flesh Is Grass: bf4cd602-a35f-484e-b74c-53ace21a96d6
Nick Magnus - Straight On Till Morning: e34a68cb-a9e5-442a-ab62-2097b2e1aaa2
Mandalaband - Mandalaband IV - AD: Sangreal: 248806e1-6f6e-40f3-a03f-05d413a0f56c
Martigan - Stolzenbach: e4ff3bd5-6d6c-457a-a1cd-5055b013c8d0
Felix Martin - Mechanical Nations: 75bc499a-1215-405f-8f15-f15e4f3d8815
Marty Friedman - Tokyo Jukebox: ab92fa09-061f-403e-8c8d-81191a79baa6
Marty Friedman - Tokyo Jukebox 2: 593a637f-3fb7-44fa-bc59-c8307378e944
Mew - No More Stories Are Told Today I'm Sorry They Washed Away No More Stories The World Is Grey I'm Tired Let's Wash Away: 0c1f9a39-bc5b-41ef-b950-b13a2eb15c6e
Mike Oldfield - Earth Moving: 3c5c9d1c-9bd9-4f44-8e44-f925109e01e3
Mind's Eye - A Work Of Art: d6c94522-601c-4e8a-8ea0-90f933b4946f
Mindflowers - Improgressive: 4878b6de-da7d-45fe-ba1b-523ae6298f5f
Mr. Gil - Light and Sound: 7342d85a-590c-4dda-9794-76f968991204
Muse - The Resistance: a43d1eb6-73b0-4b7c-b060-f1dd2fed5393
Neal Morse - It's Not Too Late: 4af73771-f066-43e8-a268-feba484b7004
Nexus - Aire: e687f0e8-a541-409c-9db7-911924eca928
Paidarion - Two Worlds Encounter: 539ba420-de64-43f7-972b-a714bcf89153
Parallel Mind - Colossus Adea: bee8b508-780c-4d0f-bc25-54c9597fd602
Paul Gilbert - Behold Electric Guitar: 48e83b24-c870-440e-a037-20f56c69923c
Pendragon - The Jewel: 78138e3e-96e5-44be-bf5d-294849abda20
Primus - Brown Album: 3bb92962-269f-304c-884f-b81651331565
Procol Harum - Exotic Birds and Fruit: 3b6efb47-1513-4745-80bd-b675c1901eda
Pure Reason Revolution - Amor Vincit Omnia: 30336ee1-aa58-4186-aca1-138f0eb818d2
Raimundo Rodulfo - Dreams: a73b23f5-ec35-4964-a134-bd6630c685ca
Raimundo Rodulfo - Open Mind: 2ed3a7c4-2246-409b-be75-f559b036eed9
RC2 - RC2: 1664d70d-87c0-4863-9779-c4b849694b15
Red Sand - Gentry: 9da7413d-3f98-4619-ba7d-261b6642aa66
Robert Reed - The Ringmaster Part Two: 8f8c7339-69cc-4bc3-aba5-6fd93a104535
Renaissance - Scheherazade and Other Stories: 738e5f94-08be-43b4-a63a-0360e3b12517
Resistor - To the Stars: 8da3a1c0-1f34-48dd-b8ed-f03a28ac0a5a
Risotragia - Risotragia: c2dffd08-daa5-4e87-b49f-6c41c87e4bfa
RPWL - Beyond Man and Time: 9893936e-ad77-4f53-b388-9ab7a9ec0c1c
RPWL - Wanted: e9b224f5-6f35-4303-b1d2-488b2e0b3ae8
Jordan Rudess - A Christmas Carol by Charles Dickens: 2cf72ed4-d27b-4243-a7cc-2b4349315ad3
I santoni - Noi: a0ad8bd8-c29a-4a27-8f5e-dafc58a60f80
Steve Hackett - Please Don’t Touch!: 72944e8d-521b-462d-830c-0abbbcc3e58b
Steve Morse - High Tension Wires: 26e139ff-e4dc-4ebf-9cd0-67c13d61254b
Stolen Earth - A Far Cry From Home: d33ef94c-4b2d-4b0d-b40b-ce28a0c32fe2
Strawbs - From the Witchwood: cadae215-0057-4139-90e2-c2a4ad360110
Strawbs - Hero and Heroine: 942c2e0b-ec4d-4ece-b80a-df54bea31397
The Nice - Five Bridges: 869b8343-be33-4535-9e9a-c53f299082a2
Wishbone Ash - Front Page News: 209ea803-291f-407c-9baf-394884963f74
Wishbone Ash - New England: 6b71b15c-8283-4505-9262-63a3e9e2e078
Wishbone Ash - No Smoke Without Fire: e69243f2-005c-41c9-9169-03680e4db76a
Wishbone Ash - Number the Brave: d438c549-8005-44cc-adb5-c731ac2c7152
Wishbone Ash - The Power of Eternity: e8c59e26-e2fc-436e-ab0f-84062c98b678
Wishbone Ash - Wishbone Ash: 63460127-3348-4f6c-b8cb-d2d32e0e0eda
Contraction - Le Chant Des Choses: 6aefa889-66d1-4495-892a-488dbf13494e

Then rerun $ beet list -af '$albumartist - $album: $mb_albumid' ^albumstatus:official. Result should be zero.

1.9.10. FOLLOWUP Finding and correcting missing genres   manual

Run periodically:

$ beet list genre::^$

This will inspect entries with missing genres.

1.9.11. FOLLOWUP Finding and adding missing cover arts   manual

Run periodically:

$ beet fetchart -q

This will list albums without covers. If findings, add them to Cover Art Archive. Sources for cover art:

You can also run find to double check missing covers. The following should not give any entries:

$ find base_dir -mindepth 2 -maxdepth 2 -type d '!' -exec sh -c 'ls -1 "{}"|egrep -i -q "^cover\.(jpg|png)$"' ';' -print

Lastly, run full library rescan in Neutron to populate the cover.jpg files in its database, or wait for its partial update to register the cover.jpg files (just takes longer).

1.9.12. FOLLOWUP Updating metadata   manual

MBSync plugin fetches metadata from MusicBrainz for albums and tracks that already have MusicBrainz IDs. This is useful for updating tags as they are fixed in the MusicBrainz database. Simulate the changes with:

$ beet mbsync -p

Then write changes with:

$ beet mbsync

Warning: Beware when using $ beet mbsync as it will currently null genre tag because of open bug 4071. Latest status also covered here.

For individual, non-MusicBrainz supported tag modifications, like adding Instrumental tags on track level, do simply something like:

$ beet modify steve howe album:beginnings title:beginnings genre='Crossover Prog, Instrumental'

To change categorically all the genre tags from one to another, do:

$ beet modify genre=another genre::^one$

1.9.13. FOLLOWUP Updating database   manual

Metadata changes and file deletions may cause database mismatches. The update command can be run first with:

$ beet update -p

The -p flag ("pretend") simulates the changes without writing them to tags or musiclibrary.db. Run without the flag to commit the changes to database. Run both commands periodically to inspect the output if there are any entries. After this, run again:

$ beet update -p

It should not give anymore entries.

1.9.14. FOLLOWUP Writing changes to filesystem   manual

Before writing metadata changes from database into music files' tags, check proposed changes first with:

$ beet write -p

Then write changes with:

$ beet write

Run both commands periodically to inspect the output if there are any entries. After this, run:

$ beet update -p

It should not give anymore entries.

1.10. Troubleshooting

1.10.1. DONE Fix characters not showing in terminal

  • Copy some of the ケンソーto another linux box and examine if they're still shown as ケンソー, e.g.:
  • /srv/dev-disk-by-label-data/Music/ケンソー
  • The characters are shown correctly in iOS Neutron Music Player and with fresh installation of Linux Mint and its file explorer.
  • Seems that this is just a font issue (Consolas does not support kanji) with standard WSL-terminal.

1.10.2. DONE Fix weird character conversion with replace config

  • During import artist *shels was renamed as _shels. In tags it is correct.
  • Character replacement like this is done to ensure maximum file name compatibility.
  • Use replace to escape certain filenames, e.g. * in *shels and then park the file to SMB and see if Windows file explorer can read the files when I have SMB catia:mappings enabled.
  • Edit: Seems to be that SMB and Neutron Music Player can't read such artists if leaving such special character in place. Letting it to converse them now with default strings in config.yaml:
'[\\/]': _
'^\.': _
'[\x00-\x1f]': _
'[<>:"\?\*\|]': _
'\.$': _
'\s+$': ''
'^\s+': ''
'^-': _

1.10.3. DONE Clean out dummy database entries indicated by $ beet stats -e

Also reported at Github issue 2450. Resolved by running:

$ beet -vv update mare et terra

tuomas@omv:/srv/dev-disk-by-label-data/Music/Raimundo Rodulfo $ beet -vv stats -e
user configuration: /home/tuomas/.config/beets/config.yaml
data directory: /home/tuomas/.config/beets
plugin paths:
Sending event: pluginload
library database: /home/tuomas/data/musiclibrary.db
library directory: /srv/dev-disk-by-label-data/Music
Sending event: library_opened
could not get size of /srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Náufrago.flac: [Errno 2] No such file or directory: '/srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/N\xc3\xa1ufrago.flac'
could not get size of /srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Libertad.flac: [Errno 2] No such file or directory: '/srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Libertad.flac'
could not get size of /srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Blue.flac: [Errno 2] No such file or directory: '/srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Blue.flac'
could not get size of /srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Thoughts.flac: [Errno 2] No such file or directory: '/srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Thoughts.flac'
could not get size of /srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Thoughts (Part 2).flac: [Errno 2] No such file or directory: '/srv/dev-disk-by-label-data/Music/Non-Album/Raimundo Rodulfo/Thoughts (Part 2).flac'
Tracks: 34348
Total time: 18.5 weeks (11194025.11 seconds)
Total size: 939.3 GiB (1008604640748 bytes)
Artists: 1137
Albums: 3301
Album artists: 1032
Sending event: cli_exit
tuomas@omv:/srv/dev-disk-by-label-data/Music/Raimundo Rodulfo $ beet list mare et terra
Raimundo Rodulfo - Mare et Terra - Náufrago
Raimundo Rodulfo - Mare et Terra - Libertad
Raimundo Rodulfo - Mare et Terra - Blue
Raimundo Rodulfo - Mare et Terra - Thoughts
Raimundo Rodulfo - Mare et Terra - Thoughts (Part 2)
tuomas@omv:/srv/dev-disk-by-label-data/Music/Raimundo Rodulfo $ beet -vv update mare et terra
user configuration: /home/tuomas/.config/beets/config.yaml
data directory: /home/tuomas/.config/beets
plugin paths:
Sending event: pluginload
library database: /home/tuomas/data/musiclibrary.db
library directory: /srv/dev-disk-by-label-data/Music
Sending event: library_opened
Raimundo Rodulfo - Mare et Terra - Náufrago
  deleted
Sending event: database_change
Sending event: item_removed
Raimundo Rodulfo - Mare et Terra - Libertad
  deleted
Sending event: database_change
Sending event: item_removed
Raimundo Rodulfo - Mare et Terra - Blue
  deleted
Sending event: database_change
Sending event: item_removed
Raimundo Rodulfo - Mare et Terra - Thoughts
  deleted
Sending event: database_change
Sending event: item_removed
Raimundo Rodulfo - Mare et Terra - Thoughts (Part 2)
  deleted
Sending event: database_change
Sending event: item_removed
Sending event: cli_exit
tuomas@omv:/srv/dev-disk-by-label-data/Music/Raimundo Rodulfo $

1.10.4. FOLLOWUP Cleaning redundant cover.1.jpg files from disk and beets database

Beets can't current handle references to redundant art files. These resultant cover.1.jpg files need to be somehow deleted. Post a question of this to Github if this is still possible. Ask if it's know how this can be reproduced and post the reprosteps for fixing.

As a temporary workaround, I can run recursive find every now and then and find left behind directories with nothing else than cover.jpg in them:

tuomas@omv:/srv/dev-disk-by-label-data/Music $ find . -type d -exec bash -O dotglob -c '
     for dirpath do
         ok=true
         seen_files=false
         set -- "$dirpath"/*
         for name do
             [ -d "$name" ] && continue  # skip dirs
             seen_files=true
             case "${name##*/}" in
                 *.jpg) ;; # do nothing
                 *) ok=false; break
             esac
         done

         "$seen_files" && "$ok" && printf "%s\n" "$dirpath"
     done' bash {} +
./Rick Wakeman/1999 - The Natural World Trilogy
./Rick Wakeman/1975 - The Myths and Legends of King Arthur and the Knights of the Round Table
./Peter Gabriel/1978 - Peter Gabriel
./Solstice/The Cropredy Set
./Iconoclasta/1987 - Suite Mexicana _ Soliloquio
./Simak Dialog/Demi Masa
./Pendragon/1985 - The Jewel
./Grobschnitt/1974 - Ballermann
./Grobschnitt/1980 - Illegal
./Madder Mortem/2002 - Deadlands
./Madder Mortem/2006 - Desiderata
./Madder Mortem/1999 - Mercury
./Madder Mortem/2001 - All Flesh Is Grass
./Madder Mortem/2009 - Eight Ways
./MONO & world’s end girlfriend/2005 - Palmless Prayer _ Mass Murder Refrain
./Steve Hackett with Royal Philharmonic Orchestra/1997 - A Midsummer Night’s Dream
./Barclay James Harvest/1997 - Mocking Bird
./Barclay James Harvest/1985 - The Compact Story of Barclay James Harvest
./Barclay James Harvest/1990 - Alone We Fly
./Steve Vai/1995 - Alien Love Secrets
./Supernal Endgame/Touch The Sky - Volume I
./Pandea/Soylent Green
./Moody Blues, The/1969 - On the Threshold of a Dream
./Third Quadrant/Layered
./Déjà-Vu/1976 - Between The Leaves
./José Cid/1978 - 10.000 Anos Depois Entre Vénus e Marte
./Stolen Earth/A Far Cry From Home
./Wishbone Ash/1977 - Front Page News
./Wishbone Ash/1970 - Wishbone Ash
./Ragnarök/1976 - Ragnarök
./Deadsoul Tribe/Deadsoul Tribe
./Roger Waters/1999 - Music From The Body
./Mike Oldfield/1989 - Earth Moving
./Barclay James Harvest featuring Les Holroyd/2002 - Revolution Days
./Cressida/1971 - Asylum
./Paul Gilbert/2018 - Behold Electric Guitar
./Red Sand/2008 - Gentry
./Strawbs/1971 - From the Witchwood
./Strawbs/1974 - Hero and Heroine
./Marty Friedman/2009 - Tokyo Jukebox
./Fuchsia/1971 - Fuchsia
./Amos Key/1994 - First Key
./Ekseption/1969 - Ekseption
./Camel/1979 - I Can See Your House From Here
./Camel/1982 - The Single Factor
./Camel/1975 - The Snow Goose
tuomas@omv:/srv/dev-disk-by-label-data/Music $

However, deleting those from the disk requires still me to clean the database.

1.11. Observations and future direction

1.11.1. NEXT While rerunning the script against ../Music/, observe length errors

  1. Change config option

:# Re-analyze files that already have ReplayGain tags. Default: no.

overwrite: yes=

to no.

Length errors:

/srv/dev-disk-by-label-data/Music/After Crying/Almost Pure Instrumental (14 items)
Tagging:
    After Crying - Almost Pure Instrumental
URL:
    https://musicbrainz.org/release/cbc194b2-2190-4d7b-a072-5dcb3eb43ed6
(Similarity: 98.2%) (tracks) (1998, HU)
 * Aqua (2:57)            -> Aqua (1:58) (length)
 * Windblown Waltz (4:50) -> Windblown Waltz (3:09) (length)

/srv/dev-disk-by-label-data/Music/After Crying/Föld és ég (11 items)
Tagging:
    After Crying - Föld és ég
URL:
    https://musicbrainz.org/release/21fae2b5-d848-4b06-86f4-22a430918c50
(Similarity: 99.7%) (tracks) (CD, 1994, HU, Periferic Records, BG CD 002)
 * Cisz-dúr koncertetűd (3:22) -> Cisz-dúr koncertetűd (3:10) (length)
 * Kétezer év (13:21)          -> Kétezer év (13:39) (length)

/srv/dev-disk-by-label-data/Music/Ageness/Rituals (11 items)
Tagging:
    Ageness - Rituals
URL:
    https://musicbrainz.org/release/8a1d0270-c993-41d2-bff3-340a59996084
(Similarity: 97.9%) (tracks) (CD, 1995, FI, AGSCD-9)
 * Forever Returns (5:45)        -> Forever Returns (6:20) (length)
 * Chainsaw Murders (3:58)       -> Chainsaw Murders (4:15) (length)
 * Polyphemus (6:12)             -> Polyphemus (6:35) (length)
 * Take Us All (3:54)            -> Take Us All (3:40) (length)
 * Mortal Wings Of Sin II (9:48) -> Mortal Wings Of Sin II (10:15) (length)

/srv/dev-disk-by-label-data/Music/Ageness/Scarab (15 items)
Tagging:
    Ageness - Scarab
URL:
    https://musicbrainz.org/release/fbdf788b-9a89-4290-a78b-7d275df93c00
(Similarity: 99.9%) (tracks) (CD, 1995, FI, AGSCD-8)
 * Sand Finale (1:16) -> Sand Finale (1:02) (length)

/srv/dev-disk-by-label-data/Music/Agents of Mercy/The Black Forest (8 items)
Tagging:
    Agents of Mercy - The Black Forest
URL:
    https://musicbrainz.org/release/02872b7b-7461-46b4-b102-37faf67fba25
(Similarity: 99.4%) (tracks) (CD, 2011, SE, Foxtrot Records)
 * Freak of Life (7:57) -> Freak of Life (8:22) (length)

/srv/dev-disk-by-label-data/Music/Also Eden/Think of the Children! (9 items)
Tagging:
    Also Eden - Think of the Children!
URL:
    https://musicbrainz.org/release/22a9f5ea-09d5-4486-a0cd-2808e4c4446c
(Similarity: 100.0%) (tracks) (CD, 2011, GB, Festival Music, 201110)
 * The Greater Game (9:17) -> The Greater Game (9:28) (length)

/srv/dev-disk-by-label-data/Music/Alternative 4/The Brink (9 items)
Tagging:
    Alternative 4 - The Brink
URL:
    https://musicbrainz.org/release/52850759-9681-429c-90c5-76f9a6909503
(Similarity: 99.3%) (tracks) (CD, 2011, IT, Avantgarde Music, AV209)
 * Still Waters (7:12)     -> Still Waters (7:41) (length)
 * The Dumbing Down (5:36) -> The Dumbing Down (5:48) (length)

/srv/dev-disk-by-label-data/Music/Ambeon/Fate of a Dreamer (10 items)
Tagging:
    Ambeon - Fate of a Dreamer
URL:
    https://musicbrainz.org/release/76842f2f-3713-45b4-b8bf-33b8cde0ca08
(Similarity: 99.0%) (tracks) (CD, 2001, NL, Transmission Records, TM-030)
 * Cold Metal (4:29) -> Cold Metal (6:52) (length)

/srv/dev-disk-by-label-data/Music/Anathema/A Fine Day to Exit (9 items)
Tagging:
    Anathema - A Fine Day to Exit
URL:
    https://musicbrainz.org/release/9229d9a7-186d-4d0a-8eb7-95175789ed7c
(Similarity: 98.9%) (tracks) (Digital Media, 2006, XW, Sony BMG Music Entertainment)
 * Temporary Peace / In the Dog’s House (13:32) -> Temporary Peace / In the Dog’s House (18:26) (length)

/srv/dev-disk-by-label-data/Music/Anathema/Serenades (12 items)
Tagging:
    Anathema - Serenades
URL:
    https://musicbrainz.org/release/08bd0893-d2b6-41f4-ada3-5ae1f8255e92
(Similarity: 99.1%) (tracks) (CD, 2000, RU, Спюрк, M - 383)
 * Dreaming: The Romance (8:02) -> Dreaming: The Romance (23:23) (length)

/srv/dev-disk-by-label-data/Music/Anyone’s Daughter/Danger World (11 items)
Tagging:
    Anyone’s Daughter - Danger World
URL:
    https://musicbrainz.org/release/baa31e5e-8901-4826-886d-ad4e01fdcb15
(Similarity: 99.1%) (tracks) (CD, 2001, ePark Music Production GmbH, 367.3006.2)
 * Moria (4:09) -> Moria (4:46) (length)

/srv/dev-disk-by-label-data/Music/Anyone’s Daughter/In Blau (9 items)
Tagging:
    Anyone’s Daughter - In Blau
URL:
    https://musicbrainz.org/release/d98f6597-7813-4a19-8a45-7ba0ddc8c418
(Similarity: 99.6%) (tracks) (CD, 2012, DE, Tempus Fugit, 80522)
 * Nach diesem Tag (4:11) -> Nach diesem Tag (4:00) (length)
 * La la (3:20)           -> La la (3:10) (length)
 * Sonne (4:48)           -> Sonne (4:30) (length)

/srv/dev-disk-by-label-data/Music/Apocalypse/2012 Light Years From Home (12 items)
Tagging:
    Apocalypse - 2012 Light Years From Home
URL:
    https://musicbrainz.org/release/78a87412-ded4-4aea-8ee2-cb6c885bb655
(Similarity: 100.0%) (tracks) (CD, 2011, BR)
 * Find Me Now (2:45) -> Find Me Now (2:35) (length)

/srv/dev-disk-by-label-data/Music/Archive/Controlling Crowds The Complete Edition Parts I-IV (24 items)
Tagging:
    Archive - Controlling Crowds The Complete Edition Parts I-IV
URL:
    https://musicbrainz.org/release/2d620d42-98de-4cd6-b406-3d8ffee49c7a
(Similarity: 99.8%) (tracks) (2xCD, 2009, FR, Warner Music France, 2564686603)
CD 1: The Complete Edition Parts I-III
 * Bullets (5:53) -> Bullets (5:33) (length)
CD 2: The Complete Edition Part IV

/srv/dev-disk-by-label-data/Music/Arcturus/La Masquerade infernale (8 items)
Tagging:
    Arcturus - La Masquerade infernale
URL:
    https://musicbrainz.org/release/5d5fc9cd-a90a-3907-9657-835891ece923
(Similarity: 98.8%) (tracks) (CD, 2003, GB, Candlelight Records, candle078cd)
 * Master of Disguise (8:11) -> Master of Disguise (6:43) (length)

/srv/dev-disk-by-label-data/Music/Azazello/Седьмое Небо (7 items)
Tagging:
    Azazello - Седьмое Небо
URL:
    https://musicbrainz.org/release/df0c8449-8fc3-449f-9bb8-4bf9c4ff6107
(Similarity: 98.7%) (tracks) (CD, 2004, RU, Starless Records, STR-06)
 * Тайна (8:17) -> Тайна (8:29) (length)
 * Благо (9:56) -> Благо (2:59) (length)

/srv/dev-disk-by-label-data/Music/Barclay James Harvest/Eyes of the Universe (8 items)
Tagging:
    Barclay James Harvest - Eyes of the Universe
URL:
    https://musicbrainz.org/release/b44193e8-64b0-49c1-947f-45d9f1583af0
(Similarity: 98.6%) (tracks) (12" Vinyl, 1979, GB)
 * Love on the Line (4:45)             -> Love on the Line (4:30) (length)
 * The Song (They Love to Sing) (6:15) -> The Song (They Love to Sing) (5:51) (length)
 * Skin Flicks (6:54)                  -> Skin Flicks (6:41) (length)
 * Sperratus (5:04)                    -> Sperratus (4:53) (length)
 * Rock'n Roll Lady (4:34)             -> Rock'n Roll Lady (4:22) (length)
 * Capricorn (4:35)                    -> Capricorn (4:15) (length)
 * Play to the World (7:02)            -> Play to the World (6:50) (length)

/srv/dev-disk-by-label-data/Music/Barclay James Harvest/Glasnost (12 items)
Tagging:
    Barclay James Harvest - Glasnost
URL:
    https://musicbrainz.org/release/d8eef8ce-e04f-4ebe-97c5-66755309e89c
(Similarity: 99.1%) (tracks) (CD, 1988, DE, Polydor, 835 590-2)
 * On the Wings of Love (6:19) -> On the Wings of Love (4:47) (length)

/srv/dev-disk-by-label-data/Music/Barclay James Harvest/XII (11 items)
Tagging:
    Barclay James Harvest - XII
URL:
    https://musicbrainz.org/release/479589fc-3a35-4473-bedc-5c2b20207204
(Similarity: 99.9%) (tracks) (1978, GB, Polydor)
 * Giving It Up (4:49) -> Giving It Up (4:37) (length)

/srv/dev-disk-by-label-data/Music/Beggars Opera/Lose A Life (6 items)
Correcting tags from:
    Beggars Opera - Lose A Life
To:
    Beggars Opera - Lose a Life
URL:
    https://musicbrainz.org/release/4e087992-8788-480f-bd33-20288352aefd
(Similarity: 99.6%) (tracks) (CD, 2011)
 * Electrofire Invasion (11:34) -> Electrofire Invasion (11:53) (length)
Error: MusicBrainz not reachable in get release by ID with query u'413e96f0-33f0-407d-89ef-08ea7e7af09f'

/srv/dev-disk-by-label-data/Music/Beggars Opera/Sagittary (10 items)
Tagging:
    Beggars Opera - Sagittary
URL:
    https://musicbrainz.org/release/dad1002d-d331-4dc1-b8a1-03c7f5561013
(Similarity: 96.7%) (tracks) (Vinyl, 1974)
 * Freedom Song (2:55)      -> Freedom Song (3:19) (length)
 * Something To Lose (4:28) -> Something To Lose (2:58) (length)
 * I'm The Music Man (2:53) -> I'm The Music Man (4:23) (length)
 * Jack The Ripper (3:21)   -> Jack The Ripper (2:52) (length)

/srv/dev-disk-by-label-data/Music/Birth Control/Plastic People (6 items)
Tagging:
    Birth Control - Plastic People
URL:
    https://musicbrainz.org/release/0486a22b-8367-4ce4-bb0b-0f353796547c
(Similarity: 97.4%) (tracks) (12" Vinyl, 1975, DE, CBS, CBS 80 921)
 * Tiny Flashlights (5:42)       -> Tiny Flashlights (7:35) (length)
 * Rockin' Rollin' Roller (7:36) -> Rockin' Rollin' Roller (5:43) (length)

/srv/dev-disk-by-label-data/Music/Blackfield/Blackfield (13 items)
Tagging:
    Blackfield - Blackfield
URL:
    https://musicbrainz.org/release/782b9d4f-de8f-4bf7-8d28-bfd77a5768e3
(Similarity: 99.1%) (tracks) (CD, 2005, US, KOCH Entertainment, KOC-CD-9685)
 * Hello (3:09) -> Hello (4:06) (length)

/srv/dev-disk-by-label-data/Music/Blackmore’s Night/Fires at Midnight (17 items)
Tagging:
    Blackmore’s Night - Fires at Midnight
URL:
    https://musicbrainz.org/release/929678cf-cd1b-42a0-8270-e7e92c715b42
(Similarity: 99.5%) (tracks) (Enhanced CD, 2001, DE, Steamhammer, SPV 088-72430 CDE, Limited boxed edition with bonus track and video)
 * Possum's Last Dance (3:13) -> Possum's Last Dance (2:41) (length)

/srv/dev-disk-by-label-data/Music/Bob Katsionis/Imaginary Force (12 items)
Tagging:
    Bob Katsionis - Imaginary Force
URL:
    https://musicbrainz.org/release/5c2e4a2f-d9ed-4e16-85c0-e777201e57e8
(Similarity: 98.9%) (tracks) (CD, 2004, Lion Music, LMC 094)
 * St.Pervert (3:58)                 -> St.Pervert (5:05) (length)
 * Tsifteteli (Overture 1821) (5:56) -> Tsifteteli (Overture 1821) (5:41) (length)

/srv/dev-disk-by-label-data/Music/Bodkin/Bodkin (5 items)
Tagging:
    Bodkin - Bodkin
URL:
    https://musicbrainz.org/release/35bd5f3e-9f39-4b4c-9e6a-f57f9a6356fc
(Similarity: 99.9%) (tracks) (1972, GB)
 * Aunty Mary's Trashcan (10:40) -> Aunty Mary's Trashcan (10:53) (length)

/srv/dev-disk-by-label-data/Music/Camel/The Snow Goose (16 items)
Tagging:
    Camel - The Snow Goose
URL:
    https://musicbrainz.org/release/b7fef05b-0968-41f7-821a-25187486c497
(Similarity: 100.0%) (tracks) (12" Vinyl, 1975, GB, Decca Records, SKL-R 5207)
 * La princesse perdue (4:57) -> La princesse perdue (4:45) (length)

/srv/dev-disk-by-label-data/Music/Catharsis/32 Mars (4 items)
Tagging:
    Catharsis - 32 Mars
URL:
    https://musicbrainz.org/release/c80deeca-0220-42b8-9561-b4be7f025228
(Similarity: 98.3%) (tracks) (12" Vinyl, 1972, FR, Galloway Records, GB 600507)
 * 32 Mars (11:04)     -> 32 Mars (11:30) (length)
 * Les Chevrons (4:58) -> Les Chevrons (4:30) (length)

/srv/dev-disk-by-label-data/Music/Chroma Key/Dead Air for Radios (9 items)
Tagging:
    Chroma Key - Dead Air for Radios
URL:
    https://musicbrainz.org/release/4aef7c61-b1b5-4222-804c-8f81e9af3a78
(Similarity: 99.1%) (tracks) (Digital Media, 2007, US, Fight Evil Records, FE 001)
 * Mouse (5:05) -> Mouse (5:41) (length)

/srv/dev-disk-by-label-data/Music/Clearlight/Impressionist Symphony (8 items)
Tagging:
    Clearlight - Impressionist Symphony
URL:
    https://musicbrainz.org/release/854f9674-c8a9-4f7e-9030-8eb523a45b7d
(Similarity: 98.8%) (tracks) (CD, 2014, GB, Gonzo Multimedia, HST214CD)
 * Renoir En Couleur (8:02) -> Renoir En Couleur (9:03) (length)

/srv/dev-disk-by-label-data/Music/Collage/Moonshine (8 items)
Tagging:
    Collage - Moonshine
URL:
    https://musicbrainz.org/release/e7afe26a-893b-3cb5-bab1-8c673e4f75a9
(Similarity: 98.8%) (tracks) (CD, 1994, NL, SI Music, SIMPly 58 / SI3058-2)
 * War Is Over (6:29) -> War Is Over (5:27) (length)

/srv/dev-disk-by-label-data/Music/Colosseum/Those Who Are About to Die Salute You (14 items)
Tagging:
    Colosseum - Those Who Are About to Die Salute You
URL:
    https://musicbrainz.org/release/fdbe30de-93ab-4c8b-b483-8239fd643acd
(Similarity: 99.9%) (tracks) (CD, 2004, XE, Sanctuary Midline, SMQCD096, Deluxe Edition, Reissue)
 * A White Spade Than Mayall (4:38) -> A White Spade Than Mayall (4:50) (length)

/srv/dev-disk-by-label-data/Music/Comedy of Errors/Fanfare & Fantasy (9 items)
Tagging:
    Comedy of Errors - Fanfare & Fantasy
URL:
    https://musicbrainz.org/release/0778c307-c6ed-431f-86cf-d45b0f4ddee0
(Similarity: 99.3%) (tracks) (CD, 2013, GB, COE002)
 * The Answer (9:58) -> The Answer (9:30) (length)

/srv/dev-disk-by-label-data/Music/Cosmos/The Deciding Moments of Your Life (11 items)
Tagging:
    Cosmos - The Deciding Moments of Your Life
URL:
    https://musicbrainz.org/release/e11bdff2-ae78-4aba-bdee-66773851547b
(Similarity: 99.7%) (tracks) (CD, 1994, CH, Voices Music, DFP 55196-60182, Reissue)
 * Just a Little Pinprick (4:58) -> Just a Little Pinprick (4:41) (length)

/srv/dev-disk-by-label-data/Music/Counter-World Experience/Always Home_ (8 items)
Tagging:
    Counter-World Experience - Always Home.
URL:
    https://musicbrainz.org/release/76ebc18e-ef58-4a51-bbd3-1340e26d2346
(Similarity: 98.8%) (tracks) (2002, DE)
 * The Quest (5:30) -> The Quest (3:47) (length)

/srv/dev-disk-by-label-data/Music/Cross/Wake Up Call (6 items)
Tagging:
    Cross - Wake Up Call
URL:
    https://musicbrainz.org/release/7549883b-797c-4192-81c9-ca8a449a1382
(Similarity: 99.2%) (tracks) (CD, 2012)
 * Waking Up (17:55) -> Waking Up (17:28) (length)

/srv/dev-disk-by-label-data/Music/Czar/Czar (15 items)
Tagging:
    Czar - Czar
URL:
    https://musicbrainz.org/release/8ced230c-f7d8-4220-911c-de3df8e941ad
(Similarity: 100.0%) (tracks) (CD, 2007, GB, Sunbeam Records, SBRCD5040)
 * Ritual Fire Dance (7:39) -> Ritual Fire Dance (7:50) (length)

/srv/dev-disk-by-label-data/Music/Daal/Destruktive Actions Affect Livings (9 items)
Tagging:
    Daal - Destruktive Actions Affect Livings
URL:
    https://musicbrainz.org/release/dd34745e-c87c-4f8e-8536-525aa37ee9a2
(Similarity: 98.4%) (tracks) (CD, 2011, IT, AgLa Records, CD 02)
 * Anarchrist (6:45)                                -> Anarchrist (7:00) (length)
 * The Dance Of The Drastic Navels Part. II (16:54) -> The Dance Of The Drastic Navels Part. II (16:35) (length)
 * Aglatarium (5:22)                                -> Aglatarium (4:15) (length)

/srv/dev-disk-by-label-data/Music/Dalton/Riflessioni_ Idea d'infinito (6 items)
Tagging:
    Dalton - Riflessioni: Idea d'infinito
URL:
    https://musicbrainz.org/release/c052b4b3-6491-3283-a1e1-2eececa18b9e
(Similarity: 98.7%) (tracks) (CD, 1989, IT, Vinyl Magic, VM 012)
 * Dimensione lavoro (6:42) -> Dimensione lavoro (12:29) (length)

/srv/dev-disk-by-label-data/Music/David Gilmour/About Face (10 items)
Tagging:
    David Gilmour - About Face
URL:
    https://musicbrainz.org/release/b8c90d62-0e36-350d-b79c-3186fe33a01d
(Similarity: 99.8%) (tracks) (2006, AU)
 * Near the End (5:50) -> Near the End (5:36) (length)

/srv/dev-disk-by-label-data/Music/De Profundis/Beyond Redemption (5 items)
Tagging:
    De Profundis - Beyond Redemption
URL:
    https://musicbrainz.org/release/7c239b3f-65ea-4bf6-ab4c-fd0416bf47e8
(Similarity: 96.8%) (tracks) (CD, 2007, GB, [none])
 * Delusion of Life (9:17)    -> Delusion of Life (10:46) (length)
 * A Caustic Vexation (10:50) -> A Caustic Vexation (9:12) (length)
 * Into Eternity (4:41)       -> Into Eternity (4:25) (length)

/srv/dev-disk-by-label-data/Music/Dead Heroes Club/A Time of Shadow (6 items)
Tagging:
    Dead Heroes Club - A Time of Shadow
URL:
    https://musicbrainz.org/release/4a318170-c7f0-4466-8eb9-e8e6da663d6c
(Similarity: 99.5%) (tracks) (2009, IE)
 * The Sleepers Are Waking (4:36) -> The Sleepers Are Waking (4:15) (length)

/srv/dev-disk-by-label-data/Music/Dead Heroes Club/Dead Heroes Club (9 items)
Tagging:
    Dead Heroes Club - Dead Heroes Club
URL:
    https://musicbrainz.org/release/f73f69ce-0cd1-4a9b-b178-fb30529d7065
(Similarity: 98.9%) (tracks) (CD, 2004, IE)
 * A Secret Never to be Told (12:45) -> A Secret Never to be Told (10:24) (length)

/srv/dev-disk-by-label-data/Music/Deathspell Omega/Infernal Battles (8 items)
Tagging:
    Deathspell Omega - Infernal Battles
URL:
    https://musicbrainz.org/release/dfde7d73-e337-4a5a-9686-8bed5d346b12
(Similarity: 99.8%) (tracks) (12" Vinyl, 2000, FI, Northern Heritage, NH-008)
 * Extinction of the Weak (5:13)        -> Extinction of the Weak (5:26) (length)
 * The Ancient Presence Revealed (5:28) -> The Ancient Presence Revealed (5:39) (length)

/srv/dev-disk-by-label-data/Music/Demian Clav/Wisteria Lodge (9 items)
Tagging:
    Demian Clav - Wisteria Lodge
URL:
    https://musicbrainz.org/release/e18d4d2a-37be-4b6b-9d9b-37f9288cfea5
(Similarity: 99.8%) (tracks) (CD, 2011, FR, Prikosnovénie, PRIK147)
 * Winter Lies Sonata (7:19) -> Winter Lies Sonata (7:05) (length)

/srv/dev-disk-by-label-data/Music/Devin Townsend Project/Ki (13 items)
Tagging:
    Devin Townsend Project - Ki
URL:
    https://musicbrainz.org/release/f92a878b-4f1e-3115-acba-34128870e6c0
(Similarity: 98.5%) (catalognum, label) (CD, 2009, US, Inside Out Music, IOMCD 321)

/srv/dev-disk-by-label-data/Music/Diagonal/Diagonal (5 items)
Tagging:
    Diagonal - Diagonal
URL:
    https://musicbrainz.org/release/39e51499-6eee-40bb-af42-e8c37bb846ae
(Similarity: 98.7%) (tracks) (CD, 2008, US, Candlelight Records USA, CDL432CD)
 * Pact (14:00) -> Pact (14:37) (length)

/srv/dev-disk-by-label-data/Music/Disperse/Journey Through the Hidden Gardens (9 items)
Tagging:
    Disperse - Journey Through the Hidden Gardens
URL:
    https://musicbrainz.org/release/4a2c4e62-1cf4-47bb-96f4-b3b748aed476
(Similarity: 99.7%) (tracks) (CD, 2010, PL, ProgTeam Management, PT_002)
 * Entering Newlands        -> Entering New Lands
 * On the Windows of a Dove -> On the Wings of a Dove (title)

/srv/dev-disk-by-label-data/Music/Dixie Dregs/What If (8 items)
Tagging:
    Dixie Dregs - What If
URL:
    https://musicbrainz.org/release/c42dde7e-953d-437a-ac83-71a42dee6427
(Similarity: 99.9%) (tracks) (12" Vinyl, 1978, CA, Capricorn Records, CPN 0203)
 * Night Meets Light (7:46) -> Night Meets Light (7:58) (length)

/srv/dev-disk-by-label-data/Music/Don Caballero/What Burns Never Returns (8 items)
Tagging:
    Don Caballero - What Burns Never Returns
URL:
    https://musicbrainz.org/release/7e5af94a-6e11-4bb4-99ba-177d322027fa
(Similarity: 98.2%) (tracks) (CD, 1998, US, Touch and Go Records, TG185CD)
 * Slice Where You Live Like Pie (6:22) -> Slice Where You Live Like Pie (5:09) (length)
 * Room Temperature Suite (5:06)        -> Room Temperature Suite (5:31) (length)

/srv/dev-disk-by-label-data/Music/Dr. Dopo Jam/Fat Dogs & Danishmen (11 items)
Tagging:
    Dr. Dopo Jam - Fat Dogs & Danishmen
URL:
    https://musicbrainz.org/release/5263bf76-634d-459e-83a0-b3cb184c009b
(Similarity: 99.0%) (tracks) (Vinyl, 1974, DE, Zebra, 2949 012)
 * Surfin' in Sahara (2:51) -> Surfin' in Sahara (3:50) (length)

/srv/dev-disk-by-label-data/Music/Druckfarben/Druckfarben (9 items)
Tagging:
    Druckfarben - Druckfarben
URL:
    https://musicbrainz.org/release/e9ce155a-837a-4516-96fa-82a6ad5dc813
(Similarity: 98.9%) (tracks) (Digital Media, 2011, XW)
 * Dead Play Awake (6:47) -> Dead Play Awake (7:33) (length)

/srv/dev-disk-by-label-data/Music/Dün/Eros (8 items)
Tagging:
    Dün - Eros
URL:
    https://musicbrainz.org/release/83c5c266-ed14-425d-ac9d-1b5613d33291
(Similarity: 100.0%) (CD, 2000, FR, Soleil Zeuhl, 03)
 * L'épice -> L’Épice

/srv/dev-disk-by-label-data/Music/East of the Wall/Redaction Artifacts (11 items)
Tagging:
    East of the Wall - Redaction Artifacts
URL:
    https://musicbrainz.org/release/167d66ea-86aa-4808-aad6-054966dee384
(Similarity: 99.0%) (tracks) (CD, 2013, US, Translation Loss Records, TL 73-2)
 * Noir Filter (10:06) -> Noir Filter (1:46) (length)

/srv/dev-disk-by-label-data/Music/echolyn/Cowboy Poems Free (14 items)
Tagging:
    echolyn - Cowboy Poems Free
URL:
    https://musicbrainz.org/release/a7032288-d310-4682-ba05-5d4be1520eea
(Similarity: 100.0%) (tracks) (CD, 2008, US, new mix)
 * 1729 Broadway (6:12) -> 1729 Broadway (6:01) (length)

/srv/dev-disk-by-label-data/Music/Eclipse Sol-Air/Bartok's Crisis (9 items)
Tagging:
    Eclipse Sol-Air - Bartok's Crisis
URL:
    https://musicbrainz.org/release/d1f0e3e6-5c18-4e6c-ba76-2add85b50e42
(Similarity: 98.9%) (tracks) (CD, 2010, XE, TLM Productions, 37912)
 * Benedictus (11:07) -> Benedictus (13:02) (length)

/srv/dev-disk-by-label-data/Music/Egg/The Civil Surface (7 items)
Tagging:
    Egg - The Civil Surface
URL:
    https://musicbrainz.org/release/93775a6b-cffe-32c7-9f01-96641234b1d9
(Similarity: 99.8%) (tracks) (CD, 2003, XE, Mason Records, MR 56411)
 * Nearch (3:11) -> Nearch (3:27) (length)

/srv/dev-disk-by-label-data/Music/Electric Light Orchestra/Zoom (15 items)
Tagging:
    Electric Light Orchestra - Zoom
URL:
    https://musicbrainz.org/release/fc364124-9867-42c2-86ae-b603412e7993
(Similarity: 99.8%) (tracks) (CD, 2013, IT, Frontiers Records, FR CD 596)
 * Turn to Stone (live From CBS Television City) (3:21) -> Turn to Stone (live From CBS Television City) (3:40) (length)

/srv/dev-disk-by-label-data/Music/Electric Sandwich/Electric Sandwich (7 items)
Tagging:
    Electric Sandwich - Electric Sandwich
URL:
    https://musicbrainz.org/release/ae8fbf99-0e9d-411d-bfde-b79aa1fbe055
(Similarity: 99.6%) (tracks) (12" Vinyl, 1972, DE, Brain, BRAIN 1018)
 * Archie's Blues (4:58) -> Archie's Blues (4:40) (length)

/srv/dev-disk-by-label-data/Music/Electromagnets/Electromagnets II (9 items)
Tagging:
    Electromagnets - Electromagnets II
URL:
    https://musicbrainz.org/release/57470a67-881a-42a2-ad88-f03c7cd4e8de
(Similarity: 99.0%) (tracks) (CD, 2008)
 * Hunting Season (2:40) -> Hunting Season (2:04) (length)

/srv/dev-disk-by-label-data/Music/Elegant Simplicity/Too Many Goodbyes (7 items)
Tagging:
    Elegant Simplicity - Too Many Goodbyes
URL:
    https://musicbrainz.org/release/1940bfaa-68ec-4562-8795-b4f32e45da0b
(Similarity: 99.7%) (tracks) (CD, 2007)
 * Kiss Away The Pain (12:37) -> Kiss Away The Pain (12:54) (length)

/srv/dev-disk-by-label-data/Music/Enya/A Day Without Rain (12 items)
Tagging:
    Enya - A Day Without Rain
URL:
    https://musicbrainz.org/release/6d3f7acb-77a4-48fa-a292-c2b6b8db32d1
(Similarity: 99.1%) (tracks) (CD, 2000, JP, wea, WPCR-11000, Track 11, Isobella, is different from the EU / US releases.)
 * Isobella (3:10) -> Isobella (4:30) (length)

/srv/dev-disk-by-label-data/Music/Enya/The Memory of Trees (11 items)
Tagging:
    Enya - The Memory of Trees
URL:
    https://musicbrainz.org/release/b964c445-4bbd-485c-8b64-67dc43a32957
(Similarity: 100.0%) (tracks) (CD, 1995, US, Reprise Records, 9 46106-2)
 * China Roses (4:38) -> China Roses (4:49) (length)

/srv/dev-disk-by-label-data/Music/Epsilon/Move On (9 items)
Tagging:
    Epsilon - Move On
URL:
    https://musicbrainz.org/release/8eb51939-9cbe-4368-a1ae-6ce8db487be6
(Similarity: 98.6%) (tracks) (CD, 1993, DE, Bacillus Records, 288·09·118, Reissue)
 * Reichelsheim (5:00)   -> Reichelsheim (4:10) (length)
 * Hear Me Cryin' (5:28) -> Hear Me Cryin' (5:10) (length)

/srv/dev-disk-by-label-data/Music/Erik Norlander/Threshold (18 items)
Tagging:
    Erik Norlander - Threshold
URL:
    https://musicbrainz.org/release/47049626-2f0c-4c1b-abce-d5bde27e8c46
(Similarity: 99.3%) (tracks) (2xCD, 2004, US, Think Tank Media, TTMCD-1035, Special Edition)
CD 1: Threshold Remastered
CD 2: Live and Alternate Versions
 * Neurosaur (Machine mix) (5:26) -> Neurosaur (Machine mix) (7:58) (length)

/srv/dev-disk-by-label-data/Music/Finch/Glory of the Inner Force (6 items)
Tagging:
    Finch - Glory of the Inner Force
URL:
    https://musicbrainz.org/release/156031bc-51bd-414e-9bc3-4289bf509800
(Similarity: 98.7%) (tracks) (CD, 1994, NL, Pseudonym Records, CDP 1011 DD, Limited Edition)
 * A Bridge to Alice (34:52) -> A Bridge to Alice (13:12) (length)

/srv/dev-disk-by-label-data/Music/Fish/Suits (10 items)
Tagging:
    Fish - Suits
URL:
    https://musicbrainz.org/release/510646e2-c380-4f93-8f20-50c7f48b0c0c
(Similarity: 98.8%) (tracks) (CD, 1994, XE, Dick Bros Record Company, DDick4CD(GAS), Limited Edition)
 * Lady Let It Lie (4:08) -> Lady Let It Lie (6:53) (length)
 * Fortunes of War (8:07) -> Fortunes of War (7:51) (length)

/srv/dev-disk-by-label-data/Music/Flash/In the Can (5 items)
Tagging:
    Flash - In the Can
URL:
    https://musicbrainz.org/release/43c6f46f-b276-459e-9f9b-3d2a3c43dab9
(Similarity: 98.6%) (tracks) (Vinyl, 1972, GB, Sovereign, SVNA 7255)
 * There No More (10:30) -> There No More (11:32) (length)

/srv/dev-disk-by-label-data/Music/Focus/Focus 3 (10 items)
Tagging:
    Focus - Focus 3
URL:
    https://musicbrainz.org/release/99f220e1-1185-41b8-a783-c3e8e9a09ac1
(Similarity: 99.5%) (tracks) (12" Vinyl, 1972, Sire Records, SAS-3901)
 * Carnival Fugue (6:16)           -> Carnival Fugue (6:02) (length)
 * Anonymus II (Conclusion) (7:48) -> Anonymus II (Conclusion) (7:30) (length)
 * Elspeth of Nottingham (3:03)    -> Elspeth of Nottingham (3:15) (length)

/srv/dev-disk-by-label-data/Music/FROM.UZ/Quartus Artifactus (9 items)
Tagging:
    FROM.UZ - Quartus Artifactus
URL:
    https://musicbrainz.org/release/7fd2da0c-2cc3-4935-a7d9-8bbd1622beb2
(Similarity: 99.3%) (tracks) (CD, 2011, US, 10T Records, 10T10048)
 * Parallels (19:32) -> Parallels (20:01) (length)

/srv/dev-disk-by-label-data/Music/Frumpy/All Will Be Changed (11 items)
Tagging:
    Frumpy - All Will Be Changed
URL:
    https://musicbrainz.org/release/9685d30c-a79a-3488-a9a4-d131c2cf9494
(Similarity: 85.9%) (id) (CD, 2008, DE, Universal Music Strategic Marketing, 5312639)
[A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort? A

/srv/dev-disk-by-label-data/Music/Fruupp/Seven Secrets (7 items)
Tagging:
    Fruupp - Seven Secrets
URL:
    https://musicbrainz.org/release/66b5de0c-20c3-41f4-8759-a019a88d42e4
(Similarity: 99.6%) (tracks) (12" Vinyl, 1974, GB, Dawn, DNLS 3058)
 * Elizabeth (7:46) -> Elizabeth (8:06) (length)

/srv/dev-disk-by-label-data/Music/Ga'an/Black Equus (3 items)
Tagging:
    Ga'an - Black Equus
URL:
    https://musicbrainz.org/release/f55d66f4-d009-4166-b784-213e7920e4b4
(Similarity: 98.3%) (tracks) (12" Vinyl, 2011, US, Captcha Records, HBSP-2X-026)
 * Servant Eye (7:34)              -> Servant Eye (8:35) (length)
 * Call of the Black Equus (18:33) -> Call of the Black Equus (18:44) (length)

/srv/dev-disk-by-label-data/Music/Gambit/Abyssal (7 items)
Tagging:
    Gambit - Abyssal
URL:
    https://musicbrainz.org/release/4a2bd65a-8771-4f68-b641-919f11898244
(Similarity: 99.8%) (tracks) (CD, 2013)
 * Abyssal.. (7:27) -> Abyssal.. (7:43) (length)

/srv/dev-disk-by-label-data/Music/Genesis/Abacab (9 items)
Tagging:
    Genesis - Abacab
URL:
    https://musicbrainz.org/release/c303be99-6877-418d-a0e1-f3f400cf82a3
(Similarity: 99.7%) (tracks) (CD, 1999, JP, Virgin, VJCP-68104)
 * Another Record (4:38) -> Another Record (4:21) (length)

/srv/dev-disk-by-label-data/Music/Gens de la Lune/Gens de la Lune (10 items)
Tagging:
    Gens de la Lune - Gens de la Lune
URL:
    https://musicbrainz.org/release/ff2a81d6-0f78-4677-80be-c8f123db2eb4
(Similarity: 99.7%) (tracks) (CD, 2009, FR, AAA014)
 * Neg’blanc (6:23) -> Neg’blanc (6:43) (length)

/srv/dev-disk-by-label-data/Music/Gila/Bury My Heart at Wounded Knee (7 items)
Tagging:
    Gila - Bury My Heart at Wounded Knee
URL:
    https://musicbrainz.org/release/498491e0-4a34-4bd2-888f-10ada27ddc61
(Similarity: 96.3%) (tracks) (12" Vinyl, 1973, DE, Warner Bros., WB 46234)
 * Black Kettle's Ballad (7:12)  -> Black Kettle's Ballad (4:24) (length)
 * Little Smoke (4:25)           -> Little Smoke (5:09) (length)
 * The Buffalo Are Coming (5:05) -> The Buffalo Are Coming (7:20) (length)

/srv/dev-disk-by-label-data/Music/Glass Hammer/Perilous (13 items)
Tagging:
    Glass Hammer - Perilous
URL:
    https://musicbrainz.org/release/7b76ab8c-c4dc-4f95-ba99-664340012ab8
(Similarity: 99.1%) (tracks) (CD, 2012, US, Arion Records, SR2230)
 * In that Lonely Place (6:10) -> In that Lonely Place (3:10) (length)

/srv/dev-disk-by-label-data/Music/Grobschnitt/Kinder und Narren (9 items)
Tagging:
    Grobschnitt - Kinder und Narren
URL:
    https://musicbrainz.org/release/bc91bc07-af18-43ec-8171-571da7df6508
(Similarity: 98.5%) (tracks) (1984, DE)
 * Keine Angst (7:08)    -> Keine Angst (4:31) (length)
 * Ich liebe Dich (2:20) -> Ich liebe Dich (2:39) (length)
 * Augenstern (4:04)     -> Augenstern (4:14) (length)

/srv/dev-disk-by-label-data/Music/Grobschnitt/Razzia (7 items)
Tagging:
    Grobschnitt - Razzia
URL:
    https://musicbrainz.org/release/66055bb1-4cc9-336b-bea1-0d7489730439
(Similarity: 99.1%) (tracks) (CD, 1990, DE, Brain, 843077-2)
 * Poona-Express (5:56) -> Poona-Express (5:25) (length)

/srv/dev-disk-by-label-data/Music/Hannibal/Hannibal (6 items)
Tagging:
    Hannibal - Hannibal
URL:
    https://musicbrainz.org/release/867cba26-bcd9-4ea7-92fd-06a813de2047
(Similarity: 99.7%) (tracks) (12" Vinyl, 1994, Philips, 6369 003)
 * Winter (8:06) -> Winter (8:22) (length)

/srv/dev-disk-by-label-data/Music/Happy the Man/Death’s Crown (13 items)
Tagging:
    Happy the Man - Death’s Crown
URL:
    https://musicbrainz.org/release/41fe4ef6-cd7f-4103-9d1d-b8d71df8a386
(Similarity: 98.2%) (tracks) (CD, 1999, US, Cuneiform Records, 55015)
 * New York Dreams Suite (7:12)     -> New York Dreams Suite (8:47) (length)
 * Merlin of the High Places (8:47) -> Merlin of the High Places (7:11) (length)

/srv/dev-disk-by-label-data/Music/Happy the Man/The Muse Awakens (11 items)
Tagging:
    Happy the Man - The Muse Awakens
URL:
    https://musicbrainz.org/release/1ef91e71-cf4c-466d-8334-012cc9a483a0
(Similarity: 98.6%) (tracks) (CD, 2004, DE, Inside Out Music, IOMCD 187)
 * Contemporary Insanity (2:49) -> Contemporary Insanity (3:28) (length)
 * Kindred Spirits (5:53)       -> Kindred Spirits (5:28) (length)

/srv/dev-disk-by-label-data/Music/Home/Pause for a Hoarse Horse (11 items)
Tagging:
    Home - Pause for a Hoarse Horse
URL:
    https://musicbrainz.org/release/0ffdf532-1307-4dfb-90f7-04d564e5458c
(Similarity: 96.5%) (tracks) (12" Vinyl, 1971, GB, CBS, S 64356)
 * Tramp (3:11)                         -> Tramp (3:30) (length)
 * Family (3:30)                        -> Family (4:30) (length)
 * Red E. Lewis and the Red Caps (5:40) -> Red E. Lewis and the Red Caps (4:30) (length)
 * In My Time (3:56)                    -> In My Time (4:15) (length)
 * Mother (3:01)                        -> Mother (4:05) (length)
 * Welwyn Garden City Blues (1:18)      -> Welwyn Garden City Blues (1:30) (length)

/srv/dev-disk-by-label-data/Music/Häx Cel/Zwai (11 items)
Tagging:
    Häx Cel - Zwai
URL:
    https://musicbrainz.org/release/3acd1f3a-7972-4d27-878a-a49fa734b14a
(Similarity: 100.0%) (tracks) (CD, 2001, DE, Garden of Delights, CD 056)
 * To Barbara (7:13) -> To Barbara (7:25) (length)

/srv/dev-disk-by-label-data/Music/Ian Anderson/The Secret Language of Birds (15 items)
Tagging:
    Ian Anderson - The Secret Language of Birds
URL:
    https://musicbrainz.org/release/af53b34c-aee3-4535-84f2-876538bc2d39
(Similarity: 99.2%) (tracks) (2000, GB)
 * Postcard Day (3:56) -> Postcard Day (4:57) (length)

/srv/dev-disk-by-label-data/Music/Ian Gordon/The Box (18 items)
Tagging:
    Ian Gordon - The Box
URL:
    https://musicbrainz.org/release/9d65fa5e-6203-49ac-a1e3-db8d6670aa80
(Similarity: 100.0%) (tracks) (2011)
 * Dunes of New Babylon (7:34) -> Dunes of New Babylon (7:45) (length)

/srv/dev-disk-by-label-data/Music/Improved Sound Limited/Catch a Singing Bird on the Road (10 items)
Tagging:
    Improved Sound Limited - Catch a Singing Bird on the Road
URL:
    https://musicbrainz.org/release/7f7f0f38-66f5-4eb2-b41c-3a48b8251e6e
(Similarity: 99.2%) (tracks) (12" Vinyl, 1973, DE, CBS, S 65 619)
 * Catch a Singing Bird on the Road (3:57) -> Catch a Singing Bird on the Road (3:25) (length)

/srv/dev-disk-by-label-data/Music/Improved Sound Limited/Improved Sound Limited (17 items)
Tagging:
    Improved Sound Limited - Improved Sound Limited
URL:
    https://musicbrainz.org/release/021bdff0-15cc-435d-aef1-c50eb1202106
(Similarity: 99.9%) (tracks) (Vinyl, 1971, DE, Liberty Records, LBS 83506/07)
 * A Soldier's Songbook (17:30) -> A Soldier's Songbook (17:17) (length)

/srv/dev-disk-by-label-data/Music/Improved Sound Limited/Rathbone Hotel (12 items)
Tagging:
    Improved Sound Limited - Rathbone Hotel
URL:
    https://musicbrainz.org/release/26024d18-d541-4118-89a0-e20d81aab1d7
(Similarity: 99.5%) (tracks) (CD, 2002, DE, Long Hair, LHC 00012)
 * Mortgage (4:01) -> Mortgage (3:36) (length)
 * Sonora (3:17)   -> Sonora (3:29) (length)

/srv/dev-disk-by-label-data/Music/IQ/The Seventh House (6 items)
Tagging:
    IQ - The Seventh House
URL:
    https://musicbrainz.org/release/974e0a7f-104a-4ba1-b145-c313efdfa7b8
(Similarity: 99.6%) (tracks) (CD, 2000, GB, Giant Electric Pea, GEPCD1028)
 * Zero Hour (6:52) -> Zero Hour (7:11) (length)

/srv/dev-disk-by-label-data/Music/Isildurs Bane/The Voyage_ A Trip to Elsewhere (13 items)
Tagging:
    Isildurs Bane - The Voyage: A Trip to Elsewhere
URL:
    https://musicbrainz.org/release/2653430b-56ba-406d-b783-7f11aa07ab6b
(Similarity: 99.1%) (tracks) (CD, 1997, SE, Svenska Unikum, SUCD 192, Remastered)
 * Wild as a Toad (16:48) -> Wild as a Toad (17:50) (length)

/srv/dev-disk-by-label-data/Music/Jadis/More Than Meets the Eye (7 items)
Tagging:
    Jadis - More Than Meets the Eye
URL:
    https://musicbrainz.org/release/9af2ee40-9726-4242-a28e-402d3111fe6f
(Similarity: 99.5%) (tracks) (CD, 1992, GB, Giant Electric Pea, GEPCD1002)
 * Wonderful World (8:41) -> Wonderful World (8:19) (length)

/srv/dev-disk-by-label-data/Music/Jadis/Photoplay (11 items)
Tagging:
    Jadis - Photoplay
URL:
    https://musicbrainz.org/release/ba1c77fb-fb80-4d44-9c74-6af4d6d972a2
(Similarity: 98.1%) (tracks) (2006, DE)
 * Asleep in My Hands (5:14)    -> Asleep in My Hands (5:38) (length)
 * I Hear Your Voice (5:57)     -> I Hear Your Voice (6:15) (length)
 * Please Open Your Eyes (4:43) -> Please Open Your Eyes (5:34) (length)
 * All You've Ever Known (6:29) -> All You've Ever Known (6:41) (length)
 * Photoplay (4:06)             -> Photoplay (4:19) (length)

/srv/dev-disk-by-label-data/Music/Jane/Jane (10 items)
Tagging:
    Jane - Jane
URL:
    https://musicbrainz.org/release/ac88a117-adb0-47c8-9264-e9e4b75a01bf
(Similarity: 98.9%) (tracks) (Vinyl, 1980, DE, Brain, 60.354)
 * On My Way (3:26)          -> On My Way (3:45) (length)
 * New Man in Town (3:58)    -> New Man in Town (3:43) (length)
 * Stop the Clock (8:10)     -> Stop the Clock (7:51) (length)
 * Intro / Easy Going (6:10) -> Intro / Easy Going (5:57) (length)
 * Love Your Life (5:45)     -> Love Your Life (5:30) (length)

/srv/dev-disk-by-label-data/Music/Jefferson Airplane/Surrealistic Pillow (11 items)
Tagging:
    Jefferson Airplane - Surrealistic Pillow
URL:
    https://musicbrainz.org/release/68dfffdb-356f-4615-a2b3-24a371a197d2
(Similarity: 98.1%) (tracks) (12" Vinyl, 1980, US, RCA Victor, AYL1-3738)
 * Embryonic Journey (3:28) -> Embryonic Journey (1:56) (length)
 * White Rabbit (1:52)      -> White Rabbit (2:33) (length)

/srv/dev-disk-by-label-data/Music/Jethro Tull/Aqualung (11 items)
Tagging:
    Jethro Tull - Aqualung
URL:
    https://musicbrainz.org/release/1298587a-06d2-470f-8443-ad235224eece
(Similarity: 99.8%) (tracks) (CD, 1984, US, Chrysalis, VK41011 | DIDX 68)
 * Locomotive Breath (4:42) -> Locomotive Breath (4:26) (length)

/srv/dev-disk-by-label-data/Music/Jethro Tull/Crest of a Knave (10 items)
Tagging:
    Jethro Tull - Crest of a Knave
URL:
    https://musicbrainz.org/release/39668e20-7379-4f9a-abce-5fdf110e0838
(Similarity: 99.0%) (tracks) (CD, 2005, JP, Chrysalis, TOCP 67682)
 * The Waking Edge (4:47) -> The Waking Edge (3:21) (length)

/srv/dev-disk-by-label-data/Music/Jethro Tull/War Child (10 items)
Tagging:
    Jethro Tull - War Child
URL:
    https://musicbrainz.org/release/5090231a-eba2-33f5-b9d1-e9c2acd06466
(Similarity: 99.9%) (tracks) (CD, 1996, GB, Chrysalis, CCD 1067)
 * Skating Away on the Thin Ice of the New Day (4:11) -> Skating Away on the Thin Ice of the New Day (3:58) (length)

/srv/dev-disk-by-label-data/Music/Johannes Luley/Tales From Sheepfather's Grove (8 items)
Tagging:
    Johannes Luley - Tales From Sheepfather's Grove
URL:
    https://musicbrainz.org/release/c130f236-45ed-448a-88db-db0d25790f26
(Similarity: 99.4%) (tracks) (CD, 2013, US)
 * Guardians of Time (4:05)  -> Guardians of Time (4:18) (length)
 * We Are One (4:05)         -> We Are One (4:24) (length)
 * Atheos Spiritualis (9:49) -> Atheos Spiritualis (10:03) (length)

/srv/dev-disk-by-label-data/Music/Jordan Rudess/Notes on a Dream (12 items)
Tagging:
    Jordan Rudess - Notes on a Dream
URL:
    https://musicbrainz.org/release/e1904e0f-8d97-4d8f-ac5c-2cea0b61549c
(Similarity: 100.0%) (tracks) (CD, 2009, US, JUCD17)
 * Speak to Me (6:42) -> Speak to Me (6:54) (length)

/srv/dev-disk-by-label-data/Music/José Cid/10.000 Anos Depois Entre Vénus e Marte (8 items)
Tagging:
    José Cid - 10.000 Anos Depois Entre Vénus e Marte
URL:
    https://musicbrainz.org/release/b3cb3417-dfd1-4ca4-88d0-ae7dd2069ebc
(Similarity: 99.8%) (tracks) (CD, 1994, US, Art Sublime, ASCD1194-005)
 * Memos (2:22) -> Memos (2:07) (length)

/srv/dev-disk-by-label-data/Music/Journey/Journey (7 items)
Tagging:
    Journey - Journey
URL:
    https://musicbrainz.org/release/9442b314-a6b1-439d-8d2c-ca44dfffbc2e
(Similarity: 99.9%) (tracks) (12" Vinyl, 1975, US, Columbia, PC 33388)
 * Mystery Mountain (4:34) -> Mystery Mountain (4:22) (length)

/srv/dev-disk-by-label-data/Music/Journey/Look Into the Future (8 items)
Tagging:
    Journey - Look Into the Future
URL:
    https://musicbrainz.org/release/deb4671c-33e3-31e1-8520-116385029156
(Similarity: 100.0%) (tracks) (CD, 1989, US, Columbia, CK 33904)
 * Look Into the Future (8:22) -> Look Into the Future (8:12) (length)

/srv/dev-disk-by-label-data/Music/Jupiter Society/From Endangered To Extinct (6 items)
Tagging:
    Jupiter Society - From Endangered To Extinct
URL:
    https://musicbrainz.org/release/a2d97f45-f2eb-4f60-9101-d41cbe3b1b7c
(Similarity: 98.6%) (tracks) (CD, 2013)
 * Defeat (13:12) -> Defeat (12:13) (length)

/srv/dev-disk-by-label-data/Music/Karfagen/The Key to Perception (39 items)
Tagging:
    Karfagen - The Key to Perception
URL:
    https://musicbrainz.org/release/f65a8c6e-486b-4aea-99cd-de500bad015c
(Similarity: 99.5%) (tracks) (2xCD, 2009, GB, Caerllysi Music, CM09004)
CD 1
 * A Winter Tale, Part 2 (3:48) -> A Winter Tale, Part 2 (3:28) (length)
 * A Winter Tale (demo) (8:36)  -> A Winter Tale (demo) (6:36) (length)
CD 2

/srv/dev-disk-by-label-data/Music/Kayak/Cleopatra - The Crown of Isis (24 items)
Tagging:
    Kayak - Cleopatra - The Crown of Isis
URL:
    https://musicbrainz.org/release/d5276f6d-a17b-4cb3-a68e-dbe4ed308d91
(Similarity: 100.0%) (tracks) (2xCD, 2014, NL)
CD 1: disc 1
 * Goodbye, Pharos (4:06) -> Goodbye, Pharos (4:18) (length)
CD 2: disc 2

/srv/dev-disk-by-label-data/Music/Kayak/Letters From Utopia (19 items)
Tagging:
    Kayak - Letters From Utopia
URL:
    https://musicbrainz.org/release/51625133-2932-4b20-8b21-ee6aa70e65c7
(Similarity: 99.6%) (tracks) (2xCD, 2009, NL, SMH Recordings, SMH 200936)
CD 1
 * Turbulence (3:42) -> Turbulence (3:16) (length)
CD 2

/srv/dev-disk-by-label-data/Music/Klaatu/Hope (8 items)
Tagging:
    Klaatu - Hope
URL:
    https://musicbrainz.org/release/4d101c62-a4fc-4d14-94ca-06a637ae5d75
(Similarity: 96.5%) (tracks) (CD, 1993, CA, Attic, 700550013-2)
 * The Loneliest of Creatures (9:35)    -> The Loneliest of Creatures (3:45) (length)
 * So Said the Lighthouse Keeper (3:53) -> So Said the Lighthouse Keeper (5:53) (length)
 * Hope (0:52)                          -> Hope (4:39) (length)

/srv/dev-disk-by-label-data/Music/Leap Day/Skylge's Lair (8 items)
Tagging:
    Leap Day - Skylge's Lair
URL:
    https://musicbrainz.org/release/11f4fa74-1db7-45e6-802b-f928e60d4030
(Similarity: 98.8%) (tracks) (CD, 2011, NL, OSKAR, OSKAR 1052)
 * Time Passing By (11:03) -> Time Passing By (7:25) (length)

/srv/dev-disk-by-label-data/Music/Life Line Project/Distorted Memories (12 items)
Tagging:
    Life Line Project - Distorted Memories
URL:
    https://musicbrainz.org/release/ed0337b8-fed0-4087-b00e-e5ad0616475f
(Similarity: 99.1%) (tracks) (CD, 2010, NL)
 * Ignition (0:40) -> Ignition (5:26) (length)

/srv/dev-disk-by-label-data/Music/Life Line Project/The Finnishing Touch (17 items)
Tagging:
    Life Line Project - The Finnishing Touch
URL:
    https://musicbrainz.org/release/783e74fa-8f68-4324-aad1-45dc229d13d2
(Similarity: 99.8%) (tracks) (CD, 2009)
 * Without Tears (3:39) -> Without Tears (3:57) (length)

/srv/dev-disk-by-label-data/Music/Lighthouse/Can You Feel It (10 items)
Tagging:
    Lighthouse - Can You Feel It
URL:
    https://musicbrainz.org/release/a143f037-2e84-43ac-958c-860c3974c44c
(Similarity: 100.0%) (tracks) (Vinyl, 1973, CA)
 * Lonely Hours (6:36) -> Lonely Hours (6:25) (length)

/srv/dev-disk-by-label-data/Music/Little Atlas/Wanderlust (7 items)
Tagging:
    Little Atlas - Wanderlust
URL:
    https://musicbrainz.org/release/f3dbd5ff-b0a8-4842-b2f0-ec5e205cbdad
(Similarity: 98.7%) (tracks) (2005)
 * Mirror of Life (5:29) -> Mirror of Life (8:01) (length)

/srv/dev-disk-by-label-data/Music/Little Tragedies/Obsessed (8 items)
Tagging:
    Little Tragedies - Obsessed
URL:
    https://musicbrainz.org/release/e35ee902-9b2b-4b8f-a3a6-46ec9b7f09a9
(Similarity: 99.9%) (tracks) (CD, 2011)
 * Obsessed (8:50) -> Obsessed (9:03) (length)

/srv/dev-disk-by-label-data/Music/Magellan/Impending Ascension (7 items)
Tagging:
    Magellan - Impending Ascension
URL:
    https://musicbrainz.org/release/adf7a411-2cbc-46ad-9372-e33490fed14f
(Similarity: 99.0%) (tracks) (CD, 1994, XE, Magna Carta, RR 9057 2, Repress with mould SID code)
 * No Time for Words (2:08)  -> No Time for Words (2:30) (length)
 * Storms and Mutiny (11:50) -> Storms and Mutiny (11:28) (length)

/srv/dev-disk-by-label-data/Music/Magenta/Home (15 items)
Tagging:
    Magenta - Home
URL:
    https://musicbrainz.org/release/3674c1d2-9f4f-4f25-a4d9-ded56f40d622
(Similarity: 99.7%) (tracks) (CD, 2006, GB, F2 Music, 200606A)
 * Moving On (6:12)      -> Moving On (6:02) (length)
 * Towers of Hope (2:32) -> Towers of Hope (2:10) (length)

/srv/dev-disk-by-label-data/Music/Magenta/Metamorphosis (4 items)
Tagging:
    Magenta - Metamorphosis
URL:
    https://musicbrainz.org/release/07ff7c13-12a7-40ac-8cc6-77116b17f24b
(Similarity: 98.8%) (tracks) (CD, 2008, GB, Tigermoth Records, CDTMR006)
 * The Ballad of Samuel Layne (20:36) -> The Ballad of Samuel Layne (20:17) (length)
 * Metamorphosis (23:01)              -> Metamorphosis (23:15) (length)
 * Blind Faith (6:22)                 -> Blind Faith (6:01) (length)

/srv/dev-disk-by-label-data/Music/Magic Pie/Circus of Life (7 items)
Tagging:
    Magic Pie - Circus of Life
URL:
    https://musicbrainz.org/release/91af9149-382a-4762-9631-2ff868329217
(Similarity: 98.8%) (tracks) (CD, 2007, NO, Karisma Records, KAR102CD)
 * Watching the Waters (8:25) -> Watching the Waters (9:31) (length)

/srv/dev-disk-by-label-data/Music/Mahavishnu Orchestra/The Lost Trident Sessions (6 items)
Tagging:
    Mahavishnu Orchestra - The Lost Trident Sessions
URL:
    https://musicbrainz.org/release/88efcebc-90c1-3c9c-b34d-bd2b17c26280
(Similarity: 98.7%) (tracks) (CD, 1999, XE, Legacy, CK 65959)
 * Dream (3:08) -> Dream (11:10) (length)

/srv/dev-disk-by-label-data/Music/Man/Revelation (11 items)
Tagging:
    Man - Revelation
URL:
    https://musicbrainz.org/release/68d5c559-6a78-42b5-898b-cfba52d1de64
(Similarity: 96.0%) (tracks) (1969)
 * And in the Beginning... (4:49)                          -> And in the Beginning... (4:21) (length)
 * Sudden Life (4:23)                                      -> Sudden Life (4:38) (length)
 * Empty Room (3:33)                                       -> Empty Room (3:45) (length)
 * Don't Just Stand There (Come in Out of the Rain) (4:25) -> Don't Just Stand There (Come in Out of the Rain) (6:10) (length)
 * The Missing Pieces (1:45)                               -> The Missing Pieces (3:27) (length)
 * The Future Hides Its Face (5:27)                        -> The Future Hides Its Face (1:58) (length)
Error: MusicBrainz not reachable in get release by ID with query u'ba1f1704-6c9d-4287-8cc9-fd94afc6eb53'

/srv/dev-disk-by-label-data/Music/Marillion/Marbles (11 items)
Tagging:
    Marillion - Marbles
URL:
    https://musicbrainz.org/release/b94bbd1f-ae5d-4e7b-98ff-28bfe135f20c
(Similarity: 99.0%) (tracks) (2x12" Vinyl, 2011, GB, Madfish, SMALP972)
12" Vinyl 1
12" Vinyl 2
 * Neverland (10:53) -> Neverland (12:10) (length)

/srv/dev-disk-by-label-data/Music/Masterplan/Masterplan (13 items)
Tagging:
    Masterplan - Masterplan
URL:
    https://musicbrainz.org/release/dc36a943-ffd0-4606-9974-8e14451a25d5
(Similarity: 98.3%) (tracks) (2003, DE)
 * Enlighten Me (4:37)   -> Enlighten Me (4:27) (length)
 * Crystal Night (5:16)  -> Crystal Night (4:54) (length)
 * Soulburn (6:15)       -> Soulburn (5:56) (length)
 * Sail On (4:37)        -> Sail On (5:46) (length)
 * Into the Light (4:09) -> Into the Light (3:55) (length)

/srv/dev-disk-by-label-data/Music/Matthew Parmenter/Horror Express (10 items)
Tagging:
    Matthew Parmenter - Horror Express
URL:
    https://musicbrainz.org/release/2c5c69fb-b581-4882-a405-d03d28b75e4f
(Similarity: 99.0%) (tracks) (CD, 2008, US, Strung Out Records, SOR 6806)
 * In the Dark (11:49) -> In the Dark (9:22) (length)

/srv/dev-disk-by-label-data/Music/Maxophone/Maxophone (8 items)
Tagging:
    Maxophone - Maxophone
URL:
    https://musicbrainz.org/release/bbf607a4-c12d-36e3-8bd2-1314b75174e9
(Similarity: 97.7%) (tracks) (CD, 2005, IT, Akarma, AK 1029)
 * Elzeviro (5:50)           -> Elzeviro (6:47) (length)
 * Mercanti di pazzie (6:47) -> Mercanti di pazzie (5:21) (length)

/srv/dev-disk-by-label-data/Music/Medina Azahara/La memoria perdida (14 items)
Tagging:
    Medina Azahara - La memoria perdida
URL:
    https://musicbrainz.org/release/6e45a0e5-ae05-4eb4-8035-e37c2398671d
(Similarity: 99.2%) (tracks) (CD, 2012, ES, Mano Negra Records, CD-95004)
 * Busco (3:42) -> Busco (4:34) (length)

/srv/dev-disk-by-label-data/Music/Mekong Delta/Intersections (10 items)
Tagging:
    Mekong Delta - Intersections
URL:
    https://musicbrainz.org/release/f76c19f6-1f70-4b2e-ac2f-c6435337a77c
(Similarity: 99.9%) (tracks) (CD, 2012, DE, Steamhammer, SPV 260222 CD)
 * The Healer (7:25) -> The Healer (7:38) (length)

/srv/dev-disk-by-label-data/Music/Mew/Half the World Is Watching Me (9 items)
Tagging:
    Mew - Half the World Is Watching Me
URL:
    https://musicbrainz.org/release/4e4523bd-c035-4f79-a031-9055e06970fb
(Similarity: 100.0%) (tracks) (CD, 2000, DK, Evil Office, EVL001CD)
 * Am I Wry? No (4:53) -> Am I Wry? No (4:42) (length)

/srv/dev-disk-by-label-data/Music/Mike Oldfield/Tubular Bells (2 items)
Tagging:
    Mike Oldfield - Tubular Bells
URL:
    https://musicbrainz.org/release/2b487e8e-715d-4fa0-84bd-37c1a1aefe32
(Similarity: 99.8%) (tracks) (CD, 1986, JP, Virgin, 32VD-1010)
 * Tubular Bells, Part One (25:17) -> Tubular Bells, Part One (25:29) (length)

/srv/dev-disk-by-label-data/Music/Millenium/Puzzles (14 items)
Tagging:
    Millenium - Puzzles
URL:
    https://musicbrainz.org/release/ee8abc78-22ef-486d-a9a5-dd790efdde17
(Similarity: 99.8%) (tracks) (2xCD, 2011, PL, Lynx Music, LM 66 DG-2CD)
CD 1
CD 2
 * Farewell (7:14)        -> Farewell (7:28) (length)
 * Our Little Eden (4:37) -> Our Little Eden (4:25) (length)

/srv/dev-disk-by-label-data/Music/Moose Loose/Elgen Er Løs (5 items)
Tagging:
    Moose Loose - Elgen Er Løs
URL:
    https://musicbrainz.org/release/806e66f7-d97f-4319-8b3f-7bcc27e7605c
(Similarity: 97.9%) (tracks) (12" Vinyl, 1974, NO, Plateselskapet Mai, MAI 7403)
 * Ebers' Funk (6:48) -> Ebers' Funk (7:45) (length)
 * Skakke-Jens (5:56) -> Skakke-Jens (5:32) (length)

/srv/dev-disk-by-label-data/Music/Mr. Fastfinger/The Way of the Exploding Guitar (14 items)
Tagging:
    Mr. Fastfinger - The Way of the Exploding Guitar
URL:
    https://musicbrainz.org/release/c89b3adf-d0e0-4435-b1db-6fbe5143159a
(Similarity: 99.8%) (tracks) (CD, 2009, XW, Elektrik Pyjamas, EJAM-00109)
 * Epic (5:46) -> Epic (5:30) (length)

/srv/dev-disk-by-label-data/Music/Neal Morse/God Won't Give Up (10 items)
Tagging:
    Neal Morse - God Won't Give Up
URL:
    https://musicbrainz.org/release/ca11ecc9-bed9-4c7a-b705-18f51999a954
(Similarity: 99.0%) (tracks) (CD, 2005, US, Radiant Records, RA-022)
 * I Sing My Love (4:48) -> I Sing My Love (3:48) (length)

/srv/dev-disk-by-label-data/Music/Orphaned Land/The Road to OR-Shalem (17 items)
Tagging:
    Orphaned Land - The Road to OR-Shalem
URL:
    https://musicbrainz.org/release/3dc4dd2f-8bc2-4a80-aab0-7b8550dee2f1
(Similarity: 99.1%) (tracks) (CD, 2011, XW, Century Media, 9981332)
 * Halo Dies (The Wrath of God)         -> Halo Dies (title)
 * Birth of the Three (The Unification) -> Birth of the Three (title)
 * The Kiss of Babylon (The Sins)       -> The Kiss of Babylon (title)
 * A Neverending Way                    -> A Never Ending Way
 * Ocean Land (The Revelation)          -> Ocean Land (title)
 * M I ?                                -> MI ?
 * Norra El Norra (Entering the Ark)    -> Norra El Norra (title)
 * Ornaments of Gold                    -> Ornaments of Gold (Ending) (title)

/srv/dev-disk-by-label-data/Music/Pain of Salvation/Road Salt Two (14 items)
Tagging:
    Pain of Salvation - Road Salt Two
URL:
    https://musicbrainz.org/release/5299ceaa-466e-4c53-afba-72fa90a29ac2
(Similarity: 99.9%) (tracks) (CD, 2011, DE, Inside Out Music, 0505628, limited edition)
 * Conditioned (4:15) -> Conditioned (4:30) (length)

/srv/dev-disk-by-label-data/Music/Pallas/The Wedge (7 items)
Tagging:
    Pallas - The Wedge
URL:
    https://musicbrainz.org/release/58023e95-d572-4810-b1fd-3284a349ca86
(Similarity: 99.9%) (tracks) (12" Vinyl, 1986, GB, Harvest, SHVL 850)
 * Ratracing (8:12) -> Ratracing (8:00) (length)

/srv/dev-disk-by-label-data/Music/Parzival’s Eye/Fragments (12 items)
Correcting tags from:
    Parzival’s Eye - Fragments
To:
    Parzivals Eye - Fragments
URL:
    https://musicbrainz.org/release/0489e352-2186-4422-8625-86ae2d07e344
(Similarity: 99.1%) (tracks) (CD, 2009, XW, Red Farm Records, 47110815-22)
 * Chicago (6:01) -> Chicago (8:01) (length)

/srv/dev-disk-by-label-data/Music/Paul Gilbert & Freddie Nelson/United States (10 items)
Tagging:
    Paul Gilbert & Freddie Nelson - United States
URL:
    https://musicbrainz.org/release/3b175d6d-a008-33ce-a80e-9cab46a3d41b
(Similarity: 97.0%) (tracks) (CD, 2009, GB, Mascot Records, M72782)
 * Waste of Time (4:40)               -> Waste of Time (3:23) (length)
 * The Last Rock and Roll Star (3:22) -> The Last Rock and Roll Star (4:04) (length)
 * Hideaway (4:02)                    -> Hideaway (4:40) (length)

/srv/dev-disk-by-label-data/Music/Peter Hammill/Over (8 items)
Tagging:
    Peter Hammill - Over
URL:
    https://musicbrainz.org/release/654fc432-2fe1-4026-96f3-82661b39cb63
(Similarity: 98.8%) (tracks) (12" Vinyl, 1977, GB, Charisma, CAS 1125)
 * Betrayed (4:00) -> Betrayed (4:44) (length)

/srv/dev-disk-by-label-data/Music/Peter Hammill/pH7 (11 items)
Tagging:
    Peter Hammill - pH7
URL:
    https://musicbrainz.org/release/6765679b-365c-38d3-83b6-73624bbef7e1
(Similarity: 99.1%) (tracks) (CD, 1992, US, Caroline Blue Plate, CAROL 1696-2)
 * Faculty X (4:19) -> Faculty X (4:58) (length)

/srv/dev-disk-by-label-data/Music/PI2/Silent running (6 items)
Tagging:
    PI2 - Silent running
URL:
    https://musicbrainz.org/release/eb65ff93-f180-470b-8ca3-e5b19e99d50e
(Similarity: 98.6%) (tracks) (CD, 2009)
 * Silent Running (32:50) -> Silent Running (25:30) (length)

/srv/dev-disk-by-label-data/Music/Pink Floyd/The Dark Side of the Moon (10 items)
Tagging:
    Pink Floyd - The Dark Side of the Moon
URL:
    https://musicbrainz.org/release/61288af4-6fdb-42be-b94e-7e7b90258951
(Similarity: 99.9%) (tracks) (12" Vinyl, 1978, DE, Harvest, 1C 064-05 249 Q, quadraphonic)
 * The Great Gig in the Sky (4:47) -> The Great Gig in the Sky (4:36) (length)

/srv/dev-disk-by-label-data/Music/Pink Floyd/The Final Cut (12 items)
Tagging:
    Pink Floyd - The Final Cut
URL:
    https://musicbrainz.org/release/1a0d31b4-b2fc-3adf-8bd8-494c4fe33359
(Similarity: 99.0%) (tracks) (12" Vinyl, 1983, DE, Harvest, 1C 064-650 42)
 * Your Possible Pasts (4:37) -> Your Possible Pasts (4:22) (length)
 * The Hero’s Return (2:34)   -> The Hero’s Return (2:57) (length)
 * The Gunners Dream (5:29)   -> The Gunners Dream (5:06) (length)

/srv/dev-disk-by-label-data/Music/Pink Floyd/The Wall (26 items)
Tagging:
    Pink Floyd - The Wall
URL:
    https://musicbrainz.org/release/ac2e7f37-b95c-3cc6-bf99-8f2a991d01d1
(Similarity: 96.9%) (tracks) (2xCD, 1985, DE, Harvest, CDP 7 46036 8)
CD 1
 * Another Brick in the Wall, Part 1 (3:41) -> Another Brick in the Wall, Part 1 (3:10) (length)
 * The Happiest Days of Our Lives (1:20)    -> The Happiest Days of Our Lives (1:51) (length)
 * Empty Spaces (5:36)                      -> Empty Spaces (2:07) (length)
 * Young Lust (2:03)                        -> Young Lust (3:33) (length)
 * One of My Turns (1:33)                   -> One of My Turns (3:34) (length)
 * Goodbye Cruel World (1:04)               -> Goodbye Cruel World (1:14) (length)
CD 2
 * Bring the Boys Back Home (0:50)          -> Bring the Boys Back Home (1:29) (length)
 * Comfortably Numb (6:49)                  -> Comfortably Numb (6:26) (length)

/srv/dev-disk-by-label-data/Music/Porcupine Tree/On the Sunday of Life… (18 items)
Tagging:
    Porcupine Tree - On the Sunday of Life…
URL:
    https://musicbrainz.org/release/1844ba5c-9817-3f0a-b7a1-3deedcb62e66
(Similarity: 100.0%) (tracks) (CD, 2004, GB, Snapper Music, SDPCD166)
 * This Long Silence (5:00) -> This Long Silence (5:10) (length)

/srv/dev-disk-by-label-data/Music/Procol Harum/The Prodigal Stranger (13 items)
Tagging:
    Procol Harum - The Prodigal Stranger
URL:
    https://musicbrainz.org/release/c270e74d-0778-48e8-a818-8af0edb7627e
(Similarity: 99.1%) (tracks) (1991)
 * Man With a Mission (alt) (3:25) -> Man With a Mission (alt) (4:09) (length)

/srv/dev-disk-by-label-data/Music/Pär Lindh Project/Gothic Impressions (6 items)
Tagging:
    Pär Lindh Project - Gothic Impressions
URL:
    https://musicbrainz.org/release/bffc07c7-bacd-4b70-9f79-ae1f34a7c4af
(Similarity: 98.8%) (tracks) (CD, 1994, SE, Crimsonic Label, CLSCD 101)
 * The Iconoclast (7:29) -> The Iconoclast (7:05) (length)
 * The Cathedral (19:57) -> The Cathedral (19:34) (length)

/srv/dev-disk-by-label-data/Music/Quaterna Réquiem/O Arquiteto (14 items)
Tagging:
    Quaterna Réquiem - O Arquiteto
URL:
    https://musicbrainz.org/release/caf47b43-9e41-4ff4-b17f-01ebee0d9a15
(Similarity: 99.1%) (tracks) (CD, 2012)
 * Interlúdio (1:40)      -> Interlúdio (2:42) (length)
 * VII. Postludium (4:36) -> VII. Postludium (4:25) (length)

/srv/dev-disk-by-label-data/Music/Quaterna Réquiem/Quasímodo (5 items)
Tagging:
    Quaterna Réquiem - Quasímodo
URL:
    https://musicbrainz.org/release/d865cd20-a798-449f-bb17-bb96dae875fd
(Similarity: 98.6%) (tracks) (CD, 1994, BR, 107.249)
 * Quasímodo (38:19) -> Quasímodo (38:59) (length)

/srv/dev-disk-by-label-data/Music/Queensrÿche/Frequency Unknown (14 items)
Tagging:
    Queensrÿche - Frequency Unknown
URL:
    https://musicbrainz.org/release/2c63007c-9d24-42fa-aaf1-a61642822038
(Similarity: 99.9%) (tracks) (CD, 2013, US, Deadline Music, CLP 0275)
 * Cold (3:27)              -> Cold (3:39) (length)
 * Running Backwards (3:36) -> Running Backwards (3:26) (length)

/srv/dev-disk-by-label-data/Music/Ram-Zet/Pure Therapy (8 items)
Tagging:
    Ram-Zet - Pure Therapy
URL:
    https://musicbrainz.org/release/fb49830d-2898-42d7-a2ac-62177e8a583b
(Similarity: 99.7%) (tracks) (CD, 2000, FI, Spikefarm Records, Naula 009)
 * Through the Eyes of the Children (6:57) -> Through the Eyes of the Children (6:40) (length)

/srv/dev-disk-by-label-data/Music/Rasputina/Cabin Fever! (15 items)
Tagging:
    Rasputina - Cabin Fever!
URL:
    https://musicbrainz.org/release/c697e5fa-81da-4f68-abc1-fdc6c4ebad60
(Similarity: 99.2%) (tracks) (CD, 2002, US, Instinct Records, INS599-2)
 * A Quitter (3:42) -> A Quitter (7:31) (length)

/srv/dev-disk-by-label-data/Music/Rick Miller/Dreamtigers (8 items)
Tagging:
    Rick Miller - Dreamtigers
URL:
    https://musicbrainz.org/release/3f17303a-2a54-4351-9915-26aaee38db1b
(Similarity: 99.2%) (tracks) (2004)
 * Return of the Acolyte (4:58) -> Return of the Acolyte (5:27) (length)

/srv/dev-disk-by-label-data/Music/Rick Miller/In the Shadows (10 items)
Tagging:
    Rick Miller - In the Shadows
URL:
    https://musicbrainz.org/release/82fa338b-e0f9-4cf5-a1d8-47d781b34f3c
(Similarity: 99.1%) (tracks) (2011)
 * Heaven in Your Eyes (4:15) -> Heaven in Your Eyes (3:41) (length)

/srv/dev-disk-by-label-data/Music/Riverside/Rapid Eye Movement (9 items)
Tagging:
    Riverside - Rapid Eye Movement
URL:
    https://musicbrainz.org/release/1947a1fe-5103-3427-bbef-d325bd57c590
(Similarity: 98.9%) (tracks) (CD, 2007, US, InsideOut Music America, IOMCD 283)
 * Parasomnia (4:45) -> Parasomnia (8:10) (length)

/srv/dev-disk-by-label-data/Music/RPWL/Tales From Outer Space (7 items)
Tagging:
    RPWL - Tales From Outer Space
URL:
    https://musicbrainz.org/release/ca02e861-8203-4cb1-933a-0c0fdc113a25
(Similarity: 99.4%) (tracks) (CD, 2019, XE, Gentle Art of Music, GAOM 061)
 * A New World (8:38)        -> A New World (8:15) (length)
 * What I Really Need (5:20) -> What I Really Need (5:09) (length)

/srv/dev-disk-by-label-data/Music/RPWL/Wanted (10 items)
Tagging:
    RPWL - Wanted
URL:
    https://musicbrainz.org/release/e9b224f5-6f35-4303-b1d2-488b2e0b3ae8
(Similarity: 98.7%) (tracks) (CD, 2014, DE, Gentle Art of Music, GAOM 022, promo)
 * Revelation (5:17)        -> Revelation (5:30) (length)
 * Swords And Guns (8:42)   -> Swords And Guns (9:02) (length)
 * Wanted (4:28)            -> Wanted (4:39) (length)
 * Hide And Seek (5:08)     -> Hide And Seek (5:19) (length)
 * Disbelief (6:10)         -> Disbelief (6:24) (length)
 * Misguided Thought (6:07) -> Misguided Thought (6:20) (length)
 * Perfect Day (6:18)       -> Perfect Day (6:32) (length)
 * The Attack (11:04)       -> The Attack (11:31) (length)

/srv/dev-disk-by-label-data/Music/RPWL/World Through My Eyes (10 items)
Tagging:
    RPWL - World Through My Eyes
URL:
    https://musicbrainz.org/release/ce6279b4-c982-4b84-b774-c24a0583eeab
(Similarity: 98.9%) (tracks) (CD, 2005, DE)
 * Sleep (7:42)          -> Sleep (7:11) (length)
 * Start the Fire (4:43) -> Start the Fire (5:02) (length)
 * 3 Lights (8:18)       -> 3 Lights (8:30) (length)

/srv/dev-disk-by-label-data/Music/Saga/Worlds Apart (9 items)
Tagging:
    Saga - Worlds Apart
URL:
    https://musicbrainz.org/release/16d6458f-03b7-3e20-9fca-8c0c0f87be8a
(Similarity: 99.9%) (tracks) (CD, 1987, DE, Bonaire, 258161-222)
 * Wind Him Up (5:44) -> Wind Him Up (5:54) (length)
 * Amnesia (3:27)     -> Amnesia (3:15) (length)

/srv/dev-disk-by-label-data/Music/Shamall/Turn Off (23 items)
Tagging:
    Shamall - Turn Off
URL:
    https://musicbrainz.org/release/2fff8c31-ec14-4e41-87e2-d8d779b8cd35
(Similarity: 100.0%) (tracks) (2xCD, 2013, DE, Laut & Leise Productions, 2L-2021)
CD 1: CD1
 * The Devil Never Sleeps (3:30) -> The Devil Never Sleeps (3:20) (length)
CD 2: CD2

/srv/dev-disk-by-label-data/Music/Shylock/Gialorgues (8 items)
Tagging:
    Shylock - Gialorgues
URL:
    https://musicbrainz.org/release/5f7c18b8-b960-46f6-8d2f-57b62dafe091
(Similarity: 98.8%) (tracks) (CD, 1994, FR, Musea, FGBG 4105.AR)
 * Le quatrième (9:48) -> Le quatrième (13:11) (length)

/srv/dev-disk-by-label-data/Music/Slapp Happy _ Henry Cow/Desperate Straights (13 items)
Tagging:
    Slapp Happy / Henry Cow - Desperate Straights
URL:
    https://musicbrainz.org/release/2dd6903f-686c-3b59-9495-4504cffc6a1b
(Similarity: 99.7%) (tracks) (CD, 2004, GB, ReR Megacorp, ReR HCSH1)
 * Riding Tigers (2:02) -> Riding Tigers (1:43) (length)

/srv/dev-disk-by-label-data/Music/Solaris/Nostradamus_ Book of Prophecies (11 items)
Tagging:
    Solaris - Nostradamus: Book of Prophecies
URL:
    https://musicbrainz.org/release/808b6f94-77a7-4caf-9db3-681e9164aa6b
(Similarity: 99.7%) (tracks) (CD, 1999, HU, Periferic Records, BGCD 025)
 * The Moment of Truth (part 2) (1:33) -> The Moment of Truth (part 2) (1:53) (length)

/srv/dev-disk-by-label-data/Music/Soundtracks/Dream, After Dream (9 items)
Tagging:
    Journey - Dream, After Dream
URL:
    https://musicbrainz.org/release/cf2e9241-7328-4a1e-8a1c-0ab5aa5b5d39
(Similarity: 98.1%) (tracks) (CD, 2006, JP, Sony Records International, MHCP-1175)
 * Moon Theme (4:02)             -> Moon Theme (4:36) (length)
 * When the Love Has Gone (4:40) -> When the Love Has Gone (4:02) (length)

/srv/dev-disk-by-label-data/Music/Soundtracks/Les Misérables_ The Motion Picture Soundtrack Deluxe (Deluxe Edition) (42 items)
Tagging:
    Claude‐Michel Schönberg - Les Misérables: The Motion Picture Soundtrack Deluxe (Deluxe Edition)
URL:
    https://musicbrainz.org/release/2c95b545-7231-4508-ad33-1f1cf8d2c234
(Similarity: 99.6%) (tracks) (2xCD, 2012, US, Polydor)
CD 1
 * Look Down (3:16) -> Look Down (2:22) (length)
 * Stars (2:45)     -> Stars (3:01) (length)
CD 2

/srv/dev-disk-by-label-data/Music/Steve Hackett/Darktown (11 items)
Tagging:
    Steve Hackett - Darktown
URL:
    https://musicbrainz.org/release/3deba209-ca6c-4007-a51d-b325dcbbbdbd
(Similarity: 99.0%) (tracks) (CD, 1999, XE, Camino Records, CAMCD17)
 * In Memoriam (20:27) -> In Memoriam (7:59) (length)

/srv/dev-disk-by-label-data/Music/Superdrama/The Promise (7 items)
Tagging:
    Superdrama - The Promise
URL:
    https://musicbrainz.org/release/31106c65-647f-45a8-becf-b2beeccd471c
(Similarity: 100.0%) (tracks) (CD, 2014, DE, Progressive Promotion Records, PPRCD019)
 * In Love for a Day (6:30) -> In Love for a Day (6:41) (length)

/srv/dev-disk-by-label-data/Music/Supertramp/Crisis_ What Crisis_ (10 items)
Tagging:
    Supertramp - Crisis? What Crisis?
URL:
    https://musicbrainz.org/release/a520dbb9-b43a-3d9a-9ecf-2cbc434dd758
(Similarity: 99.8%) (tracks) (CD, 2002, US, A&M Records, 069 493 347-2)
 * The Meaning (5:06) -> The Meaning (5:23) (length)

/srv/dev-disk-by-label-data/Music/Sylvan/Artificial Paradise (9 items)
Tagging:
    Sylvan - Artificial Paradise
URL:
    https://musicbrainz.org/release/a018266b-0576-4da2-8297-0d9beb82d7ba
(Similarity: 98.9%) (tracks) (CD, 2014, DE, Gentle Art of Music, GOAM 029)
 * Deep Inside (2:11) -> Deep Inside (9:14) (length)

/srv/dev-disk-by-label-data/Music/The Alan Parsons Project/Gaudi (7 items)
Tagging:
    The Alan Parsons Project - Gaudi
URL:
    https://musicbrainz.org/release/d948572f-da84-41bd-9c78-654880e051d2
(Similarity: 100.0%) (tracks) (12" Vinyl, 1987, US, Arista, AL 8448)
 * Paseo de Gracia (instrumental) (3:37) -> Paseo de Gracia (instrumental) (3:47) (length)

/srv/dev-disk-by-label-data/Music/The Alan Parsons Project/Stereotomy (9 items)
Tagging:
    The Alan Parsons Project - Stereotomy
URL:
    https://musicbrainz.org/release/1610c896-a109-494d-aefe-f3a6148754ec
(Similarity: 99.4%) (tracks) (12" Vinyl, 1985, CA, Arista, AL9-8384)
 * Urbania (instrumental) (4:59) -> Urbania (instrumental) (4:34) (length)

/srv/dev-disk-by-label-data/Music/The Allman Brothers Band/Dreams (55 items)
Tagging:
    The Allman Brothers Band - Dreams
URL:
    https://musicbrainz.org/release/bfcd67cd-d4f6-4478-94b3-02ed2a102275
(Similarity: 99.7%) (tracks) (4xCD, 1989, US, Polydor, 839 424-2)
CD 1
 * B.B. King Medley (7:06) -> B.B. King Medley (6:15) (length)
CD 2
CD 3
CD 4

/srv/dev-disk-by-label-data/Music/The Brimstone Solar Radiation Band/The Brimstone Solar Radiation Band (13 items)
Tagging:
    The Brimstone Solar Radiation Band - The Brimstone Solar Radiation Band
URL:
    https://musicbrainz.org/release/a9453f06-13e6-4db9-9fc1-ba1258bcc24e
(Similarity: 99.7%) (tracks) (CD, 2004, NO, Big Dipper Records, BDRCD043)
 * Prologue (2:37) -> Prologue (2:15) (length)

/srv/dev-disk-by-label-data/Music/The Decemberists/Picaresqueties (5 items)
Tagging:
    The Decemberists - Picaresqueties
URL:
    https://musicbrainz.org/release/2333b83c-1d45-46bb-9ebd-6ffb72bbfcb7
(Similarity: 99.7%) (tracks) (Digital Media, 2006, XW)
 * The Kingdom of Spain (version Prescott) (3:32) -> The Kingdom of Spain (version Prescott) (3:48) (length)

/srv/dev-disk-by-label-data/Music/The Enid/Aerie Faerie Nonsense (6 items)
Tagging:
    The Enid - Aerie Faerie Nonsense
URL:
    https://musicbrainz.org/release/48904779-05b7-41aa-b0a7-8de0f58689e9
(Similarity: 98.2%) (tracks) (CD, 2010, GB, Operation Seraphim, EWCD17)
 * Prelude (1:20)         -> Prelude (0:57) (length)
 * Mayday Galliard (6:09) -> Mayday Galliard (6:43) (length)
 * Ondine (4:01)          -> Ondine (3:47) (length)

/srv/dev-disk-by-label-data/Music/The Enid/Arise and Shine (8 items)
Tagging:
    The Enid - Arise and Shine
URL:
    https://musicbrainz.org/release/20d4cbd8-57bc-46b7-b8f9-c36480961f14
(Similarity: 97.7%) (tracks) (CD, 2010, GB, Enidiworks, EWCD11, later pressed CD edition)
 * Dark Hydraulic Forces of the Id (13:32) -> Dark Hydraulic Forces of the Id (12:22) (length)
 * Sheets From the Blue Yonder (11:16)     -> Sheets From the Blue Yonder (12:26) (length)

/srv/dev-disk-by-label-data/Music/The Enid/Risen (8 items)
Tagging:
    The Enid - Risen
URL:
    https://musicbrainz.org/release/616c2381-4710-4cba-b34c-9ecc7451cb0f
(Similarity: 100.0%) (tracks) (CD, 2011)
 * The Tower (4:57) -> The Tower (4:47) (length)

/srv/dev-disk-by-label-data/Music/The Enid/Six Pieces (8 items)
Tagging:
    The Enid - Six Pieces
URL:
    https://musicbrainz.org/release/20c36cca-fe9c-416d-9d77-8445af0e1f91
(Similarity: 97.7%) (tracks) (CD, 1993, GB, Mantella, MNTL CD4)
 * The Dreamer - Part 1 (9:02) -> The Dreamer - Part 1 (1:32) (length)
 * The Dreamer - Part 2 (4:04) -> The Dreamer - Part 2 (7:32) (length)

/srv/dev-disk-by-label-data/Music/The Enid/Something Wicked This Way Comes (7 items)
Tagging:
    The Enid - Something Wicked This Way Comes
URL:
    https://musicbrainz.org/release/e18244f7-ddab-445a-8ce6-6e40aa02ed29
(Similarity: 98.7%) (tracks) (1982, GB)
 * Something Wicked This Way Comes (10:17) -> Something Wicked This Way Comes (9:37) (length)

/srv/dev-disk-by-label-data/Music/The Flower Kings/Islands (21 items)
Tagging:
    The Flower Kings - Islands
URL:
    https://musicbrainz.org/release/fb94d9d3-60f5-4608-bc5c-81bdc27e616f
(Similarity: 99.0%) (tracks) (2xCD, 2020, DE, Inside Out Music, IOMLTDCD 565)
CD 1
 * Tangerine (4:12)           -> Tangerine (3:51) (length)
 * Solaris (9:31)             -> Solaris (9:10) (length)
 * Heart of the Valley (4:41) -> Heart of the Valley (4:18) (length)
CD 2
 * A New Species (5:56)       -> A New Species (5:45) (length)
 * Looking for Answers (4:47) -> Looking for Answers (4:30) (length)
 * Telescope (4:52)           -> Telescope (4:41) (length)
 * Between Hope & Fear (4:42) -> Between Hope & Fear (4:29) (length)

/srv/dev-disk-by-label-data/Music/The Moody Blues/On the Threshold of a Dream (13 items)
Tagging:
    The Moody Blues - On the Threshold of a Dream
URL:
    https://musicbrainz.org/release/ac8be363-e0ac-4cd1-982f-54758499b72b
(Similarity: 99.9%) (tracks) (12" Vinyl, 1969, GB, Deram, SML 1035)
 * Have You Heard, Part I (1:40) -> Have You Heard, Part I (1:28) (length)
 * The Voyage (3:58)             -> The Voyage (4:10) (length)

/srv/dev-disk-by-label-data/Music/The Pineapple Thief/Abducting the Unicorn (9 items)
Tagging:
    The Pineapple Thief - Abducting the Unicorn
URL:
    https://musicbrainz.org/release/64e2da44-d38c-4b50-acac-f105efd449e1
(Similarity: 99.8%) (tracks) (CD, 1999, XE, Cyclops, CYCL 079)
 * Parted Forever (18:27) -> Parted Forever (18:12) (length)

/srv/dev-disk-by-label-data/Music/The Pineapple Thief/All the Wars (18 items)
Tagging:
    The Pineapple Thief - All the Wars
URL:
    https://musicbrainz.org/release/b629206a-c9ff-411f-87a0-a45103c2a658
(Similarity: 97.2%) (tracks) (2xCD, 2012, GB, Kscope, KSCOPE230, limited edition)
CD 1
CD 2: More Wars - The Acoustic Sessions
 * Warm Seas (3:57)          -> Warm Seas (4:11) (length)
 * Last Man Standing (5:11)  -> Last Man Standing (4:34) (length)
 * Every Last Moment (7:01)  -> Every Last Moment (2:34) (length)
 * Burning Pieces (4:11)     -> Burning Pieces (3:14) (length)
 * Reaching Out (9:49)       -> Reaching Out (4:54) (length)
 * Light Up Your Eyes (3:57) -> Light Up Your Eyes (4:07) (length)

/srv/dev-disk-by-label-data/Music/The Pineapple Thief/What We Have Sown (6 items)
Tagging:
    The Pineapple Thief - What We Have Sown
URL:
    https://musicbrainz.org/release/260e53c3-89ac-400d-9567-271f70bf5c15
(Similarity: 100.0%) (tracks) (CD, 2007, GB, Cyclops, CYCL 164)
 * Deep Blue World (6:05) -> Deep Blue World (5:55) (length)

/srv/dev-disk-by-label-data/Music/The Psychedelic Ensemble/The Myth of Dying (9 items)
Tagging:
    The Psychedelic Ensemble - The Myth of Dying
URL:
    https://musicbrainz.org/release/194788bb-ab4f-48ec-bb84-6085970fac8a
(Similarity: 99.9%) (tracks) (CD, 2010, US)
 * Canto III: The Visions of Eternity (8:59)   -> Canto III: The Visions of Eternity (9:11) (length)
 * Canto VII: The Realm of the Skeptics (5:59) -> Canto VII: The Realm of the Skeptics (6:10) (length)

/srv/dev-disk-by-label-data/Music/The Reasoning/Awakening (8 items)
Tagging:
    The Reasoning - Awakening
URL:
    https://musicbrainz.org/release/51fdae1f-9eb3-45be-991a-e311681a5333
(Similarity: 98.7%) (tracks) (CD, 2007, GB, Comet Music, CM010207)
 * Awakening (6:49) -> Awakening (4:42) (length)
 * Fallen Angel     -> Fallen Angels (title)

/srv/dev-disk-by-label-data/Music/The Rebel Wheel/We Are in the Time of Evil Clocks (13 items)
Tagging:
    The Rebel Wheel - We Are in the Time of Evil Clocks
URL:
    https://musicbrainz.org/release/179a6e05-701c-4ef0-a410-7ae9f60f62dd
(Similarity: 97.3%) (tracks) (CD, 2010)
 * We Are In The Time Of Evil Clocks (4:49) -> We Are In The Time Of Evil Clocks (6:30) (length)
 * Scales Of The Ebony Fish (5:15)          -> Scales Of The Ebony Fish (5:33) (length)
 * Settling Of Bones (5:11)                 -> Settling Of Bones (4:52) (length)
 * Pt2. Hags 1 (2:57)                       -> Pt2. Hags 1 (2:36) (length)
 * Pt7. Cavort (3:26)                       -> Pt7. Cavort (2:47) (length)

/srv/dev-disk-by-label-data/Music/Theodore Ziras/Virtual Virtuosity (11 items)
Tagging:
    Theodore Ziras - Virtual Virtuosity
URL:
    https://musicbrainz.org/release/367cd3c7-eef6-4ee0-a418-52183ca883d8
(Similarity: 99.0%) (tracks) (CD, 2003)
 * Fictitious Rhapsody (8:04) -> Fictitious Rhapsody (3:48) (length)

/srv/dev-disk-by-label-data/Music/Tiles/Presents of Mind (10 items)
Tagging:
    Tiles - Presents of Mind
URL:
    https://musicbrainz.org/release/22416a87-fe25-469d-9648-ed84943a60aa
(Similarity: 100.0%) (tracks) (CD, 1999, DE, Inside Out Music, IOMCD 032)
 * Reasonable Doubt (11:32) -> Reasonable Doubt (11:22) (length)

 /srv/dev-disk-by-label-data/Music/To-Mera/Exile (8 items)
Tagging:
    To-Mera - Exile
URL:
    https://musicbrainz.org/release/829063c9-cce4-41dd-b3f2-7f1611169098
(Similarity: 99.8%) (tracks) (Digital Media, 2012, Illusionary Records)
 * All I Am (12:32) -> All I Am (12:46) (length)

/srv/dev-disk-by-label-data/Music/Todd Rundgren/Initiation (7 items)
Tagging:
    Todd Rundgren - Initiation
URL:
    https://musicbrainz.org/release/7b018979-6ba7-4911-bfd1-feff9f9916e5
(Similarity: 100.0%) (tracks) (CD, 2014, GB, Edsel Records, EDSA 5032, 2014 Deluxe Edition)
 * The Death of Rock and Roll (3:59) -> The Death of Rock and Roll (3:48) (length)

/srv/dev-disk-by-label-data/Music/Transatlantic/Bridge Across Forever (10 items)
Tagging:
    Transatlantic - Bridge Across Forever
URL:
    https://musicbrainz.org/release/1274a05d-bf66-4e87-945d-a52ca2139c61
(Similarity: 99.0%) (tracks) (2xCD, 2001, FR, Nothing to Say, 3071852, limited edition)
CD 1
CD 2
 * Roine's Demo Bits (11:58) -> Roine's Demo Bits (14:30) (length)

/srv/dev-disk-by-label-data/Music/Transatlantic/The Whirlwind (20 items)
Tagging:
    Transatlantic - The Whirlwind
URL:
    https://musicbrainz.org/release/d19b1e47-468d-4a0e-b750-0201f538c415
(Similarity: 99.4%) (tracks) (2xCD, 2009, DE, Century Media, 0505058, special edition)
CD 1: The Whirlwind
CD 2: Bonus Disc
 * Soul Sacrifice (10:00) -> Soul Sacrifice (8:38) (length)

/srv/dev-disk-by-label-data/Music/Transport Aerian/Bleeding (9 items)
Tagging:
    Transport Aerian - Bleeding
URL:
    https://musicbrainz.org/release/f5b4300c-8140-4997-965a-0fa7db8e6521
(Similarity: 98.9%) (tracks) (CD, 2013, BE)
 * Triangle Town (7:04) -> Triangle Town (6:16) (length)

/srv/dev-disk-by-label-data/Music/Trans‐Siberian Orchestra/The Christmas Attic (17 items)
Tagging:
    Trans‐Siberian Orchestra - The Christmas Attic
URL:
    https://musicbrainz.org/release/9c866354-6c5d-4260-bd4b-69715c59890b
(Similarity: 99.3%) (tracks) (CD, 2002, US, Atlantic, 83145 2)
 * The World That She Sees (4:13) -> The World That She Sees (3:00) (length)

/srv/dev-disk-by-label-data/Music/Témpano/Atabal-Yémal (9 items)
Tagging:
    Témpano - Atabal-Yémal
URL:
    https://musicbrainz.org/release/2b96799f-a493-471e-9ce4-1edd6a016fa7
(Similarity: 98.5%) (tracks) (CD, 1998, FR, Musea, FGBG 4260.AR)
 * Atabal-Yémal (11:10)    -> Atabal-Yémal (10:09) (length)
 * Arbol de la vida (9:46) -> Arbol de la vida (10:08) (length)

/srv/dev-disk-by-label-data/Music/Unitopia/The Garden (15 items)
Tagging:
    Unitopia - The Garden
URL:
    https://musicbrainz.org/release/c57b3ae6-22b9-3998-9459-fdb7d95c122b
(Similarity: 99.2%) (tracks) (2xCD, 2008, XE, Inside Out Music, IOMCD 307)
CD 1
 * Inside the Power (6:36) -> Inside the Power (4:32) (length)
CD 2

/srv/dev-disk-by-label-data/Music/Utopia/Ra (7 items)
Tagging:
    Utopia - Ra
URL:
    https://musicbrainz.org/release/2c42fb0d-ff7b-4814-a7ac-ba44bac30b2b
(Similarity: 99.6%) (tracks) (12" Vinyl, 1977, US, Bearsville Records, BR 6965)
 * Overture: Mountaintop and Sunrise / Communion With the Sun (6:54) -> Overture: Mountaintop and Sunrise / Communion With the Sun (7:15) (length)


/srv/dev-disk-by-label-data/Music/Veloce Hystoria/Shining & Majestic (9 items)
Tagging:
    Veloce Hystoria - Shining & Majestic
URL:
    https://musicbrainz.org/release/27f76534-7cb5-499f-a8ca-33ee45206386
(Similarity: 98.9%) (tracks) (CD, 2010, FR, Brennus Music, BR 8209)
 * Out of Mind (6:09) -> Out of Mind (3:11) (length)

/srv/dev-disk-by-label-data/Music/Wally/Valley Gardens (4 items)
Tagging:
    Wally - Valley Gardens
URL:
    https://musicbrainz.org/release/785c4a63-812a-4a4e-8f8e-2fc0eee7f130
(Similarity: 99.9%) (tracks) (SHM-CD, 2015, JP, Atlantic, WPCR-16308, Limited Edition)
 * The Reason Why (18:28) -> The Reason Why (18:16) (length)

/srv/dev-disk-by-label-data/Music/Wally/Wally (6 items)
Tagging:
    Wally - Wally
URL:
    https://musicbrainz.org/release/318f9dd1-e5b7-4c63-af14-fd94b130a93e
(Similarity: 99.6%) (tracks) (SHM-CD, 2015, JP, Atlantic, WPCR-16307)
 * I Just Wanna Be a Cowboy (3:57) -> I Just Wanna Be a Cowboy (4:08) (length)
 * Sunday Walking Lady (2:33)      -> Sunday Walking Lady (2:45) (length)
 * To the Urban Man (13:43)        -> To the Urban Man (13:57) (length)
 * Your Own Way (5:25)             -> Your Own Way (5:38) (length)

/srv/dev-disk-by-label-data/Music/Wishbone Ash/Argus (11 items)
Tagging:
    Wishbone Ash - Argus
URL:
    https://musicbrainz.org/release/54c516a1-222c-4ccb-912e-a07b61790a64
(Similarity: 100.0%) (tracks) (SHM-CD, 2013, JP, Geffen Records, UICY-40015)
 * Leaf and Stream (4:06) -> Leaf and Stream (3:56) (length)

/srv/dev-disk-by-label-data/Music/Wishbone Ash/Twin Barrels Burning (9 items)
Tagging:
    Wishbone Ash - Twin Barrels Burning
URL:
    https://musicbrainz.org/release/dc6998cf-9ff7-4fb3-a2c0-0370e1605cdc
(Similarity: 98.9%) (tracks) (12" Vinyl, 1982, US, AVM Records, F-9629)
 * Wind Up (5:03)   -> Wind Up (5:36) (length)
 * My Guitar (3:58) -> My Guitar (3:42) (length)
 * Hold On (4:50)   -> Hold On (4:40) (length)

/srv/dev-disk-by-label-data/Music/Wovenhand/Black of the Ink (6 items)
Tagging:
    Wovenhand - Black of the Ink
URL:
    https://musicbrainz.org/release/be960948-3c27-4e7b-82e4-76240c11d851
(Similarity: 100.0%) (tracks) (CD, 2011, DE, Glitterhouse Records, GRCD 732)
 * White Bird (4:17) -> White Bird (4:28) (length)

/srv/dev-disk-by-label-data/Music/XII Alfonso/Odyssées (14 items)
Tagging:
    XII Alfonso - Odyssées
URL:
    https://musicbrainz.org/release/e5303aae-d432-4947-9009-2aa6f8e717c8
(Similarity: 99.2%) (tracks) (CD, 1999, FR, Musea, FGBG 4303.AR)
 * En Castille (live) (7:36) -> En Castille (live) (4:40) (length)

/srv/dev-disk-by-label-data/Music/Yesterdays/Holdfénykert (10 items)
Tagging:
    Yesterdays - Holdfénykert
URL:
    https://musicbrainz.org/release/c964e3f1-790e-487f-bc0e-c789c9b4b5d2
(Similarity: 99.9%) (tracks) (CD, 2014, FI, Seacrest Oy, SCR - 1010)
 * Napfénykert (1:58) -> Napfénykert (2:11) (length)

/srv/dev-disk-by-label-data/Music/Zero 7/Simple Things (12 items)
Tagging:
    Zero 7 - Simple Things
URL:
    https://musicbrainz.org/release/90f74e19-b59b-4acd-bcb7-2103d9f63c85
(Similarity: 98.0%) (tracks) (CD, 2001, GB, Ultimate Dilemma, UDRCD016)
 * Destiny (5:57)    -> Destiny (5:37) (length)
 * Red Dust (4:45)   -> Red Dust (5:40) (length)
 * This World (5:08) -> This World (5:36) (length)
 * Likufanele (6:05) -> Likufanele (6:24) (length)

/srv/dev-disk-by-label-data/Music/Étron Fou Leloublan/43 Songs (43 items)
Tagging:
    Étron Fou Leloublan - 43 Songs
URL:
    https://musicbrainz.org/release/45829500-c30c-301f-96c6-89c5a2539db0
(Similarity: 99.7%) (tracks) (3xCD, 1996, FR, Musea, FGBG 4212.AR)
CD 1
 * Le Désastreux Voyage de piteux python (10:40) -> Le Désastreux Voyage de piteux python (10:59) (length)
CD 2
 * L'Enfance de Guigou (6:08)                    -> L'Enfance de Guigou (6:25) (length)
CD 3
 * Mon petit chorus (4:12)                       -> Mon petit chorus (4:27) (length)

/srv/dev-disk-by-label-data/Music/高円寺百景/Viva Koenji!! (10 items)
Tagging:
    高円寺百景 - Viva Koenji!!
URL:
    https://musicbrainz.org/release/619fb45b-cbf2-3b34-ac13-900deb5ff264
(Similarity: 98.0%) (tracks) (CD, 2006, US, Skin Graft Records, GR#83CD)
 * Brahggo (3:42)       -> Brahggo (4:49) (length)
 * Cembell Rotta (4:46) -> Cembell Rotta (3:44) (length)

/srv/dev-disk-by-label-data/Music/Camel/The Snow Goose (16 items)
Tagging:
    Camel - The Snow Goose
URL:
    https://musicbrainz.org/release/b7fef05b-0968-41f7-821a-25187486c497
(Similarity: 100.0%) (tracks) (12" Vinyl, 1975, GB, Decca Records, SKL-R 5207)
 * La princesse perdue (4:57) -> La princesse perdue (4:45) (length)

1.11.2. DONE Migrate genre tag from progarchives artist to musicbrainz artist

1.11.3. NEXT Identify instrumental tracks and tag them

Use Spotify instrumental list Xtractor with its is_instrumental, then process the matches with:

$ beet modify cast arsis genre='Symphonic Prog, Instrumental'

for track level instrumental tagging after the whole library has been tagged with wlg.

1.11.4. NEXT Find all lossy .mp3 and .ogg files and replace them with .flac

First enable globstar:

$ shopt -s extglob globstar

Then, to recursively find:

$ printf '%s\n' **/*.@(mp3|ogg)

Also do the same for .ape and .m4a files and convert them to .flac. Conversion can be done by running:

$ for i in *.ape; do convtoflac.sh -d "$i"; done

Target is that 100% of the music library is in .flac.

1.11.5. NEXT Downloading: yt-dlp for websites including, SoundCloud, YouTube, and Mixcloud +

  • Find out what are these and what is their quality. Source.

1.11.6. FOLLOWUP Figure out a way to differentiate two same artists in dir structure

  • Note taken on [2022-12-21 Wed 10:47]
    Check out if Moe is able to add some needed functionality.
  • Discussion on that started here.

1.11.7. NEXT Ratings

Ratings implementation that worked:

$ metaflac --set-tag=RATING="80" 01-01\ Alien\ Angel.flac

metaflac --list 01-01\ Alien\ Angel.flac

[...]
 comment[38]: RATING=80
METADATA block #3
  type: 1 (PADDING)
  is last: true
  length: 29230

metaflac --set-tag=rating="100" 01-03

Did not work (installed prior this: https://beets.readthedocs.io/en/stable/plugins/types.html):

$ beet modify 3 wake pig monster RATING=5

$ pip3 install git+https://github.com/caph1993/beets-usertag.git

$ beet addtag 3 wake pig monster -t rating

Research this some more. rating is a custom field, and others have used it, also with success.

beet list rating::. returns rating only for
wake pig - alien angel , but not for
wake pig - monster

tuomas@omv:/srv/dev-disk-by-label-data/Music/3/2004 - Wake Pig $ beet list rating::.
3 - Wake Pig - Alien Angel
tuomas@omv:/srv/dev-disk-by-label-data/Music/3/2004 - Wake Pig $

although wake pig - monster has RATING: 5 (perhaps added by command: metaflac --set-tag=RATING="5" 01-02\ Monster.flac)

Let's show data from the library database instead of the files’ tags:
beet info --library wake pig alien angel
reveals that the track has:
rating: 60 -> which means **** stars in Neutron (range 0-100).

but,

beet info --library wake pig monster
reveals that the track has:
RATING: 5 -> which means * stars in Neutron (range 0-100).

So far it is clear that neither rating or RATING is recognized by beet
as a tag.
But is it so that RATING is not regocnized by library and thus
beet list rating::. does not return wake ping - monster?

So let's try to validate that with:

beet modify 3 wake pig monster rating=5

tuomas@omv:/srv/dev-disk-by-label-data/Music/3/2004 - Wake Pig $ beet modify 3 wake pig monster rating=5
Modifying 1 items.
3 - Wake Pig - Monster
  rating: 5
Really modify, move and write tags? (Yes/no/select) Y
tuomas@omv:/srv/dev-disk-by-label-data/Music/3/2004 - Wake Pig $

then inspect the change:
beet info --library wake pig monster

and finally:
beet list rating::.

Result of validation:

tuomas@omv:/srv/dev-disk-by-label-data/Music/3/2004 - Wake Pig $ beet list rating::.
3 - Wake Pig - Alien Angel
3 - Wake Pig - Monster
tuomas@omv:/srv/dev-disk-by-label-data/Music/3/2004 - Wake Pig $


SO....

beet modify a couple tracks more, and rerun scan in neutron player to see if
the changes take effect there. If not, then, do also beet write to write the contents of the database
into the files' tags.
beet info wake pig alien angel
Dumps the current tag values for any file format supported by beets:

rg_album_gain: -8.95
rg_album_peak: 1.202264
rg_track_gain: -8.9
rg_track_peak: 1.161449

beet info --library wake pig alien angel
Show data from the library database instead of the files’ tags:

rating: 60
rg_album_gain: -8.9
rg_album_peak: 1.2
rg_track_gain: -8.9
rg_track_peak: 1.2
  1. NEXT Start reporting ios/android players with rating support

    As depicted in here.. Check at least USB Audio Player PRO and Capricio.

1.11.8. DONE How to rate music with 5-star rating system

: Thrash. Extremely rare. Technically so flawed that listening to this wakes up negative feelings in you. Auto-tune out of hands or indeliberately playing off-key are good examples. Or, sometimes the song is technically OK, but the lyrics are so idiotic they insult its listener, or, when watching the music video, you feel secondhand embarrassment. Only reason to keep the track is if you're a completionist and want to preserve the song as part of an album. Very rarely the song is so bad it goes viral and people listen to it anyway. Now go and experience Rebecca Black's single: Friday.

☆☆: Fillers. Common. They don't irritate, but you don't conciously tune into these either. They're not bad, but they're not good either. Barely noticeable no-name-artist background music in a shopping mall and algorithmically composed elevator music goes here. These songs are indifferent and chances are you don't even remember them being labelled as 2-star songs. From artists' perspective, maybe a two-star rating is even worse than 1-star rating as they condemn into mediocrity.

☆☆☆: Enjoyable. Most of the music you enjoy should end up here. You may find yourself humming to a catchy, repeating the chorus, tapping your feet to the rhytm etc. This is a song you like and would enjoy hearing again as long as it wasn't too frequent.

☆☆☆☆: Favorite. Rare. If you really love hearing a song over and over… and over again, it's a four-star beauty. You know it is four-star also, when you find yourself searching and artist and an album, and then selecting this from that album. All of your absolute favorite songs will end up here. This pretty much the highest rating, except…

☆☆☆☆☆: Masterpiece. Extremely rare. Capable of invoking every now and then physically observable emotions and reactions: tears, goosebumps, happy memories… I don't have many of these. Usually starts as a 4-star but evolves through numerous listenings into something more meaningful and personal.

1.11.9. NEXT Improve import performance

As proved here.: CREATE INDEX items_path_idx on items(path);

Install sqlite3 and connect with it to musiclibrary.db as with this Tutorial and run the index. Backup the database prior this if needed to restore.

1.11.10. NEXT ListenBrainz and AI-generated playlist

1.11.11. NEXT Go through config and apply

Here is good example for something called xtractor. Investigate and apply that. Also consider if tekstowo only for lyrics is enough, as in previous sample config.

1.11.12. NEXT MusicPlayerPlus

Outside of context of these notes, but investigate if this has extra value. It seem to be packaged for rpi as well as for Debian.

1.11.13. NEXT Figure out what is difference between tags Genre and Genres

Observable with $ $ beet info steve howe beginnings doors of sleep

Both tags are modified if I do $ beet modify steve howe beginnings doors of sleep genre='Crossover Prog'

Tuomas Pyyhtiä / Validate NVim 0.9.5 (nvim-orgmode 0.3.1)