Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for "Album Artist" #339

Open
mortgagemetrix opened this issue Dec 7, 2023 · 11 comments · Fixed by #1024, #1021 or #1086 · May be fixed by #1071
Open

Add support for "Album Artist" #339

mortgagemetrix opened this issue Dec 7, 2023 · 11 comments · Fixed by #1024, #1021 or #1086 · May be fixed by #1071
Assignees

Comments

@mortgagemetrix
Copy link

Albums with a lot of guest artists like "Plastic Beach" by Gorillaz have many different artists listed. 11 separate artist lines for that app alone. The Album Artist field is just "Gorillaz". It may be academic as I see no way to view or edit song metadata anyway.

muiscpod_album_artists

@Feichtmeier
Copy link
Member

good idea! will do :)

@Feichtmeier
Copy link
Member

Albums with a lot of guest artists like "Plastic Beach" by Gorillaz have many different artists listed. 11 separate artist lines for that app alone. The Album Artist field is just "Gorillaz". It may be academic as I see no way to view or edit song metadata anyway.

muiscpod_album_artists

I guess you want to have it both for filtering the library and filtering your search, right?

@mortgagemetrix
Copy link
Author

I think both, but really I want everything between Gorillaz and Blink to be categorized under "Gorillaz". Elvis Presley and Elvis vs JXL should both be categorized under "Elvis Presley", etc.

@Feichtmeier
Copy link
Member

just realized, even though I added the filter
i need to wait for
ClementBeal/audio_metadata_reader#13
so re-opening and removing the filter until then

@Feichtmeier
Copy link
Member

@mortgagemetrix if this field in the metadata is empty should we fallback to "artist" or rather make it empty?

@mortgagemetrix
Copy link
Author

@Feichtmeier Default to artist. iTunes/Music.app does default to Artist field if the Album Artist is not available. Both iTunes and MusicBrainz (Picard) also include optional sort values that default to their respective primary values.

A good example is "Stressed Out" by "A Tribe Called Quest feat. Faith Evans".
Title: Stressed Out
Artist: A Tribe Called Quest feat. Faith Evans
Album Artist: A Tribe Called Quest
Artist Sort Order: Tribe Called Quest, A feat. Evans, Faith
Album Artist Sort Order: Tribe Called Quest, A
Artists: A Tribe Called Quest; Faith Evans

I've included a screen shot of a song that was tagged before "album artist" or sort options existed and show how it compares to when the same song is tagged via Picard.

With iTunes, the directory name is Album Artist. Album Artist Sort Order is only used for the interface. That way A Tribe Called Quest sorts under T, and The Beatles sort under B.

Here is a link to the same album on the musicbrainz site: https://musicbrainz.org/release/73ebe2f8-40dd-45fb-8f28-0f1c0885aae4?tport=8000

Screenshot 2024-12-10 at 1 14 33 PM

@Feichtmeier
Copy link
Member

@Feichtmeier Default to artist. iTunes/Music.app does default to Artist field if the Album Artist is not available. Both iTunes and MusicBrainz (Picard) also include optional sort values that default to their respective primary values.

A good example is "Stressed Out" by "A Tribe Called Quest feat. Faith Evans".
Title: Stressed Out
Artist: A Tribe Called Quest feat. Faith Evans
Album Artist: A Tribe Called Quest
Artist Sort Order: Tribe Called Quest, A feat. Evans, Faith
Album Artist Sort Order: Tribe Called Quest, A
Artists: A Tribe Called Quest; Faith Evans

I've included a screen shot of a song that was tagged before "album artist" or sort options existed and show how it compares to when the same song is tagged via Picard.

With iTunes, the directory name is Album Artist. Album Artist Sort Order is only used for the interface. That way A Tribe Called Quest sorts under T, and The Beatles sort under B.

Here is a link to the same album on the musicbrainz site: https://musicbrainz.org/release/73ebe2f8-40dd-45fb-8f28-0f1c0885aae4?tport=8000

Screenshot 2024-12-10 at 1 14 33 PM

Thanks 🙏

Ok that's what I did!

Have a look at the snap edge in about 30 minutes or when the next stable release happens

@github-actions github-actions bot linked a pull request Dec 10, 2024 that will close this issue
@mortgagemetrix
Copy link
Author

I checked it out and have some feedback. I accidentally installed both the flatpak version and the snap edge version. Both are generally behaving the same way. Here is some feedback.

  1. Albums are now sorted by Album Artist no matter whether the Album Artists or Artist field is selected.
  2. When the song is playing, it lists the Album Artist. This ought to list the Artist field. Eg. Playing a song off a soundtrack shows the artist as "Various Artists" but we really only need that field for organizing the album as a compilation.

@Feichtmeier Feichtmeier reopened this Dec 11, 2024
@Feichtmeier
Copy link
Member

could you show for 1. some sort of screenshot? for my music library this is not the case also there are filters for everything? do you mean when filtered for album?

for 2. this is also not the case for me, are your files tagged correctly?

@mortgagemetrix
Copy link
Author

Here's Eminem from the 8 Mile Soundtrack. Album Artist is various artists, Artist is Eminiem.
I also included a screen shot from Quod Libet which looks similar to Rhythmbox but handles Album Artist more or less properly.
I've also included the comparison of how the two apps display the metadata and it looks like the artist field is reading from the album artists field. Also output from the command line app mediainfo.

Here are some raw ID3 tags from mutagen:

TIT2: Lose Yourself
TPE1: Eminem
TRCK: 1/16
TALB: 8 Mile: Music From and Inspired by the Motion Picture
TSOP: Eminem
TPE2: Various Artists
TSO2: Various Artists
TPUB: Interscope Records/Shady Records/UMG Soundtracks
TDRC: 2002-10-29
TDOR: 2002

loseyourself.txt

image

image

@Feichtmeier
Copy link
Member

Feichtmeier commented Dec 15, 2024

hm, then something in audio_metada_reader must be still not correct I suppose

I think it assumes that the tagging always puts albumartist and artist in the same field and then needs splitting by ',' but this is not correct for all mp3s because some tag artist as "Cradle Of Filth" albumArtist as "Various Artists" and others write a list of "Cradle Of Filth, Mayhem, Dimmu Borgir" and artist "Cradle Of Filth" from the first element in this list

@ClementBeal shall I re-open the issue in your repo ? I tried to make a PR but I am too anxious to mess the other file formats up so I better don't

https://mutagen-specs.readthedocs.io/en/latest/id3/id3v2.4.0-frames.html

says

Involved persons frames

TPE1
The ‘Lead artist/Lead performer/Soloist/Performing group’ is used for the main artist.

TPE2
The ‘Band/Orchestra/Accompaniment’ frame is used for additional information about the performers in the recording.

TPE3
The ‘Conductor’ frame is used for the name of the conductor.

TPE4
The ‘Interpreted, remixed, or otherwise modified by’ frame contains more information about the people behind a remix and similar interpretations of another existing piece.

TOPE
The ‘Original artist/performer’ frame is intended for the performer of the original recording, if for example the music in the file should be a cover of a previously released song.

TEXT
The ‘Lyricist/Text writer’ frame is intended for the writer of the text or lyrics in the recording.

TOLY
The ‘Original lyricist/text writer’ frame is intended for the text writer of the original recording, if for example the music in the file should be a cover of a previously released song.

TCOM
The ‘Composer’ frame is intended for the name of the composer.

TMCL
The ‘Musician credits list’ is intended as a mapping between instruments and the musician that played it. Every odd field is an instrument and every even is an artist or a comma delimited list of artists.

TIPL
The ‘Involved people list’ is very similar to the musician credits list, but maps between functions, like producer, and names.

TENC
The ‘Encoded by’ frame contains the name of the person or organisation that encoded the audio file. This field may contain a copyright message, if the audio file also is copyrighted by the encoder.

I could band aid fix it with
grafik

but then the cases where artist is different from the first field (or the only field) of a list wrapped in albumArtist is wrong

I think itstead of using this performers field, you need an albumArtist field that does what artist currently uses mp3Metadata.bandOrOrchestra and then artist only should be mp3Metadata.leadPerformer ??
mp3Metadata.originalArtist, and you can keep the performers field in case it is used in the metadata, but it looks like performers is rarely used and if so, it is some custom metadata
I would make a PR but I dont know about the other file types you support

Feichtmeier added a commit that referenced this issue Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment