beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.81k stars 1.82k forks source link

Proliferation of artist directories and distribution of album files across these #1908

Closed tom-- closed 8 years ago

tom-- commented 8 years ago

Using both the default paths: config and my customized but similar config, beets reorganizes each file according to its artist name tag (as found with Musicbrainz/Discogs/chroma). So the tracks belonging to a source album with more than one value for the artist name tag become separated. Almost all compilation albums and very many classical releases are distributed in the resulting directory structure according to track title.

In my test case, I used as source an iTunes/Music directory containing 733 artist directories, which together contain a total of 1748 album directories. There is an artist directory named "Compilations" that contains 277 album directories and no "Various Artists" artist directory.

After beet import the beets directory contains 1681 artist directories containing a total of 2658 album directories. The "Compilations" artist directory contains 4 albums and the new "Various Artists" directory contains 19 albums (all of which have an incomplete set of audio files).

Using the resulting beets collection in other software/apps/devices it is hard to navgivate and to listen to multi-artist albums such as this.

Speculation

I tried to imagine what's going on:

  1. beets is failing to detect when an album is a compilation and use the comp: template from paths: instead of default:.
  2. Musicbrainz seldom returns "Various Artists" as the $albumartist and probably never "Compilation"
  3. beets doesn't have logic to cope with classical music releases, which very often don't have an album name or an album artist. For example, beets reorganized this release in a way that made no sense, with many composition names in the $albumartist position.

    Questions

Is there something in my configuration responsible for this behavior or is this unavoidable?

My reason to use beets is to consolidate music files from several source locations and then manage them. (I tried only one source so far, the best organized iTunes/Music directory i have available.) Does this mean I need to use the move: yes setting? (I imagine so.)

Setup

lyrics:
    sources: [lyricwiki, lyrics.com, musixmatch]
    google_API_key: REDACTED
    force: no
    auto: yes
    genius_api_key: REDACTED
    google_engine_ID: REDACTED
    fallback:

paths:
    default: $albumartist/$album%aunique{}/$track $title
    singleton: Non-Album/$artist/$title
    comp: Compilations/$album%aunique{}/$track $artist - $title
play:
    command: /Applications/VLC.app/Contents/MacOS/VLC
    warning_threshold: -2
    use_folders: no
    warning_treshold: 100
    raw: no
    relative_to:
duplicates:
    delete: yes
    merge: yes
    tiebreak:
        items: [bitrate]
    count: no
    full: no
    format: ''
    keys: []
    move: ''
    tag: ''
    path: no
    copy: ''
    album: no
    strict: no
    checksum: ''
ignore: .AppleDouble ._* *~ .DS_Store

musicbrainz:
    host: 192.168.56.101:5000
    ratelimit: 500

plugins: chroma discogs fromfilename acousticbrainz embedart fetchart lyrics mbsync scrub play duplicates lastgenre
directory: /Volumes/RAIDv2/Music

import:
    write: yes
    copy: yes
    none_rec_action: asis
    group_albums: yes
    log: /Users/fsb/Logs/beets/beets.log
acousticbrainz:
    auto: yes

match:
    strong_rec_thresh: 0.15
    preferred:
        countries: [US, GB|UK]
        media: [CD, Digital Media|File]
        original_year: yes
    ignored: missing_tracks unmatched_tracks
embedart:
    compare_threshold: 0
    auto: yes
    ifempty: no
    remove_art_file: no
    maxwidth: 0
fetchart:
    minwidth: 0
    sources:
    - coverart
    - itunes
    - amazon
    - albumart
    cautious: no
    google_engine: 001442825323518660753:hrh5ch1gjzm
    maxwidth: 0
    google_key: REDACTED
    auto: yes
    cover_names:
    - cover
    - front
    - art
    - album
    - folder
    remote_priority: no
    enforce_ratio: no
lastgenre:
    count: 1
    source: album
    force: yes
    min_weight: 10
    auto: yes
    whitelist: yes
    separator: ', '
    fallback:
    canonical: no
scrub:
    auto: yes
chroma:
    auto: yes
discogs:
    tokenfile: discogs_token.json
    apikey: REDACTED
    apisecret: REDACTED
    source_weight: 0.5
sampsyo commented 8 years ago

This is probably a result of using group_albums, which overrides beets' default directory-based grouping. Can you give it a try without that and see if it's more predictable?

tom-- commented 8 years ago

I'll try. Is there a way to configure beets to not do any metadata lookups during this process? that is just move things around in the existing beets directory based on the metadata beets and I worked on in the initial import?

sampsyo commented 8 years ago

The -A flag turns off autotagging (see more in the docs). But since this, like the default behavior, uses directories to group albums together, you probably want to do this on your original structure, not the beets-created mess with too many directories.

tom-- commented 8 years ago

I started over and redid the import with group_albums: no on the iTunes/Music/Compilations and the results in the beets dir look good, much better than they were in the source. I have some confidence the rest will be good too, hence closing.

Thanks, @sampsyo