#+TITLE: Beets installation on Raspberry Pi 4 #+SUBTITLE: With various Beets plugins #+DESCRIPTION: Tutorial on how to install beets alongside OMV5 #+AUTHOR: Tuomas Pyyhtiä #+EMAIL: #+DATE: #+KEYWORDS: # Export underscore as underscore instead of highlight in HTML: #+OPTIONS: ^:nil # Include usable macros from https://github.com/fniessen/org-macros: #+INCLUDE: ../org-mode/macros/org-macros.setup #+INFOJS_OPT: view:showall ltoc:nil path:https://iki.fi/~pyyhttu/debian/org-mode/js/org-info.js #+HTML_HEAD: * Beets ** Philosophy #+BEGIN_QUOTE 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. -- [[https://beets.io/][beets.io]]. #+END_QUOTE 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 [[https://www.reddit.com/r/musichoarder/comments/ui6cqs/who_are_the_music_hoarders/][one]] reason, or [[https://pitchfork.com/features/article/the-obsessive-world-of-digital-music-collectors/][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 [[https://musicbrainz.org/doc/How_to_Contribute][MusicBrainz]], which is an open, collaborative music database under Creative Commons license, and operated by a non-profit organization. ** 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 [[https://github.com/florib779/beets-config#installation][here]]: ~$ sudo apt install python3-pip python3-gi~ ~$ pip3 install beets~ #+BEGIN_SRC bash 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 #+END_SRC ** Alternatively, install beets as a docker in omv Video instructions [[https://www.reddit.com/r/OpenMediaVault/comments/j0e20t/beautify_your_music_collection_with_beets_the_app/][here]]. ** 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~ #+BEGIN_SRC bash beets version 1.5.0 Python version 2.7.16 plugins: fetchart, info, lyrics, mbsync tuomas@omv:~ $ #+END_SRC *** 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~ *** DONE Create minimal =config.yaml= and =musiclibrary.db= for beets ~$ nano /home/tuomas/.config/beets/config.yaml~ #+BEGIN_SRC bash 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 #+END_SRC ~$ touch /home/tuomas/data/musiclibrary.db~ ** 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 [[https://github.com/linuxserver/docker-beets/issues/2][an error]] is received and no image conversion happens: #+BEGIN_SRC bash fetchart: Could not get size of image (please see documentation for dependencies). The configuration options `minwidth`, `enforce_ratio` and `max_filesize` may be violated. #+END_SRC ~$ sudo aptitude --no-install-recommends install imagemagick~ #+BEGIN_SRC bash tuomas@omv:~/.config/beets $ which convert /usr/bin/convert tuomas@omv:~/.config/beets $ #+END_SRC *** DONE Install =cuetools= for splitting and pre-tagging #+begin_note *Note*: Whatever splitting and tagging software is installed, make sure the software stack splits the flacs with cues [[https://www.reddit.com/r/musichoarder/comments/qst53p/automatically_split_album_into_individual_tracks/hkg4lou/?context=3][correctly.]] #+end_note Downloaded music sometimes comes with files such as: ~$ ls -al random_album/~ #+BEGIN_SRC bash 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' #+END_SRC Beets does [[https://discourse.beets.io/t/support-for-cue-sheets/927][not yet understand]] one continuous flac separated by a =.cue= file, so the =.flac= [[https://wiki.archlinux.org/index.php/CUE_Splitting][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~ **** DONE =cuetools= usage Then combining both splitting and pretagging (based on cue sheets) can be done with [[https://bbs.archlinux.org/viewtopic.php?id=75774][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~ **** DONE Alternatively, experiment command line splitting using =unflac= ~$ sudo aptitude install golang~ Add the following to =~/.bashrc= and source it: #+BEGIN_SRC bash export GOPATH=$HOME/go export PATH=$GOROOT/bin:/$GOPATH/bin export GO111MODULE on #+END_SRC 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. #+begin_note *Note:* =unflac= does not yet support replay gain or album art, so continue using =Flacon=. #+end_note **** DONE Alternatively, split using GUI: Flacon [[https://flacon.github.io/download/][Add their Debian repository]] and [[https://github.com/flacon/flacon/wiki/Command-line-usage][operate it from CLI]]. For editing cue sheets and track lists, use [[https://cuemaster.org/][CueMaster]] via [[https://www.winehq.org/][Wine]]. #+begin_note *Note*: Debian repository seems to lag behind, so install using [[https://flathub.org/apps/details/com.github.Flacon][Flacon flatpak]]. Update with ~flatpak update~. Run with ~flatpak --verbose run com.github.Flacon~. #+end_note **** DONE Alternatively, Experiment operating =Flacon= from command line Run by doing: ~$ flacon --start file.cue~. See [[https://github.com/flacon/flacon/wiki/Command-line-usage#options][options]] for more. **** 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. *** DONE Install =wavpack= and extract =.wv= audio files with accompanied =.cue= file sheets ~$ wvunpack -cc file.wv~ ** 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..'~ ** [[https://beets.readthedocs.io/en/stable/plugins/index.html][Plugins]] *** DONE [[https://beets.readthedocs.io/en/stable/plugins/fetchart.html][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: #+BEGIN_SRC bash 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 #+END_SRC To resolve, check first the validity of the orphaned record with: #+BEGIN_SRC bash 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 $ #+END_SRC 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 [[https://musicbrainz.org/doc/How_to_Add_Cover_Art][these instructions]] and rerun ~beet fetchart -q~ until all the records have been found. *** NEXT [[https://beets.readthedocs.io/en/stable/plugins/lyrics.html][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~ **** 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. - [[https://discourse.beets.io/t/trimming-some-lyrics-sources/1381][There are many specialized databases]], however, they're rate limited, block IPs etc. Using the config option google to parser these may be better. **** NEXT Remove Genius as lyrics source in config - Followup if [[https://github.com/beetbox/beets/issues/3727][undocumented]] config option =genius_api_key= works, as there is [[https://www.reddit.com/r/musichoarder/comments/r0k49m/comment/hm9fzur/?utm_source=reddit&utm_medium=web2x&context=3][this]] report. If validated not to be working (only half of the lyrics fetched without subscription), then remove Genius. **** NEXT Consider removing MusixMatch as lyrics source in config - Reason is [[https://github.com/beetbox/beets/issues/2630][whac-a-mole game]] where beets lyrics plugin is blocked, and their [[https://developer.musixmatch.com/plans][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. Next: try to run daily only few albums to see if latter is true. Also try to fetch the lyrics using a different client, for example with [[https://www.reddit.com/r/musichoarder/comments/w7as70/synced_lyrics/][foobar2000 LSP3]] and see if they are blocked. **** NEXT Also see - https://github.com/emilioastarita/lyricfier - https://www.reddit.com/r/musichoarder/comments/yuwwt9/lrcget_opensource_utility_for_massdownloading_lrc/ *** DONE [[https://beets.readthedocs.io/en/stable/plugins/info.html][Info Plugin]] :manual: Example of usage: ~$ beet info *.flac | grep id~ Alternatively, use [[https://xiph.org/flac/documentation_tools_metaflac.html][metaflac]]: ~$ metaflac --list *.flac~ *** DONE [[https://beets.readthedocs.io/en/stable/plugins/badfiles.html][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 [[https://www.blisshq.com/music-library-management-blog/2020/12/09/repair-flac-files/][documented here.]] =.flac=-files with warnings/errors: #+BEGIN_SRC bash WARNING, cannot check MD5 signature since it was unset in the STREAMINFO #+END_SRC or, #+BEGIN_SRC bash FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC #+END_SRC or, #+BEGIN_SRC bash FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH #+END_SRC Resolve by [[https://github.com/xiph/flac/issues/155#issuecomment-1126336346][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: #+BEGIN_SRC bash Wrong number of MPEG frames specified in Xing header #+END_SRC or, #+BEGIN_SRC bash Wrong number of MPEG data bytes specified in Xing header #+END_SRC or, #+BEGIN_SRC bash It seems that file is truncated or there is garbage at the end of the file #+END_SRC Resolve per [[http://mp3val.sourceforge.net/docs/manual.html][mp3val documentation]] by running: ~$ mp3val -f *.mp3~ **** NEXT Alternatively check [[https://github.com/geigerzaehler/beets-check][Beets-Check]] :automatic: As an alternative [[https://github.com/Schweinepriester/beets-config/issues/28][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:= [[https://github.com/beetbox/beets/issues/3974][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). *** FOLLOWUP [[https://beets.readthedocs.io/en/stable/plugins/scrub.html][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 [[https://discourse.beets.io/t/remove-specific-tags/1275][usage explained]], as well as their [[https://github.com/beetbox/beets/issues/1670][Difference]]. **** FOLLOWUP Figure out why certain fields are not scrubbed These: #+BEGIN_SRC bash albumartists: artists: bitrate_mode: encoder_info: encoder_settings: mb_workid: #+END_SRC 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 [[https://beets.readthedocs.io/en/latest/changelog.html#in-development][development version of 1.6.1.]]. After I've upgraded, retest and scrub should be able to remove these fields. *** DONE [[https://beets.readthedocs.io/en/stable/plugins/zero.html][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 [[https://github.com/beetbox/beets/issues/3961#issuecomment-848341557][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~ *** DONE [[https://beets.readthedocs.io/en/v1.5.0/plugins/duplicates.html][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: #+BEGIN_SRC bash 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 $ #+END_SRC ...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~ #+BEGIN_SRC bash /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 #+END_SRC 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 [[https://dupeguru.voltaicideas.net/][dupe guru]]. *** DONE [[https://beets.readthedocs.io/en/stable/plugins/importadded.html][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~ #+BEGIN_SRC bash 2020-08-04 15:12:20 #+END_SRC ~$ beet list -f '$mtime' bacamarte ufo~ #+BEGIN_SRC bash 2022-03-08 11:15:58 #+END_SRC See [[https://beets.readthedocs.io/en/stable/reference/query.html?highlight=mtime#date-and-date-range-queries][here]] for more queries. *** NEXT [[https://beets.readthedocs.io/en/v1.5.0/plugins/web.html][Web Plugin]] :automatic: Visual view of music library in web browser. *** DONE [[https://beets.readthedocs.io/en/stable/plugins/edit.html][Edit Plugin]] :manual: Edit music metadata during import using text editor of your choice. *** DONE [[https://beets.readthedocs.io/en/stable/plugins/mbcollection.html][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~. #+begin_note *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~. #+end_note *** DONE [[https://beets.readthedocs.io/en/stable/plugins/the.html][The Plugin]] :automatic: *** DONE [[https://beets.readthedocs.io/en/stable/plugins/mbsubmit.html][Mbsubmit Plugin]] :manual: *** DONE [[https://beets.readthedocs.io/en/stable/plugins/replaygain.html][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: #+BEGIN_SRC bash $ beet replaygain -waf Änglagård Hybris replaygain: Analyzing 1 albums ~ ffmpeg backend... replaygain: analyzing Änglagård - Hybris #+END_SRC #+begin_note 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. #+end_note ReplayGain tags per the ReplayGain 2.0 [[https://wiki.hydrogenaud.io/index.php?title=ReplayGain_2.0_specification#ID3v2][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=: #+BEGIN_SRC bash replaygain: backend: ffmpeg r128: [Opus] #+END_SRC ...and then rerunning: ~$ beet replaygain -waf QUERY~. But there's also a newer standard, EBU R128 [[https://www.sourceaudio.com/2020/12/lufs-setting-audio-levels/][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=: #+BEGIN_SRC bash replaygain: backend: ffmpeg r128: FLAC #+END_SRC Which to use, ReplayGain or EBU R128, or tag with both? What's the [[https://hydrogenaud.io/index.php?topic=120918.0][difference?]] Reading [[https://github.com/beetbox/beets/issues/2557][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 [[https://github.com/beetbox/beets/discussions/4935][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. **** 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!~ *** FOLLOWUP [[https://beets.readthedocs.io/en/v1.4.9/plugins/mbsync.html][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. #+begin_warning *Warning:* Beware when using ~$ beet mbsync~ as it [[https://github.com/beetbox/beets/issues/4289][will currently null]] =genre= tag because of open bug [[https://github.com/beetbox/beets/issues/4071][4071.]] Latest status also covered [[https://discourse.beets.io/t/not-pulling-correct-genre-from-musicbrainz/2007][here.]] To workaround that, consider compiling from [[https://github.com/alastair/python-musicbrainzngs/forks?include=active&page=1&period=6mo&sort_by=stargazer_counts][forks]] your own python-musicbrainzngs. #+end_warning *** DONE [[https://beets.readthedocs.io/en/stable/plugins/unimported.html][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~. #+BEGIN_SRC bash 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 #+END_SRC 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. *** DONE [[https://beets.readthedocs.io/en/stable/plugins/fromfilename.html][FromFilename Plugin]] :automatic: *** DONE [[https://beets.readthedocs.io/en/stable/plugins/chroma.html][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: #+BEGIN_SRC bash [...] 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. [...] #+END_SRC ...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 [[https://acoustid.org/][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=. *** DONE [[https://beets.readthedocs.io/en/stable/plugins/acousticbrainz.html][AcousticBrainz]] and [[https://beets.readthedocs.io/en/stable/plugins/absubmit.html][AcousticBrainzSubmit Plugin]] :automatic: Get acoustic-analysis information from the AcousticBrainz project and submit acoustic analysis results to the AcousticBrainz server. #+begin_note *Edit:* [[https://blog.metabrainz.org/2022/02/16/acousticbrainz-making-a-hard-decision-to-end-the-project/][The AcousticBrainz project]] has been ended. Update [2023-01-16 Mon]: It seems analysis information can be gotten with [[https://github.com/beetbox/beets/discussioncommentons/4249#discussioncomment-4689456][Xtractor.]] #+end_note *** NEXT [[https://github.com/adamjakab/BeetsPluginXtractor][Xtractor]] :automatic: *** FOLLOWUP [[https://beets.readthedocs.io/en/latest/plugins/missing.html][Missing Plugin]] :manual: Find out which tracks per album are missing, or which albums per artist are missing. #+begin_note *Note:* Missing plugin has various bugs/feature requests open, effectively rendering it unusable for me. First, [[https://discourse.beets.io/t/how-to-find-missing-albums-eps-by-release-type/347][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 [[https://github.com/beetbox/beets/issues/3804][issue 3804]] is open. #+end_note Alterntively, investigate on [[https://www.reddit.com/r/musichoarder/comments/v81htl/comment/ibnxhxa/][Lidarr]]. *** DONE [[https://beets.readthedocs.io/en/stable/plugins/rewrite.html][Rewrite Plugin]] :manual: Sometimes artists create spinoff projects, which in turn creates an archaic directory structure. Consider for example a band [[http://www.progarchives.com/artist.asp?id=4451#discography][=/music/Asturias=]], which has released under close to similar artist names =/music/Acoustic Asturias= and =/music/Electric Asturias=. For such artists, [[https://www.reddit.com/r/musichoarder/comments/sdzu3o/beets_collect_artists_and_weird_soundtracks/][create a rewrite rule]] in config utilizing [[https://beets.readthedocs.io/en/stable/plugins/rewrite.html][rewrite plugin]]: #+BEGIN_SRC src artist Acoustic Asturias: Asturias #+END_SRC Then move the artists in their place. Simulating the changes with =-p=-flag (pretend): ~$ beet move -p Acoustic Asturias~: #+BEGIN_SRC bash 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 #+END_SRC 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. ** [[https://beets.readthedocs.io/en/stable/plugins/index.html][Other Plugins]] Install the plugins in this section [[https://beets.readthedocs.io/en/stable/plugins/index.html#other-plugins][as per instructions here]]. *** DONE [[https://github.com/nolsto/beets-follow][Beets-follow]] :automatic: Get notifications about new releases from album artists in your Beets library using [[https://muspy.com][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: [[https://www.musicbutler.io/][musicbutler.io]] (closed source, paid service), [[https://www.friendstapes.com/][friedstapes.com]] (closed source, free), [[https://apps.apple.com/us/app/musicharbor-track-new-music/id1440405750][MusicHarbor]] (iOS app). Or then, combine beets with Lidarr. #+begin_note *Note:* The upstream =/nolsto/beets-follow= is no longer maintained, so git-compile the fork [[https://github.com/GuilhermeHideki/beets-follow][=/GuilhermeHideki/beets-follow=]]. #+end_note ~$ 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~ *** NEXT Investigate on [[https://github.com/rafaelparente/beets-lidarr-fields][beets-lidarr]] *** DONE [[https://github.com/YetAnotherNerd/whatlastgenre][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=: #+BEGIN_SRC bash [score] minimum = 1.0 #+END_SRC as "= 1.0 same effect as =--tag-limit 1=" according to [[https://github.com/YetAnotherNerd/whatlastgenre#minimum-option][documentation]]. #+begin_note *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. #+end_note Whatlastgenre also comes with beets plugin [[https://github.com/YetAnotherNerd/whatlastgenre/tree/master/plugin/beets][wlg]] which needs to be configured in =~/.config/beets/config= which then supports with config =auto: yes= genre tagging automatically when doing ~beet import~. #+begin_note *Note:* Currently wlg does not seem to write the genre tag, when run independently ~beet wlg -v QUERY~. It might be utilizing the [[https://discourse.beets.io/t/not-pulling-correct-genre-from-musicbrainz/2007][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. #+end_note =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~ *** NEXT [[https://github.com/snejus/beetcamp][Beetcamp]] :automatic: Use bandcamp as an extra autotagger source, for fetching lyrics and cover art. #+BEGIN_SRC bash # 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 from wlg import whatlastgenre File "/home/tuomas/.config/beets/plugins/whatlastgenre/plugin/beets/beetsplug/wlg.py", line 28, in 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 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 $ #+END_SRC **** 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...~ *** NEXT [[https://discourse.beets.io/t/stream-your-music-everywhere-using-beetstream-subsonic-api/2104][Beetstream]] Requires =Python 3.8= or newer. Raspberry PI OS only has =3.7.3-1= available, so would need to compile python [[https://raspberrytips.com/install-latest-python-raspberry-pi/][from source]]. *** NEXT BeetsPluginDescribe Does not install with pip3, try again after clean install. https://github.com/adamjakab/BeetsPluginDescribe ** 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. *** 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/ *** FOLLOWUP Updating collection to MusicBrainz :automatic: Run periodically: ~$ beet -v mbupdate~ This will sync your local album count, artists etc. to [[https://musicbrainz.org/doc/Collections][MusicBrainz Collection]]. *** DONE Upgrading beets to latest version :manual: New beets version are published peridically at [[https://github.com/beetbox/beets/releases][Beets Github releases]]. ~$ pip3 install -U beets~ #+BEGIN_SRC bash tuomas@omv:~ $ pip install -U beets Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting beets Downloading https://files.pythonhosted.org/packages/3b/7d/c1b9493666669d7a72ca9f41c522b36bf106b31e4f747e970ff89bc33914/beets-1.5.0.tar.gz (1.7MB) 100% |████████████████████████████████| 1.7MB 220kB/s Collecting confuse>=1.0.0 (from beets) Downloading https://files.pythonhosted.org/packages/ec/13/dae6eb3d7e40d5c79e2b6fba4192c84e8390c82e02e1c8ad4a8c4224f292/confuse-1.5.0-py2.py3-none-any.whl Requirement already satisfied, skipping upgrade: enum34>=1.0.4 in ./.local/lib/python2.7/site-packages (from beets) (1.1.10) Requirement already satisfied, skipping upgrade: jellyfish==0.6.0 in ./.local/lib/python2.7/site-packages (from beets) (0.6.0) Collecting mediafile>=0.2.0 (from beets) Downloading https://files.pythonhosted.org/packages/c0/d4/17c68f6c3ef71dd911c9d373e2d0dd39421e3dd732b14f41b8fec2e99603/mediafile-0.7.0-py2.py3-none-any.whl Requirement already satisfied, skipping upgrade: munkres~=1.0.0 in ./.local/lib/python2.7/site-packages (from beets) (1.0.12) Requirement already satisfied, skipping upgrade: musicbrainzngs>=0.4 in ./.local/lib/python2.7/site-packages (from beets) (0.7.1) Requirement already satisfied, skipping upgrade: pyyaml in ./.local/lib/python2.7/site-packages (from beets) (5.4.1) Requirement already satisfied, skipping upgrade: six>=1.9 in ./.local/lib/python2.7/site-packages (from beets) (1.15.0) Requirement already satisfied, skipping upgrade: unidecode in ./.local/lib/python2.7/site-packages (from beets) (1.2.0) Collecting mutagen>=1.43; python_version < "3.0.0" (from mediafile>=0.2.0->beets) Downloading https://files.pythonhosted.org/packages/46/e7/537440fd53f8f9fc178c4bf961a85e739a05d9a6abc09868ffd2f2f4cce0/mutagen-1.43.1-py2.py3-none-any.whl (212kB) 100% |████████████████████████████████| 215kB 1.6MB/s Building wheels for collected packages: beets Running setup.py bdist_wheel for beets ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-Ht0yTA/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-QrSbJZ --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 Failed to build beets Installing collected packages: confuse, mutagen, mediafile, beets Found existing installation: beets 1.4.9 Uninstalling beets-1.4.9: Successfully uninstalled beets-1.4.9 Running setup.py install for beets ... done Successfully installed beets-1.5.0 confuse-1.5.0 mediafile-0.7.0 mutagen-1.43.1 tuomas@omv:~ $ #+END_SRC *** FOLLOWUP Checking statistics :manual: Check [[https://beets.readthedocs.io/en/stable/reference/cli.html#stats][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~ *** 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. *** 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. *** FOLLOWUP Checking missing fingerprints, albums without ReplayGain and tracks without lyrics 1) Query tracks without Chroma plugin's =acoustid_fingerprint=: ~$ beet list acoustid_fingerprint::^$~ 2) Query tracks without ReplayGain: ~$ beet list rg_album_gain::^$~ 3) Query tracks without lyrics: ~$ beet list lyrics::^$~ *** FOLLOWUP Finding and cleaning non-studio albums (soundtracks excluded) :manual: Search by using the =albumtype= field. Run it with query term negation to return [[https://wiki.musicbrainz.org/Release_Group/Type][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 [[https://musicbrainz.org][musicbrainz]] and [[https://progarchives.com/][progarchives.]] *** NEXT Finding and correcting albums with missing type :manual: Query non-official albums utilizing in tracking field [[https://musicbrainz.org/doc/Release#Status][=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 [[https://wiki.musicbrainz.org/Release_Group#Type][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: #+BEGIN_SRC bash Dave Greenslade - Routes-Roots: c13f43e9-2daf-4410-80ed-5725b5e73f80 Kayak - Periscope Life: df0d63c7-7261-45b1-a3b6-d664c06def4c #+END_SRC Then reimport these in: #+BEGIN_SRC bash 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 #+END_SRC Then rerun ~$ beet list -af '$albumartist - $album: $mb_albumid' ^albumstatus:official~. Result should be zero. *** FOLLOWUP Finding and correcting missing genres :manual: Run periodically: ~$ beet list genre::^$~ This will inspect entries with missing genres. *** FOLLOWUP Finding and adding missing cover arts :manual: Run periodically: ~$ beet fetchart -q~ This will list albums without covers. If findings, add them to [[https://musicbrainz.org/doc/How_to_Add_Cover_Art][Cover Art Archive.]] Use [[https://www.reddit.com/r/musichoarder/comments/y0j54m/mh_covers_search_for_high_quality_album_covers/][covers.musichoarders.xyz]] to locate high quality (enough) covers. You can also run =find= to [[https://askubuntu.com/questions/196960/find-directories-that-dont-contain-a-file][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). *** 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~ #+begin_warning *Warning:* Beware when using ~$ beet mbsync~ as it [[https://github.com/beetbox/beets/issues/4289][will currently null]] =genre= tag because of open bug [[https://github.com/beetbox/beets/issues/4071][4071.]] Latest status also covered [[https://discourse.beets.io/t/not-pulling-correct-genre-from-musicbrainz/2007][here.]] #+end_warning 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$~ *** FOLLOWUP Updating database :manual: Metadata changes and file deletions may cause database mismatches. The [[https://beets.readthedocs.io/en/stable/reference/cli.html#update][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. *** FOLLOWUP Writing changes to filesystem :manual: Before [[https://beets.readthedocs.io/en/stable/reference/cli.html#write][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. ** Troubleshooting *** 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. *** 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 [[https://beets.readthedocs.io/en/stable/faq.html#put-a-bunch-of-underscores-in-my-filenames][maximum file name compatibility]]. - Use [[https://beets.readthedocs.io/en/stable/reference/config.html?highlight=replace#replace][=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=: #+BEGIN_SRC '[\\/]': _ '^\.': _ '[\x00-\x1f]': _ '[<>:"\?\*\|]': _ '\.$': _ '\s+$': '' '^\s+': '' '^-': _ #+END_SRC *** DONE Clean out dummy database entries indicated by ~$ beet stats -e~ Also reported at Github [[https://github.com/beetbox/beets/issues/2450][issue 2450]]. Resolved by running: ~$ beet -vv update mare et terra~ #+BEGIN_SRC bash 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 $ #+END_SRC *** FOLLOWUP Cleaning redundant =cover.1.jpg= files from disk and beets database Beets can't current handle [[https://github.com/beetbox/beets/issues/2419#issuecomment-316557579][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 [[https://unix.stackexchange.com/a/535381][recursive]] =find= every now and then and find left behind directories with nothing else than =cover.jpg= in them: #+BEGIN_SRC bash 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 {} + #+END_SRC #+BEGIN_SRC 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 $ #+END_SRC However, deleting those from the disk requires still me to clean the database. ** Observations and future direction *** NEXT While rerunning the script against =../Music/=, observe length errors 4) Change config option :# Re-analyze files that already have ReplayGain tags. Default: no. : overwrite: yes= to =no=. Length errors: #+BEGIN_SRC bash /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) #+END_SRC *** DONE Migrate genre tag from progarchives artist to musicbrainz artist *** NEXT Identify instrumental tracks and tag them Use +Spotify instrumental list+ [[https://github.com/adamjakab/BeetsPluginXtractor][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=. *** 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=. *** NEXT Downloading: yt-dlp for websites including, SoundCloud, YouTube, and Mixcloud + - Find out what are these and what is their quality. [[https://www.reddit.com/r/musichoarder/comments/ui6cqs/comment/i7alnyp/][Source.]] *** 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 [[https://www.reddit.com/r/musichoarder/comments/zqhvpb/moe_20_simplify_your_python_scripts/][Moe]] is able to add some needed functionality. - Discussion on that started [[https://discourse.beets.io/t/differentiating-two-artists-with-same-name-in-directory-structure/2127][here.]] *** NEXT Ratings Ratings implementation that worked: ~$ metaflac --set-tag=RATING="80" 01-01\ Alien\ Angel.flac~ #+BEGIN_SRC bash 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 #+END_SRC 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 [[https://github.com/beetbox/beets/discussions/4681][others have used it]], also with success. #+BEGIN_SRC notes 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. #+END_SRC #+BEGIN_SRC notes 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 #+END_SRC **** NEXT Start reporting ios/android players with rating support As depicted in [[https://discourse.beets.io/t/writing-rating-tag/2366/4][here.]]. Check at least [[https://www.extreamsd.com/index.php/products/usb-audio-player-pro][USB Audio Player PRO]] and [[https://capriccio.kr/en/][Capricio.]] *** DONE How to rate music with 5-star rating system {{{highlight(yellow, ☆)}}}: 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. {{{highlight(yellow, ☆☆)}}}: 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. {{{highlight(yellow, ☆☆☆)}}}: 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. {{{highlight(yellow, ☆☆☆☆)}}}: 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... {{{highlight(yellow, ☆☆☆☆☆)}}}: 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. *** NEXT Improve import performance As proved [[https://discourse.beets.io/t/any-suggestions-for-improving-import-update-throughput/2264][here.]]: ~CREATE INDEX items_path_idx on items(path);~ Install =sqlite3= and connect with it to =musiclibrary.db= as with this [[https://www.sqlitetutorial.net/sqlite-commands/][Tutorial]] and run the index. Backup the database prior this if needed to restore. *** NEXT ListenBrainz and AI-generated playlist - State "NEXT" from "" [2023-04-10 Mon 16:50] - https://www.reddit.com/r/musichoarder/comments/128cp48/attn_music_data_hoarders_listenbrainz_releases/ *** NEXT Go through config and apply [[https://github.com/doctorfree/MusicPlayerPlus/wiki/BeetsPlugins][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. *** NEXT MusicPlayerPlus Outside of context of these notes, but investigate if [[https://github.com/doctorfree/MusicPlayerPlus#readme][this]] has extra value. It seem to be packaged for rpi as well as for Debian. *** 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'~ * Footnotes