Skip to content

original_date ignored on import #6577

@torext

Description

@torext

Problem

Have an example album where even though I have original_date: yes in my config, on import the wrong year gets stored. Specifically it is the following Michal Jackson album that's being imported with a year=1988, the year of the specific pressing, as opposed to the expected year=1979 of the original release given on the MusicBrainz page:

https://musicbrainz.org/release/7fa492d6-3b75-4f75-9cd8-b87e4def2417

Below the output of running beet -vv import ... on this album:

Verbose output of `beet import`
user configuration: /Users/torext/.config/beets/config.yaml
data directory: /Users/torext/.config/beets
plugin paths: []
Loading plugins: alternatives, convert, edit, fetchart, info, mbsync, musicbrainz
fetchart: google: Disabling art source due to missing key
fetchart: lastfm: Disabling art source due to missing key
fetchart: To use Spotify as an album art source, you must install the beautifulsoup4 module. See the documentation for further details.
Sending event: pluginload
library database: /Users/torext/.config/beets/library.db
library directory: /Users/torext/Desktop/beets_test/FLAC
Sending event: library_opened
Sending event: import_begin
state file could not be read: [Errno 2] No such file or directory: b'/Users/torext/.config/beets/state.pickle'
Sending event: import_task_created
Sending event: import_task_start
Looking up: /Users/torext/Music/FLAC/Michael Jackson/Off the Wall [25·8P-5138]
Tagging Michael Jackson - Off the Wall
Searching for discovered album ID: 7fa492d6-3b75-4f75-9cd8-b87e4def2417
musicbrainz: Requesting MusicBrainz release 7fa492d6-3b75-4f75-9cd8-b87e4def2417
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: Michael Jackson - Off the Wall (7fa492d6-3b75-4f75-9cd8-b87e4def2417) from MusicBrainz
Computing track assignment...
...done.
Success. Distance: 0.00
Sending event: album_matched
Album ID match recommendation is 3
Search terms: Michael Jackson - Off the Wall
Album might be VA: False
musicbrainz: Searching for '' with {'release': 'off the wall', 'artist': 'michael jackson'}
Searching for MusicBrainz releases with: 'release:(off the wall) artist:(michael jackson)'
musicbrainz: Found 5 result(s)
musicbrainz: Requesting MusicBrainz release bf8fca85-6709-4a78-86f0-9789e617c5c8
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
musicbrainz: Requesting MusicBrainz release 6258e39d-bef4-4d5a-a654-440cf4c4c29a
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
musicbrainz: Requesting MusicBrainz release 72d8b60b-154f-4925-88f8-7c8be0589b90
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_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
musicbrainz: Requesting MusicBrainz release 74c9841c-bc3d-42d3-b594-d5cba24ee7d4
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
musicbrainz: Requesting MusicBrainz release ead57fd6-b1f5-4087-aa4c-5f0a0cce1964
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: Michael Jackson - Off The Wall (bf8fca85-6709-4a78-86f0-9789e617c5c8) from MusicBrainz
Computing track assignment...
...done.
Success. Distance: 0.22
Sending event: album_matched
Sending event: albuminfo_received
Candidate: Michael Jackson - Off the Wall (6258e39d-bef4-4d5a-a654-440cf4c4c29a) from MusicBrainz
Computing track assignment...
...done.
Success. Distance: 0.24
Sending event: album_matched
Sending event: albuminfo_received
Candidate: Michael Jackson - Off the Wall (72d8b60b-154f-4925-88f8-7c8be0589b90) from MusicBrainz
Computing track assignment...
...done.
Success. Distance: 0.31
Sending event: album_matched
Sending event: albuminfo_received
Candidate: Michael Jackson - Off the Wall (74c9841c-bc3d-42d3-b594-d5cba24ee7d4) from MusicBrainz
Computing track assignment...
...done.
Success. Distance: 0.17
Sending event: album_matched
Sending event: albuminfo_received
Candidate: Michael Jackson - Off the Wall (ead57fd6-b1f5-4087-aa4c-5f0a0cce1964) from MusicBrainz
Computing track assignment...
...done.
Success. Distance: 0.17
Sending event: album_matched
Evaluating 6 candidates.
Sending event: import_task_before_choice
Sending event: before_choose_candidate
Sending event: import_task_choice
Sending event: import_task_apply
0 of 10 items replaced
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
fetchart: trying source filesystem[default] for album Michael Jackson - Off the Wall
fetchart: using well-named art file cover.jpg
fetchart: using local image b'/Users/torext/Music/FLAC/Michael Jackson/Off the Wall [25\xc2\xb78P-5138]/cover.jpg'
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Parsed query: AndQuery([NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([BooleanQuery('comp', 1, fast=True)])
Parsed sort: NullSort()
Sending event: item_copied
Sending event: database_change
Sending event: database_change
Sending event: write
Sending event: after_write
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: import_task_files
Sending event: art_set
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
Sending event: database_change
state file could not be read: [Errno 2] No such file or directory: b'/Users/torext/.config/beets/state.pickle'
Sending event: album_imported
Sending event: import
Sending event: cli_exit

Setup

  • OS: macos 14.5
  • Turning off plugins made problem go away (yes/no): no
  • Output of beet --version:
beets version 2.10.0
Python version 3.13.7
plugins: alternatives, convert, edit, fetchart, info, mbsync, musicbrainz

My configuration (output of beet config -d) is:

config.yaml
directory: ~/Desktop/beets_test/FLAC

# --------------- Plugins ---------------

plugins: musicbrainz fetchart convert mbsync info edit alternatives

import:
    incremental_skip_later: yes
    from_scratch: yes
    write: yes
    copy: yes
    move: no
    timid: no
    quiet: no
    log:
    default_action: apply
    languages: []
    quiet_fallback: skip
    none_rec_action: ask
    link: no
    hardlink: no
    reflink: no
    delete: no
    resume: ask
    incremental: no
    autotag: yes
    singletons: no
    detail: no
    flat: no
    group_albums: no
    pretend: no
    search_ids: []
    duplicate_keys:
        album: albumartist album
        item: artist title
    duplicate_action: ask
    duplicate_verbose_prompt: no
    bell: no
    set_fields: {}
    ignored_alias_types: []
    singleton_album_disambig: yes
    fix_ext_inplace: no
    remux_mp3_in_wav: yes

match:
    ignore_video_tracks: no
    strong_rec_thresh: 0.04
    medium_rec_thresh: 0.25
    rec_gap_thresh: 0.25
    max_rec:
        missing_tracks: medium
        unmatched_tracks: medium
    distance_weights:
        data_source: 2.0
        artist: 3.0
        album: 3.0
        media: 1.0
        mediums: 1.0
        year: 1.0
        country: 0.5
        label: 0.5
        catalognum: 0.5
        albumdisambig: 0.5
        album_id: 5.0
        tracks: 2.0
        missing_tracks: 0.9
        unmatched_tracks: 0.6
        track_title: 3.0
        track_artist: 2.0
        track_index: 1.0
        track_length: 2.0
        track_id: 5.0
        medium: 1.0
    preferred:
        countries: []
        media: []
        original_year: no
    ignored: []
    required: []
    ignored_media: []
    ignore_data_tracks: yes
    track_length_grace: 10
    track_length_max: 30
    album_disambig_fields: data_source media year country label catalognum albumdisambig
    singleton_disambig_fields: data_source index track_alt album
original_date: yes
convert:
    never_convert_lossy_files: yes
    dest:
    pretend: no
    link: no
    hardlink: no
    threads: 11
    format: mp3
    id3v23: inherit
    write_metadata: yes
    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: no
    auto_keep: no
    tmpdir:
    quiet: no
    embed: yes
    paths: {}
    no_convert: ''
    copy_album_art: no
    album_art_maxwidth: 0
    delete_originals: no
    playlist:
alternatives:
    mp3:
        directory: ~/Desktop/beets_test/MP3
        formats: mp3

aunique:
    keys: albumartist album
    disambiguators: albumtype original_year label catalognum albumdisambig releasegroupdisambig
    bracket: '[]'
# --------------- Main ---------------

library: library.db
statefile: state.pickle

pluginpath: []

raise_on_error: no

# --------------- Import ---------------

clutter: [Thumbs.DB, .DS_Store]
ignore:
- .*
- '*~'
- System Volume Information
- lost+found
ignore_hidden: yes

# --------------- Paths ---------------

path_sep_replace: _
drive_sep_replace: _
asciify_paths: no
art_filename: cover
max_filename_length: 0
replace:
    '[<>:\?\*\|]': _
    \": _
    '[\\/]': _
    ^\.: _
    \.$: _
    '[\x00-\x1f]': _
    ^-: _
    \s+$: ''
    ^\s+: ''

sunique:
    keys: artist title
    disambiguators: year trackdisambig
    bracket: '[]'

# --------------- Tagging ---------------

per_disc_numbering: no
artist_credit: no
id3v23: no
va_name: Various Artists
paths:
    default: $albumartist/$album%aunique{}/$track $title
    singleton: Non-Album/$artist/$title
    comp: Compilations/$album%aunique{}/$track $title

# --------------- Performance ---------------

threaded: yes
timeout: 5.0

# --------------- UI ---------------

verbose: 0
terminal_encoding:

ui:
    terminal_width: 80
    length_diff_thresh: 10.0
    color: yes
    colors:
        text_success: [bold, green]
        text_warning: [bold, yellow]
        text_error: [bold, red]
        text_highlight: [bold, red]
        text_highlight_minor: [white]
        action_default: [bold, cyan]
        action: [bold, cyan]
        text_faint: [faint]
        import_path: [bold, blue]
        import_path_items: [bold, blue]
        changed: [yellow]
        text_diff_added: [bold, green]
        text_diff_removed: [bold, red]
        action_description: [white]

    import:
        indentation:
            match_header: 2
            match_details: 2
            match_tracklist: 5
        layout: column

# --------------- Search ---------------

format_item: $artist - $album - $title
format_album: $albumartist - $album
time_format: '%Y-%m-%d %H:%M:%S'
format_raw_length: no

sort_album: albumartist+ album+
sort_item: artist+ album+ disc+ track+
sort_case_insensitive: yes

# --------------- Autotagger ---------------

overwrite_null:
    album: []
    track: []
disabled_plugins: []
musicbrainz:
    search_limit: 5
    data_source_mismatch_penalty: 0.5
    search_query_ascii: no
    genres: no
    genres_tag: genre
    external_ids:
        discogs: no
        bandcamp: no
        spotify: no
        deezer: no
        tidal: no
    extra_tags: []
fetchart:
    auto: yes
    minwidth: 0
    maxwidth: 0
    quality: 0
    max_filesize: 0
    enforce_ratio: no
    cautious: no
    cover_names:
    - cover
    - front
    - art
    - album
    - folder
    fallback:
    sources:
    - filesystem
    - coverart
    - itunes
    - amazon
    - albumart
    - cover_art_url
    store_source: no
    high_resolution: no
    deinterlace: no
    cover_format:
    google_key: REDACTED
    google_engine: REDACTED
    lastfm_key: REDACTED
    fanarttv_key: REDACTED
edit:
    albumfields: album albumartist
    itemfields: track title artist album
    ignore_fields: id path

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions