fm.leadsheet.sheet

leadsheet.fm

Documentation

A chord sheet or tab for a song, written in ChordPro.

main record

A chord sheet or tab for a song, written in ChordPro.

Record Key tid Timestamp-based ID

Properties

album string Optional

No description available.

maxLength: 1000 bytesmaxGraphemes: 200 graphemes
artist string Required

Performing artist, as credited on the recording this sheet follows.

maxLength: 1000 bytesmaxGraphemes: 200 graphemes
capo integer Optional

No description available.

minimum: 0maximum: 12
content string Required

No description available.

maxLength: 100000 bytesmaxGraphemes: 50000 graphemes
createdAt string datetime Required

An RFC 3339 formatted timestamp.

description string Optional

Author's notes: strumming pattern, how the intro is played, etc.

maxLength: 10000 bytesmaxGraphemes: 3000 graphemes
difficulty string Optional

No description available.

maxLength: 32 bytes
Known values: beginner, intermediate, advanced
draft boolean Optional

Not published yet: apps list and search only published sheets, and show a draft only to its author. Like any record, a draft is still publicly readable from the author's repo.

Default: false
format string Optional

Markup of `content`. ChordPro: inline [C]hords, {directives}, and {start_of_tab} blocks.

maxLength: 64 bytes
Known values: chordpro
Default: chordpro
key string Optional

Key the sheet is written in, e.g. 'G' or 'F#m'.

maxLength: 16 bytes
kind string Optional

What the sheet is for: chords over lyrics (guitar), guitar tablature, ukulele chords, bass, or piano.

maxLength: 64 bytes
Known values: chords, tab, ukulele, bass, piano
Default: chords
tags array of string Optional

No description available.

maxLength: 10 items
title string Required

Song title.

maxLength: 1000 bytesmaxGraphemes: 200 graphemes
tuning string Optional

How the instrument (see `kind`) is tuned. Unset or 'standard' is that instrument's standard: EADGBE guitar, GCEA ukulele, EADG bass.

maxLength: 64 bytes
Known values: standard, eb-standard, d-standard, drop-d, drop-c, dadgad, open-d, open-g, open-e, open-c, low-g, baritone, five-string
updatedAt string datetime Optional

An RFC 3339 formatted timestamp.

voicings array of ref #voicing Optional

Chord shapes the author chose, at most one per chord. Readers see these instead of the shapes the app would pick.

maxLength: 100 items
View raw schema
{
  "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"
      },
      "draft": {
        "default": false,
        "description": "Not published yet: apps list and search only published sheets, and show a draft only to its author. Like any record, a draft is still publicly readable from the author's repo.",
        "type": "boolean"
      },
      "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), guitar tablature, ukulele chords, bass, or piano.",
        "knownValues": [
          "chords",
          "tab",
          "ukulele",
          "bass",
          "piano"
        ],
        "maxLength": 64,
        "type": "string"
      },
      "links": {
        "description": "Where to hear the recording this sheet follows: YouTube, Bandcamp, SoundCloud, a streaming service. http(s) URLs.",
        "items": {
          "format": "uri",
          "maxLength": 2000,
          "type": "string"
        },
        "maxLength": 5,
        "type": "array"
      },
      "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 object

How to play one chord of the sheet.

Properties

chord string Required

The chord as written in `content`, e.g. 'C' or 'F#m7'.

maxLength: 64 bytes
frets array of integer Required

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.

maxLength: 12 itemsminLength: 1 items
View raw schema
{
  "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"
}

Lexicon Garden

@