Introduction

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.