fm.leadsheet.sheet

leadsheet.fm

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A chord sheet or tab for a song, written in ChordPro.",
      "key": "tid",
      "record": {
        "properties": {
          "album": {
            "maxGraphemes": 200,
            "maxLength": 1000,
            "type": "string"
          },
          "artist": {
            "description": "Performing artist, as credited on the recording this sheet follows.",
            "maxGraphemes": 200,
            "maxLength": 1000,
            "type": "string"
          },
          "capo": {
            "maximum": 12,
            "minimum": 0,
            "type": "integer"
          },
          "content": {
            "maxGraphemes": 50000,
            "maxLength": 100000,
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Author's notes: strumming pattern, how the intro is played, etc.",
            "maxGraphemes": 3000,
            "maxLength": 10000,
            "type": "string"
          },
          "difficulty": {
            "knownValues": [
              "beginner",
              "intermediate",
              "advanced"
            ],
            "maxLength": 32,
            "type": "string"
          },
          "forkOf": {
            "description": "The sheet this one was derived from, as it was when forked.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "format": {
            "default": "chordpro",
            "description": "Markup of `content`. ChordPro: inline [C]hords, {directives}, and {start_of_tab} blocks.",
            "knownValues": [
              "chordpro"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "key": {
            "description": "Key the sheet is written in, e.g. 'G' or 'F#m'.",
            "maxLength": 16,
            "type": "string"
          },
          "kind": {
            "default": "chords",
            "description": "What the sheet is for: chords over lyrics, guitar tablature, ukulele chords, or bass.",
            "knownValues": [
              "chords",
              "tab",
              "ukulele",
              "bass"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "tags": {
            "items": {
              "maxGraphemes": 64,
              "maxLength": 640,
              "type": "string"
            },
            "maxLength": 10,
            "type": "array"
          },
          "title": {
            "description": "Song title.",
            "maxGraphemes": 200,
            "maxLength": 1000,
            "type": "string"
          },
          "tuning": {
            "description": "How the instrument (see `kind`) is tuned. Unset or 'standard' is that instrument's standard: EADGBE guitar, GCEA ukulele, EADG bass.",
            "knownValues": [
              "standard",
              "eb-standard",
              "d-standard",
              "drop-d",
              "drop-c",
              "dadgad",
              "open-d",
              "open-g",
              "open-e",
              "open-c",
              "low-g",
              "baritone",
              "five-string"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          },
          "voicings": {
            "description": "Chord shapes the author chose, at most one per chord. Readers see these instead of the shapes the app would pick.",
            "items": {
              "ref": "#voicing",
              "type": "ref"
            },
            "maxLength": 100,
            "type": "array"
          }
        },
        "required": [
          "title",
          "artist",
          "content",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "voicing": {
      "description": "How to play one chord of the sheet.",
      "properties": {
        "chord": {
          "description": "The chord as written in `content`, e.g. 'C' or 'F#m7'.",
          "maxLength": 64,
          "type": "string"
        },
        "frets": {
          "description": "Fret for each string, in chart order (low E side first on guitar and bass, G first on ukulele), in the sheet's tuning and relative to its capo: -1 = not played, 0 = open.",
          "items": {
            "maximum": 24,
            "minimum": -1,
            "type": "integer"
          },
          "maxLength": 12,
          "minLength": 1,
          "type": "array"
        }
      },
      "required": [
        "chord",
        "frets"
      ],
      "type": "object"
    }
  },
  "description": "A chord sheet or tab for a song, written in ChordPro.",
  "id": "fm.leadsheet.sheet",
  "lexicon": 1
}

Validate Record

Validate a record against fm.leadsheet.sheet

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:h2pnmd2phwtpwwar2amai6a5
CID
bafyreieboitqtc33qxyzmuvnowtqrtzsr4nivt7nythmm6ssdiu3ej3f4e
Indexed At
2026-09-25 00:05 UTC
AT-URI
at://did:plc:h2pnmd2phwtpwwar2amai6a5/com.atproto.lexicon.schema/fm.leadsheet.sheet

Version History (6 versions)

Lexicon Garden

@