beetbox / beetbox/beets

Importer fails to find perfect match until given MusicBrainz release ID

Open
#4,882 8 comments 0 reactions 0 assignees View on GitHub
musicbrainz needinfo
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

Greetings,

I recently discovered beets and have been trying to import my CD collection.
I'm having trouble getting the importer to present the correct album version as a candidate for selection.
First I rip the CD with 'fre:ac' and I find it adds correct tags to my FLAC file for:
ARTIST, TITLE, ALBUM, DATE, GENRE, MEDIA.
When I start the import, beets is able to correctly deduce the Album and Artist and will present what it thinks is a match, but this is often the wrong country or wrong year for the album release. So in my config I added a match preference to try and force only candidates associated with my country, media type, and album year.

This doesn't help much. I continue to get candidates for other media types and countries. Beets knows these aren't great matches and assigns them less than a 100% score. Here is a screenshot of trying to import the Album:

import-war

The candidate presented isn't a perfect match since the year doesn't match. So I ask for more candidates and get five that aren't matches:

import-war-more

What is frustrating is that if I bring up the MusicBrainz release versions page, I can see the correct version I want is the first one on the page after throwing out entries not matching my country or media type:

import-war-versions

To get around this problem, I find the correct release on MusicBrainz and paste it into the beets importer prompt.
When I do that, now beets shows my manual entry as a 100% match!

import-war-success

What is going on here? Is beets not getting all the possible candidates back from MusicBrainz in order to try and find a better match? Is there a way to ask for more candidates other than the five I see during the import session? Having to manually search the website for the correct match and pasting it into beets becomes tedious fast.

### Debug

Running 'beet import' in verbose (`-vv`) mode:

```sh
user configuration: /Users/moore/.config/beets/config.yaml
data directory: /Users/moore/.config/beets
plugin paths:
Sending event: pluginload
library database: /Users/moore/.config/beets/library.db
library directory: /Users/moore/Music/Beets-Test
Sending event: library_opened
Sending event: import_begin
state file could not be read: [Errno 2] No such file or directory: '/Users/moore/.config/beets/state.pickle'
state file could not be read: [Errno 2] No such file or directory: '/Users/moore/.config/beets/state.pickle'
Sending event: import_task_created
Sending event: import_task_start
Looking up: /Users/moore/Music/freac-rips/U2/War
Tagging U2 - War
No album ID found.
Search terms: U2 - War
Album might be VA: False
Searching for MusicBrainz releases with: {'release': 'war', 'artist': 'u2', 'tracks': '10'}
Requesting MusicBrainz release 1318f39c-362a-4266-b9de-c653525d52c6
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: U2 - War (1318f39c-362a-4266-b9de-c653525d52c6)
Computing track assignment...
...done.
Success. Distance: 0.04
Requesting MusicBrainz release 4ec1a9bf-fd01-4184-9def-7940874547cf
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: U2 - War (4ec1a9bf-fd01-4184-9def-7940874547cf)
Computing track assignment...
...done.
Success. Distance: 0.02
Requesting MusicBrainz release 8a278f76-f452-42a4-aede-fdd1990c09ca
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: U2 - War (8a278f76-f452-42a4-aede-fdd1990c09ca)
Computing track assignment...
...done.
Success. Distance: 0.04
Requesting MusicBrainz release 074ab7a5-eac2-4e87-8748-6c3034bdeeb9
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: U2 - War (074ab7a5-eac2-4e87-8748-6c3034bdeeb9)
Computing track assignment...
...done.
Success. Distance: 0.04
Requesting MusicBrainz release 1219c9fd-7278-44ce-a480-d4f5737c640d
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: U2 - War (1219c9fd-7278-44ce-a480-d4f5737c640d)
Computing track assignment...
...done.
Success. Distance: 0.07
Evaluating 5 candidates.

/Users/moore/Music/freac-rips/U2/War (10 items)
Sending event: import_task_before_choice
Sending event: before_choose_candidate
Tagging:
U2 - War
URL:
https://musicbrainz.org/release/4ec1a9bf-fd01-4184-9def-7940874547cf
(Similarity: 97.8%) (year) (CD, 2008, US, Universal Island Records, B0010832-02)
[A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort? Finding tags for album "U2 - War".
Candidates:
1. U2 - War (97.8%) (year) (CD, 2008, US, Universal Island Records, B0010832-02)
2. U2 - War (96.5%) (media) (Digital Media, 1983, US, un-remastered iTunes)
3. U2 - War (96.1%) (year, country) (CD, 2008, XE, Universal Island Records, 1764647, super jewel box)
4. U2 - War (96.1%) (year, country) (CD, 2008, XE, Universal Island Records, 1764647, jewel case)
5. U2 - War (92.5%) (media, year, country) (12" Vinyl, 2008, XE, Mercury Records, 1761674)
# selection (default 1), Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort? Enter release ID: Tagging U2 - War
Searching for album ID: https://musicbrainz.org/release/cd62302d-c3aa-439b-b4f3-1a891625581e
Requesting MusicBrainz release https://musicbrainz.org/release/cd62302d-c3aa-439b-b4f3-1a891625581e
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: U2 - War (cd62302d-c3aa-439b-b4f3-1a891625581e)
Computing track assignment...
...done.
Success. Distance: 0.00
Evaluating 1 candidates.
Sending event: before_choose_candidate
Tagging:
U2 - War
URL:
https://musicbrainz.org/release/cd62302d-c3aa-439b-b4f3-1a891625581e
(Similarity: 100.0%) (CD, 1983, US, Island, 90067-2, Target design, made in West Germany by Polygram)
[A]pply, More candidates, Skip, Use as-is, as Tracks, Group albums,
Enter search, enter Id, aBort? Sending event: import
Sending event: cli_exit
```

### Setup

* OS: MacOS
* Python version: 3.10.11
* beets version: 1.6.1 (latest from github master)
* Turning off plugins made problem go away (yes/no): No

My configuration (output of `beet config`) is:

```yaml
directory: /Users/moore/Music/Beets-Test

import:
write: no
copy: yes
move: no
timid: yes
reflink: auto
resume: ask
incremental: yes
log: /Users/moore/Music/log/importer.log

ui:
color: no

match:
preferred:
countries: [US]
media: [CD]
original_year: yes
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.