Description
Problem
I had been away from Beets for a while and when I went back to it, I had a problem. Rather than diagnose it, I decided to install the latest version of beets in an "editable" configuration using the command below (as documented).
pip install -e git+https://github.com/beetbox/beets#egg=beets
I use the "editable" version because I have written plug-ins previously for my personal use.
When I run any import, I get a "No matching release found." Each album is fully tagged using Picard and is in Musicbrainz. Beets shows the Musicbrainz album ID that it is getting from the tag so it should be an easy lookup. Trying to debug, I went to the config.yaml file and thought maybe it had something to do with the plug-ins. I have about a dozen plug-ins defined so I went through a number of permutations of included and excluded plugins without any luck. On a whim, I commented out the entire plug-ins section and Beets worked. By worked I mean, it accessed Musicbrainz and came back with information on the album and performeed as expected from the config.yaml setup.
Just to be complete, I reran my test inserting only a single plug-in for each test. For all plug-ins the result was the same - no matching release found. Commenting out the entire plug-ins section works predictably.
Running this command when the plug-ins section is present in config.yaml
beet -vv import /Volumes/share/tempmusic/CAKE
results in:
beet -vv import /Volumes/share/tempmusic/CAKE
user configuration: /Users/myname/.config/beets/config.yaml
data directory: /Users/myname/.config/beets
plugin paths:
fetchart: google: Disabling art source due to missing key
fetchart: lastfm: Disabling art source due to missing key
Sending event: pluginload
library database: /Volumes/share/beets/library1.db
library directory: /Volumes/share/music
Sending event: library_opened
Sending event: import_begin
Sending event: import_task_created
Sending event: import_task_start
Looking up: /Volumes/share/tempmusic/CAKE/Comfort_Eagle
Tagging CAKE - Comfort Eagle
Searching for discovered album ID: 6cd63d08-d785-4b66-a14f-a5f038620e4b
Search terms: CAKE - Comfort Eagle
Album might be VA: False
Evaluating 0 candidates.
/Volumes/share/tempmusic/CAKE/Comfort_Eagle (11 items)
Sending event: import_task_before_choice
Sending event: before_choose_candidate
No matching release found for 11 tracks.
For help, see: https://beets.readthedocs.org/en/latest/faq.html#nomatch
➜ [S]kip, Use as-is, as Tracks, Group albums, Enter search, enter Id, aBort? s
Sending event: import_task_choice
Sending event: import
Sending event: cli_exit
No matching release
running the same command when the plug-ins section in config.yaml is commented out results in:
beet -vv import /Volumes/share/tempmusic/CAKE
user configuration: /Users/myname/.config/beets/config.yaml
data directory: /Users/myname/.config/beets
plugin paths:
Sending event: pluginload
library database: /Volumes/share/beets/library1.db
library directory: /Volumes/share/music
Sending event: library_opened
Sending event: import_begin
Sending event: import_task_created
Sending event: import_task_start
Looking up: /Volumes/share/tempmusic/CAKE/Comfort_Eagle
Tagging CAKE - Comfort Eagle
Searching for discovered album ID: 6cd63d08-d785-4b66-a14f-a5f038620e4b
musicbrainz: Requesting MusicBrainz release 6cd63d08-d785-4b66-a14f-a5f038620e4b
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_track_extract
Sending event: mb_album_extract
Sending event: albuminfo_received
Candidate: CAKE - Comfort Eagle (6cd63d08-d785-4b66-a14f-a5f038620e4b)
Computing track assignment...
...done.
Success. Distance: 0.00
Album ID match recommendation is 3
ID match.
/Volumes/share/tempmusic/CAKE/Comfort_Eagle (11 items)
Sending event: import_task_before_choice
Sending event: before_choose_candidate
Match (100.0%):
CAKE - Comfort Eagle
MusicBrainz, CD, 2001, US, Columbia, CK 85982, None
https://musicbrainz.org/release/6cd63d08-d785-4b66-a14f-a5f038620e4b
* Artist: CAKE
* Album: Comfort Eagle
≠ (#2) Meanwhile, Rick James... (3:57) -> (#2) Meanwhile, Rick James… (3:57)
Sending event: import_task_choice
found duplicates: [4487]
default action for duplicates: a
This album is already in the library!
Old: 11 items, MP3, 192kbps, 36:56, 51.3 MiB
New: 11 items, MP3, 192kbps, 36:56, 51.3 MiB
➜ [S]kip new, Keep all, Remove old, Merge all? s
Sending event: import
Sending event: cli_exit
Beets clearly finds the album in Musicbrainz and offers to take action.
Setup
- OS: MacOS Sequoia 15.5
- Python version: 3.12.2
- beets version: 2.3.1
- Turning off plugins made problem go away (yes/no): Yes, as described above.
My configuration (output of beet config
) is:
beet config
directory: /Volumes/share/music
# --------------- Main ---------------
library: /Volumes/share/beets/library1.db
import:
copy: no
move: yes
write: yes
log: /Volumes/share/beets/import.log
singletons: no
asciify_paths: yes
bell: yes
incremental: no
incremental_skip_later: yes
resume: yes
paths:
default: Albums/$albumartist/$album%aunique{}/$disc-$track $artist - $title
singleton: Non-Album/$artist ($year) - $title
comp: Compilations/$album%aunique{}/$disc-$track $artist - $title
albumtype_soundtrack: Soundtracks/$album/$disc-$track $artist - $title
pluginpath: /Users/myname/ownCloud/GitHub/beets/src/beets/beetsplug
replace:
'[\\/]': _
^\.: _
'[\x00-\x1f]': _
'[<>:"\?\*\|]': _
\.$: _
\s+$: ''
^\s+: ''
^-: _
match:
strong_rec_thresh: 0.2
max_rec:
missing_tracks: low
unmatched_tracks: low
preferred:
countries: [US, GB|UK]
original_year: yes
musicbrainz:
genre: no
# --------------- Plugins ---------------
plugins: scrub fetchart lyrics lastgenre replaygain embedart missing convert unimported info mbsync badfiles
scrub:
auto: yes
embedart:
compare_threshold: 0
maxwidth: 0
auto: yes
ifempty: no
remove_art_file: no
quality: 0
fetchart:
cover_names: front art album folder
sources: filesystem coverart amazon albumart
auto: yes
minwidth: 0
maxwidth: 0
quality: 0
max_filesize: 0
enforce_ratio: no
cautious: no
store_source: no
high_resolution: no
deinterlace: no
cover_format:
google_key: REDACTED
google_engine: REDACTED
lastfm_key: REDACTED
fanarttv_key: REDACTED
lyrics:
auto: yes
google_API_key: REDACTED
google_engine_ID: REDACTED
sources: google musixmatch genius tekstowo
translate:
api_key: REDACTED
from_languages: []
to_language:
dist_thresh: 0.11
genius_api_key: REDACTED
fallback:
force: no
local: no
print: no
synced: no
lastgenre:
auto: yes
canonical: no
count: 3
fallback: none
force: yes
min_weight: 10
prefer_specific: no
source: album
whitelist: yes
title_case: yes
keep_existing: no
separator: ', '
extended_debug: no
replaygain:
auto: yes
backend: ffmpeg
per_disc: no
overwrite: no
threads: 6
parallel_on_import: no
peak: 'true'
targetlevel: 89
r128: [Opus]
r128_targetlevel: 84
convert:
auto: no
copy_album_art: yes
embed: yes
never_convert_lossy_files: yes
delete_originals: yes
dest:
pretend: no
link: no
hardlink: no
threads: 6
format: mp3
id3v23: inherit
formats:
aac:
command: ffmpeg -i $source -y -vn -acodec aac -aq 1 $dest
extension: m4a
alac:
command: ffmpeg -i $source -y -vn -acodec alac $dest
extension: m4a
flac: ffmpeg -i $source -y -vn -acodec flac $dest
mp3: ffmpeg -i $source -y -vn -aq 2 $dest
opus: ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest
ogg: ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest
wma: ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest
max_bitrate:
auto_keep: no
tmpdir:
quiet: no
paths: {}
no_convert: ''
album_art_maxwidth: 0
playlist:
missing:
# --------------- Search ---------------
format_item: $album - $disc-$track $title
count: no
total: no
album: no
unimported:
ignore_extensions: []
ignore_subdirectories: []