← All GuidesLesson 1 • 6 min read

The ISRC-to-ISWC Metadata Mapping Gap in Music Royalty Audits


1. Introduction & Structural Disconnect

In digital music rights administration, every musical track represents a dual copyright structure:

  1. The Recording Copyright (Master Right): Represents the specific sound recording (audio file).
  2. The Composition Copyright (Publishing Right): Represents the underlying musical work (melody, lyrics, chord progressions).

This structural split results in two separate, non-communicating global identifier registries: the ISRC (International Standard Recording Code) for recordings, and the ISWC (International Standard Musical Work Code) for compositions. Because these registries are administered by independent global authorities, there is no central repository mapping ISRCs to ISWCs.

2. Technical Causes of the Mapping Gap

  • Optional Distributor Metadata Fields: When record labels and artists upload audio files to digital distributors (e.g., FUGA, TuneCore, DistroKid), the distributor interface prioritizes recording metadata to ensure master royalties are collected. The publishing fields (ISWC, Songwriter splits) are frequently left optional, incomplete, or filled with typos.
  • Time-Delayed ISWC Assignment: An ISRC is minted instantly upon audio mastering or upload. However, an ISWC requires registration with a performing rights organization (PRO) or collective management organization (CMO), which can take weeks or months. This delayed lifecycle makes source-linking difficult.
  • Relational Schema Mismatches: A single composition (ISWC) can have many master recordings (ISRCs) associated with it—such as acoustic mixes, remixes, edits, and cover versions. Without strict durational tolerances, databases default to duplicate work entries.

3. Consequence: The Unmatched Pool ("Black Box")

When DSPs report streams, they supply the ISRC of the audio file. Collective management societies (such as The MLC, ASCAP, BMI, and SoundExchange) receive lump-sum mechanical and performance licensing payouts from DSPs.

To distribute these funds, the societies query their work databases using the reported ISRC. If no ISRC-to-ISWC link exists, the society cannot identify the songwriters or music publishers. The funds are placed into an unmatched pool (commonly called Black Box royalties). If unclaimed after a statutory holding window (typically 3 years), the funds are liquidated and distributed proportionally to major publishers based on market-share ratios, starving independent creators.

4. Algorithmic Resolution Protocol (SERP)

Reconciling millions of unmatched transactions manually is impossible. The reference standard for resolving these gaps programmatically is the Semantic Entity Resolution Protocol (SERP):

  1. Step 1: Distance Pre-Filter: Execute a case-insensitive, punctuation-stripped string distance comparison on the recording track_title and composition work_title. If the normalized Levenshtein similarity score exceeds 0.85, the records proceed.
    Sim(s1,s2)=1-
    Levenshtein(s1, s2)max(|s1|, |s2|)
  2. Step 2: Collaborator Overlap Matrix: Compare the artist name and co-writers list from the recording metadata against the registered songwriters on the ISWC registry. If the intersection of credited creators is greater than or equal to 1, the match is verified.
  3. Step 3: Duration Tolerance Guard: To prevent linking an original mix to an acoustic or live version, the duration of the audio master must be within ±4 seconds of the work registry duration.
    DISRC-DISWC4 seconds

5. Automated Resolution with Royot

The Royot Engine automates the SERP workflow at scale:

  • DuckDB + Polars Core: Performs zero-copy Arrow queries to identify unmatched streams and flag them in local memory vault caches.
  • LangGraph Orchestrator: Runs stateful agent loops to match metadata using vector databases and LLM disambiguation pipelines, generating MLC-compliant claim packages.
  • One-Click Dispatch: Submits verified dispute packages directly to CMO dispute registries via API/email portals.
End of Lesson 1Next Guide: Mechanical Royalty Leakage & The MLC →