# ch.indiemusi.alpha.recording

> Published by [indiemusi.ch](https://lexicon.garden/identity/did:plc:lcmrbur2pydmpelfcs7fjbdx)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:lcmrbur2pydmpelfcs7fjbdx/ch.indiemusi.alpha.recording)
- [Documentation](https://lexicon.garden/lexicon/did:plc:lcmrbur2pydmpelfcs7fjbdx/ch.indiemusi.alpha.recording/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:lcmrbur2pydmpelfcs7fjbdx/ch.indiemusi.alpha.recording/examples)

## Definitions

### `ch.indiemusi.alpha.recording`

**Type**: `record`

A recording of a song or musical work: the performance captured in a specific format

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `isrc` | `string` | No | ISRC (International Standard Recording Code) with which the recording is registered |
| `song` | `ref` → `ch.indiemusi.alpha.song` | No |  |
| `title` | `string` | Yes |  |
| `artists` | `array` | Yes |  |
| `duration` | `integer` | No | Duration of the recording in seconds |
| `audioFile` | `blob` | No |  |
| `masterOwner` | `ref` → `#masterOwnerInfo` | No |  |

### `ch.indiemusi.alpha.recording#artist`

**Type**: `object`

Information about an artist contributing to the recording

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | No |  |
| `name` | `string` | Yes |  |
| `artist` | `ref` → `ch.indiemusi.alpha.actor.artist` | No |  |

### `ch.indiemusi.alpha.recording#masterOwnerInfo`

**Type**: `object`

Information about the master owner

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | No |  |
| `name` | `string` | No |  |
| `masterOwner` | `ref` → `ch.indiemusi.alpha.actor.masterOwner` | No |  |

## Raw Schema

```json
{
  "id": "ch.indiemusi.alpha.recording",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "title",
          "artists"
        ],
        "properties": {
          "isrc": {
            "type": "string",
            "maxLength": 12,
            "description": "ISRC (International Standard Recording Code) with which the recording is registered"
          },
          "song": {
            "ref": "ch.indiemusi.alpha.song",
            "type": "ref"
          },
          "title": {
            "type": "string",
            "maxLength": 255
          },
          "artists": {
            "type": "array",
            "items": {
              "ref": "#artist",
              "type": "ref"
            },
            "minLength": 1
          },
          "duration": {
            "type": "integer",
            "description": "Duration of the recording in seconds"
          },
          "audioFile": {
            "type": "blob"
          },
          "masterOwner": {
            "ref": "#masterOwnerInfo",
            "type": "ref"
          }
        }
      },
      "description": "A recording of a song or musical work: the performance captured in a specific format"
    },
    "artist": {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        },
        "name": {
          "type": "string",
          "maxLength": 255
        },
        "artist": {
          "ref": "ch.indiemusi.alpha.actor.artist",
          "type": "ref"
        }
      },
      "description": "Information about an artist contributing to the recording"
    },
    "masterOwnerInfo": {
      "type": "object",
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        },
        "name": {
          "type": "string",
          "maxLength": 255
        },
        "masterOwner": {
          "ref": "ch.indiemusi.alpha.actor.masterOwner",
          "type": "ref"
        }
      },
      "description": "Information about the master owner"
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
