Music Metadata Management

DMP (Django-Music-Publisher) is free, open-source software for managing music metadata:

  • musical works and recordings (with audio files),
  • writers, artists and labels (with photos/logos),
  • releases/albums (with cover art), and
  • music libraries.
classDiagram direction BT class Writer { first name last name IPI CMO aff. ... } class Work { title ISWC ... } class Recording { recording title version title ISRC ... } class Artist { first name last/band name ISNI ... } class GeneralAgreement { publisher fee ... } class WriterInWork { role manuscript share controlled ... } class Release { title date ... } class Label { name } class Library { name } GeneralAgreement --> Writer Writer <-- WriterInWork WriterInWork --> Work Label <-- Recording : Record Label Recording --> Work Recording --> Artist: Recording Artist Artist <..> Work : Live Artist Release <.. Work : Library Release Release <--> Recording : Track Release ..> Library : Library Release Release --> Label : Release Label

Simplified Class Diagram

Common Works Registration (CWR)

It implements CWR protocol for batch registration of musical works with Collective Management Organizations (CMOs) and Digital Service Providers (DSPs).

sequenceDiagram Note over Publisher,CMO: Registrations Publisher->>CMO: CWR (Work Registration) CMO->>Publisher: CWR ACK 1 (Technical validation) CMO->>Publisher: CWR ACK 2 (Registration status + CMO work ID + ISWC) Note over Publisher,CMO: Royalties CMO->>Publisher: Royalty Statement (CMO work ID + royalty amount)

Sequence diagram: Work registration and incoming royalty statements

Royalty Management

Simple royalty processing calculations can split received royalties among controlled writers and calculate publisher fees.

Incoming data is accepted as a CSV file. If registrations are done using CWR, work matching is fully automatic. Output is a similar CSV file with additional rows and columns.

sequenceDiagram CMO/DSP->>Publisher DMP: Incoming Royalty Statement (CSV) Publisher DMP->>Publisher Excel: Augmented royalty information Publisher Excel->>Writer: Outgoing Royalty Statement Publisher Excel->>Accounting: Accounting data

Sequence diagram: Processing incoming royalty statements

This file can be then imported into Excel and turned into individual outgoing statements and accounting data using pivot tables. This process can be automated using Excel templates and simple scripts.

Data Distribution

Besides the aforementioned CWR protocol, music metadata can be exported in several other formats, or be accessed through the read-only REST API.