User:LordSputnik/Track System Redesign

From MusicBrainz Wiki
Jump to navigationJump to search

Comments

If you have comments on the ideas in this page, please email me using the email link at my MB user page: [1].


Introduction

The aim of this wiki page is to present a comprehensive, clear and purposeful system to replace recordings.

Read: http://en.wikipedia.org/wiki/Functional_Requirements_for_Bibliographic_Records

And: http://chatlogs.musicbrainz.org/musicbrainz/2012/2012-11/2012-11-05.html

Terminology

Work

A work is an artistic creation. Examples of a work include a song or some form of classical piece. Works are near enough perfect in their current form. They are well defined and already serve the intended purpose.

Mix

A mix is a version of a performance of a work. A mix can be made of a studio performance or a live performance. The original, unedited performance counts as a mix if it features as a track on a release.

Mixes can be merged, but this will hopefully only happen in rare circumstances, due to the small expected number of mixes. An editor must make an edit to associate a track with a mix, and this edit is subject to the voting process, like any other non-auto-edit.

Performance ARs should be attached at the mix level. These relationships will need to be duplicated if parts of the performance feature on two separate mixes.

Track

A track is the embodiment of a mix. It is unique to the single release it appears on, and lives and dies with that release. When a release is added, tracks are created, assigned MBIDs, and given titles. The track names are displayed on the release main page. Clicking a track name will take the editor to the track.

Remastering ARs should be attached at the track level, and not at the release level, since every single track is unique and only appears on one release.

Tracks can also be added to track groups. Relationships can be attached to track groups, and are shown on the track page along with track relationships. Track groups and tracks should share the same set of relationship types. This will allow editors to groups tracks which are deemed to be "identical", without needing to combine them into a single track, to allow for the easy addition of grouped relationships.

Overview

For example, if an EP is added to the DB:

"Some Songs" by "RandomBandom"

  1. An Old Song
  2. A New Song
  3. A Borrowed Song
  4. A Blue Song


Then four tracks will be created:

Add Track

2b54064a-8739-447f-bb05-288462d98f7c

  • Title: An Old Song
  • Release: Some Songs
  • Artist: RandomBandom
Add Track

115898e8-f35c-448c-a376-4f0ee126e49f

  • Title: An Old Song
  • Release: Some Songs
  • Artist: RandomBandom
Add Track

322b7246-5046-4ff8-909c-4fd899790e11

  • Title: An Old Song
  • Release: Some Songs
  • Artist: RandomBandom
Add Track

bd66b032-4391-4c79-8706-f99e6261ddf5

  • Title: An Old Song
  • Release: Some Songs
  • Artist: RandomBandom


The release will store tracks like this:

Position MBID
1 2b54064a-8739-447f-bb05-288462d98f7c
2 115898e8-f35c-448c-a376-4f0ee126e49f
3 322b7246-5046-4ff8-909c-4fd899790e11
4 bd66b032-4391-4c79-8706-f99e6261ddf5


When tracks are reordered on a release, the MBIDs are simply swapped. For example, swapping track 2 with track 3:

Position MBID
1 2b54064a-8739-447f-bb05-288462d98f7c
2 322b7246-5046-4ff8-909c-4fd899790e11
3 115898e8-f35c-448c-a376-4f0ee126e49f
4 bd66b032-4391-4c79-8706-f99e6261ddf5


If a track name is changed in the release, it simply updates the name on the track:

1. An Old Song -> 1. Ye Olde Songe

Edit Track

2b54064a-8739-447f-bb05-288462d98f7c

  • Title: An Old Song | Ye Olde Songe


All of these tracks will automatically link to works, selected when the release is added. Tracks using a work will be stored in a tab, on the work itself. They will be grouped by release group, and all release groups should be collapsed initially:


Ye Olde Songe

- Song

Overview|Aliases|Tags|Details|Tracks|Edit

  • Some Songs by RandomBandom
    • 1/4 - Ye Olde Songe on Some Songs
    • 1/4 - Ye Oldey Song on Some Songs
  • Longer Songs by RandomBandom
    • 1/14 - Ye Olde Songe (single version) on Longer Songs
  • We Made an Awesome Cover by Band on Tandems
    • 1/1 - Ye Olde Songe on We Made an Awesome Cover


Relationships

Work

Artist Mix URL
  • composition: artist
    • writer: artist
      • composer: artist
      • lyricist: artist
      • librettist: artist
  • arranger: artist
    • instrument arranger: artist
      • instrumentation: artist
      • orchestrator: artist
    • vocal arranger: artist
  • lyrics page: URL
  • score: URL
  • other databases: URL
    • Wikipedia: URL
    • SecondHandSongs: URL
    • Allmusic: URL
    • Songfacts: URL

Mix

Artist
  • performance: artist
    • performer: artist
    • instrument: artist
    • vocal: artist

Track

Artist
  • remastering: artist


Implementation

  1. Create a track entity. Replace all tracks in the db with this new entity, and relate them to recordings attached to releases through the current system.



To Add

  • Track Groups