Digital Pressings - A Richer Metadata Standard for Music NFTs

Introduction

We recently announced our intention to develop the first new chart accredited music format since 2015 - the Serenade Digital Pressing. Designed to cater for a super-fan’s appetite for scarcity, exclusive content and community recognition, Digital Pressings are recognised by the UK and Australian chart bodies. We launched this innovative new format on August 26 with Grammy award winning global rock icons Muse for their brand new album Will Of The People. The format proved extremely popular with Muse fans and Serenade users alike, selling out within the first 25 minutes of sale.

This new format is designed to represent albums and singles in NFT form, and provides owners with access to exclusive rewards such as voice notes and downloadable artwork. These rewards are currently in the form of exclusive digital material but could expand into the realm of real world or metaverse experiences in the future.

Existing Metadata Standards

Our existing Digital Collectibles can be considered "traditional" NFTs and utilise the ERC-721 standard (we opted for ERC-721 over ERC-1155 because we wanted uniqueness across allocated edition numbers). Each token is associated with an ERC721 Metadata JSON Schema file, which defines the digital asset that the token is associated with. This format allows us to specify a name, description and image attribute:

{
    "title": "Asset Metadata",
    "type": "object",
    "properties": {
        "name": {
            "type": "string",
            "description": "Identifies the asset to which this NFT represents"
        },
        "description": {
            "type": "string",
            "description": "Describes the asset to which this NFT represents"
        },
        "image": {
            "type": "string",
            "description": "A URI pointing to a resource with mime type image/* representing the asset to which this NFT represents. Consider making any images at a width between 320 and 1080 pixels and aspect ratio between 1.91:1 and 4:5 inclusive."
        }
    }
}

Digital Collectibles might also include an audio or video file, so we use the OpenSea Metadata Standard which extends the ERC721 Metadata Standard and adds a number of fields commonly used by NFT creators to enhance the display of tokens on OpenSea. For example we utilise the animation_url field to reference audio or video files, and the attributes field to add traits such as the edition number:

{
  "name":"Herstory in the Making #1"
  "description": "Young MA was already well on her way to climbing the ladder of Hip Hop’s greats when her debut album, Herstory in the Making, dropped… but this album exceeded expectations.",
  "external_link": "https://serenade.co/@youngma/herstory-in-the-making/1",
  "attributes":[{
    "trait_type":"Edition Number",
    "display_type":"number",
    "value":1
  }],
  "image": "https://serenade.mypinata.cloud/ipfs/QmaUiZMsUExLurDGJe1GykPvipxb97wLztTcanXmSVm6ba",
  "animation_url": "https://serenade.mypinata.cloud/ipfs/QmXLHLxdcd7DSogjPjwALohHNvt3Wh6iXUaRTifaQaXHLF"
}

Although this metadata standard lends itself well to Digital Collectibles, Digital Pressings are vastly more complex: rather than representing one or two digital assets, they represent many. As we covered earlier, a Digital Pressing comprises of a bundle of digital assets including artwork, tracks and rewards.

This poses a problem when publishing metadata for products which do not fit the standard template - even when using the slightly more expansive OpenSea standard - since it would restrict rich data formats into simple key value pairs using the attributes property.

As a consequence we wanted to utilise a new metadata format that took the following into consideration:

  • Maintain strict compliance to the ERC721 Metadata Schema to ensure interoperability.
  • Enable extensibility to solve for today and be ready for tomorrow.
  • Maintain maximum compliance with the OpenSea Metadata Standard so that media can be interacted with on the OpenSea website (now, or in the near future).
  • Publish the schema so that metadata can be validated against it, and adopted by the wider NFT developer community.

A New Metadata Solution

The idea for storing a host of rich data led us to two options:

  1. Shoehorn the data into the existing ERC721 metadata file, forcing us to propose changes to the ERC721 Metadata Schema and consider the impact on the wider NFT community.
  2. Omit the data from the token metadata entirely, and store all the data in our database.

Since we believe this information is an integral part of the Digital Pressing we decided to store it against the token. However, rather than adding this information directly to the main metadata file, we decided to store it in a separate file called the Product Descriptor, and include a reference to it.

This approach provides the following benefits:

  • It maintains a separation of concerns in terms of the type of data stored between files. Linked files can utilise their own schema definitions which can be created and maintained by NFT developers to match their own requirements.
  • It reduces the number of new fields we propose to add to the ERC721 Metadata Schema, thus retaining flexibility of the current format.

For this to work we need to extend the ERC721 Metadata Schema, and define a schema for the custom metadata file.

ERC721 Metadata Schema Improvement Proposal

We would like to propose the amendment of the ERC721 Metadata Schema to include a new field, links, which can store an array of referenced files.

Note: We believe an array of links is more extensible than a single link, even though we are only referencing one file for Digital Pressings. We are also referencing another metadata file, but the array could contain references to any type of file.

Each link would contain a type and a url attribute:

{
    ...
    "links": [
        {
            "type": "<TYPE>",
            "url": "<URL>"
        },
        ...
    ]
}

For example:

{
  "links": [{
    "type": "Digital Pressing",
    "uri": "https://serenade.mypinata.cloud/ipfs/QmU9PKJTvcZTo8A5xPAVypAdHUJF7ZbKendbDJYzkdaYnu"
  }]
}

For Digital Pressings, the token metadata is therefore layered as follows:

Product Descriptor

The first version of our Product Descriptor Schema for Digital Pressings can be found here and contains two distinct sections, context and data.

The context section allows us to specify information about the file itself, for example the type of metadata and the schema file it can be validated against:

"context": {
  "schema": "https://api.serenade.co/schema/pressing/1.0.0/pressing-descriptor-schema.json",
  "type": "Digital Pressing",
  "created": "2022-08-25T13:00:55.170Z"
} 

The data section contains all the pressing information, including artwork, tracks and rewards:

"data": {  
  "product_version": "1.0.0",
  "upc": "5054197305535",
  "pressing_type": "Album",
  "artist_name": "Muse",
  "title": "Will Of The People",
  ...
  "artwork": {
    "image_url": "https://serenade.mypinata.cloud/ipfs/QmTsP9F3wNz4vavGdr7ufC3LHK8A6231ksj5Rbk3YvXzDv"
  },
  "tracks": [{
    "isrc": "GBAHT2102033",
    "title": "Will Of The People",
    "track_number": 1,
    ...
  }],
  "rewards": [{
    "type": "Bonus Material",
    "description": "Will Of The People (Premium FLAC)"
  }]
}

A full instance of this file can be found here.

We intend to make the schemas open source in future so that developers from the wider NFT community can also contribute.

Conclusion

We believe we’ve created a solution for capturing the rich data associated with Digital Pressings, whilst also offering a limitless solution for other NFT developers that requires minimal amendment to existing ERC721 metadata standards. With this flexible approach, we’ve opened the door for complex, nested metadata structures with upgradable schemas.

Although Digital Pressings will appear on third-party marketplaces as images rather than interactive media (since references to these files are stored outside the main metadata file), our hope is that by defining a standard for Digital Pressings it will be possible for OpenSea and other NFT marketplaces to accommodate this new format in how they design solutions for music-related products.

Follow us on Twitter, or join our Discord channel to keep up to date with all Serenade announcements.

Subscribe to Serenade
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.