question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

beets fails to detect compilations when importing metadata from Deezer

See original GitHub issue

Problem

Beets is interpreting compilations as albums and is putting all artists into folder names, resulting in extremely long paths Standard import command:

$ beet im

Led to this problem:

Correcting tags from:
    A.Skillz - 2017 Fractal Forest Compilation
To:
    A.Skillz, Chali 2na, CMC & Silenta, Deekline, Defunk, DJ Brace, Fort Knox Five, K+Lab, Krafty Kuts, KWADI, Marten Hørger, Neighbour, OPIUO, Skratch Bastid, Slynk, Stanton Warriors, Stickybuds, The Funk Hunters, Dynamite MC, Father Funk, MC Rtkal, Mystro, Neon Steve, Shad, Malenda, Various Artists - 2017 Fractal Forest Compilation
URL:
    https://www.deezer.com/album/43959881
(Similarity: 81.4%) (tracks, artist, source) (Deezer, 2017, Westwood Recordings)
 * Real Big Deal (Original Mix)                            -> Real Big Deal (Original Mix) (source)
 * 7 Day Weekend (Original Mix)                            -> 7 Day Weekend (Original Mix) (source)
 * Limoncello feat. Shad (Original Mix)                    -> Limoncello feat. Shad (Original Mix) (source)
 * The Things That You Do feat. Father Funk (Original Mix) -> The Things That You Do feat. Father Funk (Original Mix) (source)
 * Right Now (Original Mix)                                -> Right Now (Original Mix) (source)
 * Flanjitsu (Original Mix)                                -> Flanjitsu (Original Mix) (source)
 * Flute Ting feat. MC Rtkal (Original Mix)                -> Flute Ting feat. MC Rtkal (Original Mix) (source)
 * Still Here (Stanton Warriors Shambhala Mix)             -> Still Here (Stanton Warriors Shambhala Mix) (source)
 * You Don't (Original Mix)                                -> You Don't (Original Mix) (source)
 * Shake My Head (Original Mix)                            -> Shake My Head (Original Mix) (source)
 * Don't Go (K+Lab Remix)                                  -> Don't Go (K+Lab Remix) (source)
 * Brazilian Hipster (Original Mix)                        -> Brazilian Hipster (Original Mix) (source)
 * Yeah Thats Right feat. Mystro & Malenda (Original Mix)  -> Yeah Thats Right feat. Mystro & Malenda (Original Mix) (source)
 * Right Right Up feat. CMC&Silenta and Verse Ital         -> Right Right Up feat. CMC&Silenta and Verse Ital (source)
 * Get Involved feat. Defunk                               -> Get Involved feat. Defunk (source)
 * Clap Ya Hands Now feat. KWADI (Original Mix)            -> Clap Ya Hands Now feat. KWADI (Original Mix) (source)

Full -vv output

Setup

  • OS: Linux void 5.13.15_1
  • Python version: Python 3.9.7
  • beets version: beets version 1.5.0
  • Turning off plugins made problem go away (yes/no): No

My configuration (output of beet config) is:

directory: /mnt/hdd/beets-export
library: /mnt/hdd/beets.db

plugins: spotify discogs deezer edit

paths:
    default: $albumartist - $album ($year) %if{$catalognum,{$catalognum$} }[Deezer WEB - $format]/$track. $artist - $title
    singleton: $artist - $album ($year) %if{$catalognum,{$catalognum$} [Deezer WEB - $format]/$track. $artist - $title
    comp: Various Artists - $album ($year) %if{$catalognum,{$catalognum$} [Deezer WEB - $format]/$track. $artist - $title
spotify:
    source_weight: 0.5
    mode: list
    tiebreak: popularity
    show_failures: no
    artist_field: albumartist
    album_field: album
    track_field: title
    region_filter:
    regex: []
    client_id: REDACTED
    client_secret: REDACTED
    tokenfile: spotify_token.json
discogs:
    apikey: REDACTED
    apisecret: REDACTED
    tokenfile: discogs_token.json
    source_weight: 0.5
    user_token: REDACTED
    separator: ', '
    index_tracks: no
edit:
    albumfields: album albumartist
    itemfields: track title artist album
    ignore_fields: id path
deezer:
    source_weight: 0.5

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
wisp3rwindcommented, Sep 13, 2021

Here is the deezer api response if someone is going to look into this in detail: http://api.deezer.com/album/43959881. A first step would probably to research how deezers contributors and artist should be mapped to “all artists” and “album artist”, and whether these are even used consistently in their database. Maybe git blame can tell why the contributors field was chosen for the artist in the first place?

0reactions
9Mad-Max5commented, Jan 29, 2022

In most cases, deezer api delivers a main tag in the contributors section. Like in this example: https://developers.deezer.com/api/explorer?url=album/302127 This makes it in the most use cases far more sophisticated over the spotify api. As this doesn’t bother at all. I’m not actually sure how to handle it in this case. There have been a lot of contributors flagged as main. But as well, there is a contributor listed with ID 5080. I guess it is translated, but the ID should be sufficient to check if this is part of the contributors to flag the whole album as various artist.

I just stumbled across this issue as I was kind of disappointed as I noticed the deezer plugin tends to set all mentioned artist as albumartist…

Read more comments on GitHub >

github_iconTop Results From Across the Web

beets Documentation
Welcome to the documentation for beets, the media library management system for obsessive music geeks. If you're new to beets, ...
Read more >
Changelog — beets 1.6.0 documentation - Beets.io
Beets ' library for manipulating media file metadata has now been split to a standalone project called MediaFile ; Beets' library for configuration...
Read more >
How to deal with Compilations/Albums with multiple artists
My biggest issue is with an album that has multiple artists or songs that currently "feat." someone along with the original artist. beets...
Read more >
Escuchar el podcast le Catalyste radio show | Deezer
LE CATALYSTE // "A Catalyst is a substance that causes or accelerates a chemical reaction." The purpose of the show is to bring...
Read more >
Untitled
Quotes from what about bob 1991, Metadata objects salesforce! ... The like release me album download, I will not fail thee, Vilka regioner...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found