History:Object Model/Artist Thoughts: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
((Imported from MoinMoin))
 
 
(4 intermediate revisions by 3 users not shown)
Line 4: Line 4:


First we'll define some vocabulary.
First we'll define some vocabulary.
* [[Artist Entity|ArtistEntity]] is exactly what currently is one actual artist. This can be either a person or a group of persons (band, orchestra, collaboration, ...) - later we also should take into account: fictional characters, projects, ... The [[Artist Entity|ArtistEntity]] is defined through a unique ID.
* [[Artist|ArtistEntity]] is exactly what currently is one actual artist. This can be either a person or a group of persons (band, orchestra, collaboration, ...) - later we also should take into account: fictional characters, projects, ... The [[Artist|ArtistEntity]] is defined through a unique ID.
* Artists have a main [[Artist Name|ArtistName]] and some more [[Artist Alias|ArtistAlias]]<code><nowiki></nowiki></code>es - the main name is a consensus of the users for displaying the [[Artist Entity|ArtistEntity]].
* Artists have a main [[Artist Name|ArtistName]] and some more [[Artist Alias|ArtistAlias]]es - the main name is a consensus of the users for displaying the [[Artist|ArtistEntity]].
* Tracks and releases have [[Primary Artist|PrimaryArtist]]<code><nowiki></nowiki></code>s (called [[Track Artist|TrackArtist]] and [[Release Artist|ReleaseArtist]]), [[Secondary Artist|SecondaryArtist]]<code><nowiki></nowiki></code>s and other contributors - they are all [[Artist Entity|ArtistEntities]] and have certain roles on the release, though the borderline is not clear defined.
* Tracks and releases have [[Primary Artist|PrimaryArtist]]s (called [[Track Artist|TrackArtist]] and [[Release Artist|ReleaseArtist]]), [[Secondary Artist|SecondaryArtist]]s and other contributors - they are all [[Artist Entity|ArtistEntities]] and have certain roles on the release, though the borderline is not clear defined.
* We will only look at the [[Primary Artist|PrimaryArtist]]<code><nowiki></nowiki></code>s now that are mentioned as those on the cover of a release and call them [[Release Artist|ReleaseArtist]]<code><nowiki></nowiki></code>s. The exact label that is printed on the cover therefore is the [[Release Artist Label|ReleaseArtistLabel]]. This is the most exact artist name you can give for a release and it always refers to one or more [[Artist Entity|ArtistEntities]] we called [[Primary Artist|PrimaryArtist]]<code><nowiki></nowiki></code>s or as said [[Release Artist|ReleaseArtist]]<code><nowiki></nowiki></code>s.
* We will only look at the [[Primary Artist|PrimaryArtist]]s now that are mentioned as those on the cover of a release and call them [[Release Artist|ReleaseArtist]]s. The exact label that is printed on the cover therefore is the [[Label|ReleaseArtistLabel]]. This is the most exact artist name you can give for a release and it always refers to one or more [[Artist Entity|ArtistEntities]] we called [[Primary Artist|PrimaryArtist]]s or as said [[Release Artist|ReleaseArtist]]s.


==Relationships==
==Relationships==
Line 13: Line 13:
When selecting the artists for a issued release and its tracks (however defined) you want to do three things:
When selecting the artists for a issued release and its tracks (however defined) you want to do three things:
# Relate every artist that took part in the release with a description of their role on it
# Relate every artist that took part in the release with a description of their role on it
# Have a label describing the [[Primary Artist|PrimaryArtist]](s) how they are written on the release ([[Release Artist Label|ReleaseArtistLabel]])
# Have a label describing the [[Primary Artist|PrimaryArtist]](s) how they are written on the release ([[Label|ReleaseArtistLabel]])
# Relating the [[Release Artist Label|ReleaseArtistLabel]] directly to the according [[Artist Entity|ArtistEntities]] of the [[Release Artist|ReleaseArtist]]<code><nowiki></nowiki></code>s
# Relating the [[Label|ReleaseArtistLabel]] directly to the according [[Artist Entity|ArtistEntities]] of the [[Release Artist|ReleaseArtist]]s


The third step is not quite obvious first and might look redundant concerning you also have linked them with their role. Though it has advantages. First if you include [[Track Grouping|TrackGrouping]] then most contributors are linked to the super groups of the released objects and not the released objects themselves (indeed that leads to not allowing performance ARs and other [[Advanced Relationship Type|AdvancedRelationshipType]]<code><nowiki></nowiki></code>s to be used for releases any more but only for [[Track Groups|TrackGroups]]). Second you also can combine 3. with 1. to solve a redundancy problem of 1.: several releases might have the same [[Release Artist Label|ReleaseArtistLabel]]. Also we want to have some consistency in the [[Release Artist Label|ReleaseArtistLabel]]<code><nowiki></nowiki></code>s and keep them easy to maintain. So it might come handy to share them between the releases.
The third step is not quite obvious first and might look redundant concerning you also have linked them with their role. Though it has advantages. First if you include [[Track Grouping|TrackGrouping]] then most contributors are linked to the super groups of the released objects and not the released objects themselves (indeed that leads to not allowing performance ARs and other [[Advanced Relationship Type|AdvancedRelationshipType]]s to be used for releases any more but only for [[Track Group|TrackGroup]]s). Second you also can combine 3. with 1. to solve a redundancy problem of 1.: several releases might have the same [[Label|ReleaseArtistLabel]]. Also we want to have some consistency in the [[Label|ReleaseArtistLabel]]s and keep them easy to maintain. So it might come handy to share them between the releases.


A solution might look like this:
A solution might look like this:
* Relate all artists/contributors via [[Advanced Relationships|AdvancedRelationships]] to the place they belong (that is a super group of a track mostly)
* Relate all artists/contributors via [[Advanced Relationships|AdvancedRelationships]] to the place they belong (that is a super group of a track mostly)
* Relate [[Release Artist|ReleaseArtist]]<code><nowiki></nowiki></code>s with core database links to the releases/tracks and give the user the possibility to select a name from the artist: either the [[Artist Name|ArtistName]] itself or one of the [[Artist Alias|ArtistAlias]]<code><nowiki></nowiki></code>es. This is then used as the [[Release Artist Label|ReleaseArtistLabel]] for the released release/track.
* Relate [[Release Artist|ReleaseArtist]]s with core database links to the releases/tracks and give the user the possibility to select a name from the artist: either the [[Artist Name|ArtistName]] itself or one of the [[Artist Alias|ArtistAlias]]es. This is then used as the [[Label|ReleaseArtistLabel]] for the released release/track.
* Though: if there are several [[Release Artist|ReleaseArtist]]<code><nowiki></nowiki></code>s, let the user relate them all to the release and select an [[Artist Name|ArtistName]]/<code><nowiki></nowiki></code>[[Artist Alias|ArtistAlias]] for all of them. Also let the user enter join phrases which are used to combine the selected names to the final [[Release Artist Label|ReleaseArtistLabel]] ([[User:LukasLalinsky|LukasLalinsky]] proposal).
* Though: if there are several [[Release Artist|ReleaseArtist]]s, let the user relate them all to the release and select an [[Artist Name|ArtistName]]/[[Artist Alias|ArtistAlias]] for all of them. Also let the user enter join phrases which are used to combine the selected names to the final [[Label|ReleaseArtistLabel]] ([[User:LukasLalinsky|LukasLalinsky]] proposal).


Note that as all artists are linked to the appropriate group with [[Advanced Relationships|AdvancedRelationships]] there is no need to describe roles for the extra linked [[Release Artist|ReleaseArtist]]<code><nowiki></nowiki></code>s.
Note that as all artists are linked to the appropriate group with [[Advanced Relationships|AdvancedRelationships]] there is no need to describe roles for the extra linked [[Release Artist|ReleaseArtist]]s.


Also note that we have a nice side effect: this is 100% compatible with ID3v2, so good for tagging MP3s. A user with a player that does not differentiate artists by MusicBrainzID but by the main artist field (I think that's the case for every player) might chose to always tag his files with the main [[Artist Name|ArtistName]](s) and not with the [[Release Artist Label|ReleaseArtistLabel]] as this might split one artist into several in the player display.
Also note that we have a nice side effect: this is 100% compatible with ID3v2, so good for tagging MP3s. A user with a player that does not differentiate artists by MusicBrainzID but by the main artist field (I think that's the case for every player) might chose to always tag his files with the main [[Artist Name|ArtistName]](s) and not with the [[Label|ReleaseArtistLabel]] as this might split one artist into several in the player display.


Then again we have discussed about the VA release problem. It is a difference if a release really is performed by various artists or if it is mostly performed by one artist (who is credited on the front cover) and only one or two tracks are performed by others (contributing with the main artist). So we might want to allow releases that contain songs from different artists to be credited to one single artist (or one or more [[Release Artist|ReleaseArtist]]<code><nowiki></nowiki></code>s to be correct) as [[Release Artist|ReleaseArtist]] and still display all [[Track Artist|TrackArtist]]<code><nowiki></nowiki></code>s.
Then again we have discussed about the VA release problem. It is a difference if a release really is performed by various artists or if it is mostly performed by one artist (who is credited on the front cover) and only one or two tracks are performed by others (contributing with the main artist). So we might want to allow releases that contain songs from different artists to be credited to one single artist (or one or more [[Release Artist|ReleaseArtist]]s to be correct) as [[Release Artist|ReleaseArtist]] and still display all [[Track Artist|TrackArtist]]s.
<ul><li style="list-style-type:none">'' This was implemented in [[SG5 Disaster Relief|SG5DisasterRelief]]'' --[[User:Keschte|Keschte]]
<ul><li style="list-style-type:none">'' This was implemented in [[SG5 Disaster Relief|SG5DisasterRelief]]'' --[[User:Keschte|Keschte]]
</ul>
</ul>
Line 33: Line 33:
==Rules==
==Rules==


Let us now define a bit clearer when we have one [[Primary Artist|PrimaryArtist]], when several [[Primary Artist|PrimaryArtist]]<code><nowiki></nowiki></code>s and when we have a collaboration (which again is one [[Primary Artist|PrimaryArtist]]). Therefore we consider the simple case that there are two artists, artist A and artist B. Then:
Let us now define a bit clearer when we have one [[Primary Artist|PrimaryArtist]], when several [[Primary Artist|PrimaryArtist]]s and when we have a collaboration (which again is one [[Primary Artist|PrimaryArtist]]). Therefore we consider the simple case that there are two artists, artist A and artist B. Then:
* A song performed by both together only appears on releases of artist A -> Add artist B with (feat.) and add a [[Advanced Relationships|AdvancedRelationship]] from the [[Performance Relationship Class|PerformanceRelationshipClass]].
* A song performed by both together only appears on releases of artist A -> Add artist B with (feat.) and add a [[Advanced Relationships|AdvancedRelationship]] from the [[Performance Relationship Class|PerformanceRelationshipClass]].
* A song appears on releases of both and there are no other songs they performed together
* A song appears on releases of both and there are no other songs they performed together
** 1st case: [[Release Artist Label|ReleaseArtistLabel]] can be expressed as a combination of [[Artist Name|ArtistName]]<code><nowiki></nowiki></code>[[Object Model/Artist Thoughts/Artist Alias|/ArtistAlias]] of both -> several [[Release Artist|ReleaseArtist]]<code><nowiki></nowiki></code>s, combine names with join phrases
** 1st case: [[Label|ReleaseArtistLabel]] can be expressed as a combination of [[Artist Name|ArtistName]][[Object Model/Artist Thoughts/Artist Alias|/ArtistAlias]] of both -> several [[Release Artist|ReleaseArtist]]s, combine names with join phrases
** 2nd case: [[Release Artist Label|ReleaseArtistLabel]] has no (separable) reference to the [[Artist Name|ArtistName]]<code><nowiki></nowiki></code>s/[[Artist Alias|ArtistAlias]]<code><nowiki></nowiki></code>es of the both [[Primary Artist|PrimaryArtist]]<code><nowiki></nowiki></code>s -> having such a styled name you can consider this a joint "project" anyways and therefore -> create a collaboration
** 2nd case: [[Label|ReleaseArtistLabel]] has no (separable) reference to the [[Artist Name|ArtistName]]s/[[Artist Alias|ArtistAlias]]es of the both [[Primary Artist|PrimaryArtist]]s -> having such a styled name you can consider this a joint "project" anyways and therefore -> create a collaboration


* The artists are working together over a longer period / have done several songs together / have done songs together which were mostly released under a (steady or similar) common [[Release Artist Label|ReleaseArtistLabel]] and do not so much appear on releases of the artists alone -> create a collaboration
* The artists are working together over a longer period / have done several songs together / have done songs together which were mostly released under a (steady or similar) common [[Label|ReleaseArtistLabel]] and do not so much appear on releases of the artists alone -> create a collaboration


[[Category:To Be Reviewed]]
[[Category:History]] [[Category:Development]]

Latest revision as of 20:27, 25 October 2011

This is a future sketch of how linking artists to "releases"/"tracks" (I use paranthesis as I mean the words in the current sense) could work in the future. It is just a dump of thoughts and later will be worked into other pages. Aim is to solve multiple artist problems and alias problems. Though we still need an interim solution for SG5.

Vocabulary

First we'll define some vocabulary.

Relationships

When selecting the artists for a issued release and its tracks (however defined) you want to do three things:

  1. Relate every artist that took part in the release with a description of their role on it
  2. Have a label describing the PrimaryArtist(s) how they are written on the release (ReleaseArtistLabel)
  3. Relating the ReleaseArtistLabel directly to the according ArtistEntities of the ReleaseArtists

The third step is not quite obvious first and might look redundant concerning you also have linked them with their role. Though it has advantages. First if you include TrackGrouping then most contributors are linked to the super groups of the released objects and not the released objects themselves (indeed that leads to not allowing performance ARs and other AdvancedRelationshipTypes to be used for releases any more but only for TrackGroups). Second you also can combine 3. with 1. to solve a redundancy problem of 1.: several releases might have the same ReleaseArtistLabel. Also we want to have some consistency in the ReleaseArtistLabels and keep them easy to maintain. So it might come handy to share them between the releases.

A solution might look like this:

Note that as all artists are linked to the appropriate group with AdvancedRelationships there is no need to describe roles for the extra linked ReleaseArtists.

Also note that we have a nice side effect: this is 100% compatible with ID3v2, so good for tagging MP3s. A user with a player that does not differentiate artists by MusicBrainzID but by the main artist field (I think that's the case for every player) might chose to always tag his files with the main ArtistName(s) and not with the ReleaseArtistLabel as this might split one artist into several in the player display.

Then again we have discussed about the VA release problem. It is a difference if a release really is performed by various artists or if it is mostly performed by one artist (who is credited on the front cover) and only one or two tracks are performed by others (contributing with the main artist). So we might want to allow releases that contain songs from different artists to be credited to one single artist (or one or more ReleaseArtists to be correct) as ReleaseArtist and still display all TrackArtists.

Rules

Let us now define a bit clearer when we have one PrimaryArtist, when several PrimaryArtists and when we have a collaboration (which again is one PrimaryArtist). Therefore we consider the simple case that there are two artists, artist A and artist B. Then:

  • The artists are working together over a longer period / have done several songs together / have done songs together which were mostly released under a (steady or similar) common ReleaseArtistLabel and do not so much appear on releases of the artists alone -> create a collaboration