11-11-2024, 12:52 PM
(11-11-2024, 12:01 PM)Tim Curtis Wrote: Keep in mind there is no standard for music tagging, just commonly accepted practices, and those only apply to Popular music. There are no commonly accepted practices for tagging Classical music.
Also note that many music tagging programs don't support or populate many of these tags.
In any case here is a list of tags supported by MPD (from the development branch documentation) with the subset of tags supported by moode marked in Orange.
The following tags are supported by MPD:
artist: the artist name. Its meaning is not well-defined; see “composer” and “performer” for more specific tags.
artistsort: same as artist, but for sorting. This usually omits prefixes such as “The”.
album: the album name.
albumsort: same as album, but for sorting.
albumartist: on multi-artist albums, this is the artist name which shall be used for the whole album. The exact meaning of this tag is not well-defined.
albumartistsort: same as albumartist, but for sorting.
title: the song title.
titlesort: same as title, but for sorting.
track: the decimal track number within the album.
name: a name for this song. This is not the song title. The exact meaning of this tag is not well-defined. It is often used by badly configured internet radio stations with broken tags to squeeze both the artist name and the song title in one tag.
genre: the music genre.
mood: the mood of the audio with a few keywords.
date: the song’s release date. This is usually a 4-digit year.
originaldate: the song’s original release date.
composer: the artist who composed the song.
composersort: same as composer, but for sorting.
performer: the artist who performed the song.
conductor: the conductor who conducted the song.
work: “a work is a distinct intellectual or artistic creation, which can be expressed in the form of one or more audio recordings”
ensemble: the ensemble performing this song, e.g. “Wiener Philharmoniker”.
movement: name of the movement, e.g. “Andante con moto”.
movementnumber: movement number, e.g. “2” or “II”.
showmovement: If this tag is set to “1” players supporting this tag will display the work, movement, and movementnumber` instead of the track title.
location: location of the recording, e.g. “Royal Albert Hall”.
grouping: “used if the sound belongs to a larger category of sounds/music” (from the IDv2.4.0 TIT1 description).
comment: a human-readable comment about this song. The exact meaning of this tag is not well-defined.
disc: the decimal disc number in a multi-disc album.
label: the name of the label or publisher.
musicbrainz_artistid: the artist id in the MusicBrainz database.
musicbrainz_albumid: the album id in the MusicBrainz database.
musicbrainz_albumartistid: the album artist id in the MusicBrainz database.
musicbrainz_trackid: the track id in the MusicBrainz database.
musicbrainz_releasegroupid: the release group id in the MusicBrainz database.
musicbrainz_releasetrackid: the release track id in the MusicBrainz database.
musicbrainz_workid: the work id in the MusicBrainz database.
There can be multiple values for some of these tags. For example, MPD may return multiple lines with a performer tag. A tag value is a UTF-8 string.
Other Metadata
The response to lsinfo and similar commands may contain song tags and other metadata, specifically:
duration: the duration of the song in seconds; may contain a fractional part.
Time: like duration, but as integer value. This is deprecated and is only here for compatibility with older clients. Do not use.
Range: if this is a queue item referring only to a portion of the song file, then this attribute contains the time range in the form START-END or START- (open ended); both START and END are time stamps within the song in seconds (may contain a fractional part). Example: 60-120 plays only the second minute; “180 skips the first three minutes.
Format: the audio format of the song (or an approximation to a format supported by MPD and the decoder plugin being used). When playing this file, the audio value in the status response should be the same.
Last-Modified: the time stamp of the last modification of the underlying file in ISO 8601 format. Example: “2008-09-28T20:04:57Z”
added 13: the time stamp when the file was added in ISO 8601. A negative value means that this is unknown/unavailable. Example: “2023-11-25T13:25:07Z”
Thank you so much! I will tinkering with this, i'm always willing to improve my library.