Skip to content

The way of determine compilation album.#764

Closed
nob wants to merge 7 commits intokoel:masterfrom
nob:master
Closed

The way of determine compilation album.#764
nob wants to merge 7 commits intokoel:masterfrom
nob:master

Conversation

@nob
Copy link
Copy Markdown
Contributor

@nob nob commented Jul 14, 2018

For S3 Song controller.

@phanan
Copy link
Copy Markdown
Member

phanan commented Jul 14, 2018

Do you have anything to back it up? It's always been "albumartist" for me.

@nob
Copy link
Copy Markdown
Contributor Author

nob commented Jul 15, 2018

Without this modification, uploaded Album is always belongs to "various artist" (Artist ID: 2). Song is belongs to a correct Artist, though.
In fact, "compilation" tag is used to check if the album is compilation album, here as well.

@phanan
Copy link
Copy Markdown
Member

phanan commented Jul 15, 2018

Are you sure? This controller handles data posted from the AWS, which uses albumartist.

@nob
Copy link
Copy Markdown
Contributor Author

nob commented Jul 16, 2018

I looked into tag data which is posted from AWS, and "compilation" tag is not in any of my song data, actually.

I don't have much knowledge about ID3 tag and don't know what 'albumartist' tag means, but, for example the album of this song, is not supposed to be a compilation album nor a "Various artist" album, even though it has 'albumartist' tag...
screen shot on 2018-07-16 at 15_39_29

@nob nob changed the title Tag name is "compilation", not "albumartist". The way of determine compilation album. Jul 18, 2018
@nob
Copy link
Copy Markdown
Contributor Author

nob commented Jul 18, 2018

Found how App\Models\File class handle determination of compilation album.

https://github.com/phanan/koel/blob/master/app/Models/File.php#L165-L168


$artist_tag = trim(array_get($tags, 'artist'));
$is_compilation = false;
if (trim(array_get($tags, 'part_of_a_compilation')) ||
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whitespace found at end of line

$artist_tag = trim(array_get($tags, 'artist'));
$is_compilation = false;
if (trim(array_get($tags, 'part_of_a_compilation')) ||
trim(array_get($tags, 'albumartist')) !== $artist_tag)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Expected 1 space after closing parenthesis; found 10
  • Whitespace found at end of line

@greengeek
Copy link
Copy Markdown

I have done a lot of tagging in the past and worked extensively with the id3v2.3 and id3v2.4. Having information in the album artist field does not mean its a compilation or collection. What it does mean is there is the artist of the overall album. What I have found using programs that access musicbrainz and editors that allow complete access to all the vast fields in the mp3 tags, such as jaikoz, is that AlbumArtist should take precedence over artist when dealing with albums, and artist should take precedence when dealing with songs.

For an example, a lot of artists will come out with songs on an album that they created but might feature another artist as a musician or singer. There has been a lot of back and forth whether the featured artist should be mentioned in the artist or the song fields. Most of the time it ends up in the artist name for that song. A non-smart player that doesn't support AlbumArtist will see that as a different artist and automatically break the album apart or mis-categorize it as a compilation or various artist album. While it really is still just an official release from an artist that has a few songs where they feature another musician. In this example, the album should show up under the artist that matches the AlbumArtist field. Where as viewing the song is just songs view would show up the Artist. That way it is viewable and available in both views.

What I have found that works really well in other programs like ampache is that albums are typically grouped by folder, the software respects that grouping, and the AlbumArtist is used when it is available. That way the album shows up under the correct artist and doesn't get all broken out and spread across multiple areas. Albums that have different artists in the artist field and do not have an AlbumArtist field out get thrown into the Various Artist category. Likewise a lot of compilations will list the AlbumArtist as Various Artists and those should be grouped correctly as Various Artist for the Album and the individual different Artist names for the songs.

There is also a boolean true false compilation field that can be used in the tags, but a lot of editors don't use it and a lot of players do not honor it. I find that the software really needs to be internet connected and go out to databases like musicbrainz in order to pull that info, as to if its an official release, compilation/greatest of, bootleg, single, etc.

@tecosaur
Copy link
Copy Markdown

Is much more likely to happen here? I'd love to see @greengeek's insights put into practice.

@phanan
Copy link
Copy Markdown
Member

phanan commented Jun 26, 2022

Replaced by #1461.

@phanan phanan closed this Jun 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants