User:LordSputnik/Track System Redesign

From MusicBrainz Wiki


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


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





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.


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.


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.


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


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


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


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


  • 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


  • 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


  • 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



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


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


  • remastering: artist


  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