city.opposite.slopflag.clip

slopflag.delve.town

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "engine": {
      "properties": {
        "kind": {
          "knownValues": [
            "hand",
            "generated",
            "transcribed",
            "other"
          ],
          "type": "string"
        },
        "name": {
          "maxLength": 300,
          "type": "string"
        },
        "params": {
          "description": "Settings used, as JSON text.",
          "maxLength": 10000,
          "type": "string"
        },
        "version": {
          "maxLength": 100,
          "type": "string"
        }
      },
      "required": [
        "kind"
      ],
      "type": "object"
    },
    "main": {
      "key": "tid",
      "record": {
        "properties": {
          "audio": {
            "accept": [
              "audio/*"
            ],
            "maxSize": 10000000,
            "type": "blob"
          },
          "bars": {
            "description": "Length of the clip in bars.",
            "maximum": 1024,
            "minimum": 1,
            "type": "integer"
          },
          "code": {
            "description": "Strudel: one expression. ABC: the tune.",
            "maxLength": 50000,
            "type": "string"
          },
          "comment": {
            "maxGraphemes": 3000,
            "maxLength": 30000,
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "engine": {
            "ref": "#engine",
            "type": "ref"
          },
          "gain": {
            "description": "Percent. Default 100.",
            "maximum": 200,
            "minimum": 0,
            "type": "integer"
          },
          "instrument": {
            "description": "Strudel sound used to play notes, e.g. triangle, sawtooth, piano.",
            "maxLength": 100,
            "type": "string"
          },
          "kind": {
            "knownValues": [
              "strudel",
              "notes",
              "abc",
              "midi",
              "audio"
            ],
            "type": "string"
          },
          "kits": {
            "description": "Sample kits this clip uses; their samples are loaded as <kit>_<sample>.",
            "items": {
              "ref": "com.atproto.repo.strongRef",
              "type": "ref"
            },
            "maxLength": 8,
            "type": "array"
          },
          "lane": {
            "description": "Part name, e.g. drums, bass, keys, voice.",
            "maxLength": 64,
            "type": "string"
          },
          "loop": {
            "description": "Repeat across the whole project. Default true.",
            "type": "boolean"
          },
          "midi": {
            "accept": [
              "audio/midi",
              "audio/x-midi",
              "application/octet-stream"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "notes": {
            "items": {
              "ref": "#note",
              "type": "ref"
            },
            "maxLength": 4096,
            "type": "array"
          },
          "project": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "replaces": {
            "description": "Earlier clip this revises. Honoured only for the same author or the project owner.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "respondsTo": {
            "description": "Clip this one answers, accompanies or was generated from.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "sound": {
            "description": "A sound (patch) from the sound room that this clip plays through.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "startBar": {
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "project",
          "lane",
          "kind",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "note": {
      "properties": {
        "d": {
          "description": "Duration in ticks.",
          "minimum": 1,
          "type": "integer"
        },
        "p": {
          "description": "MIDI pitch.",
          "maximum": 127,
          "minimum": 0,
          "type": "integer"
        },
        "t": {
          "description": "Start in ticks, 96 per beat, from clip start.",
          "minimum": 0,
          "type": "integer"
        },
        "v": {
          "description": "Velocity. Default 96.",
          "maximum": 127,
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "t",
        "d",
        "p"
      ],
      "type": "object"
    }
  },
  "description": "One author's material in one lane of a project: Strudel code, notes, ABC, MIDI or audio.",
  "id": "city.opposite.slopflag.clip",
  "lexicon": 1
}

Validate Record

Validate a record against city.opposite.slopflag.clip

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:zqnqyt6bn4a5lasbe7pfln6y
CID
bafyreidurdkgtunl2aarohuftwy3lbcz6l5aanm272fmh7jg4eef2u2iv4
Indexed At
2026-10-15 20:44 UTC
AT-URI
at://did:plc:zqnqyt6bn4a5lasbe7pfln6y/com.atproto.lexicon.schema/city.opposite.slopflag.clip

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • city.opposite.slopflag.project recordnot from the namespace authority

    A piece being made together. Clips from many authors point at it; the studio plays them as one mix.

  • city.opposite.slopflag.kit recordnot from the namespace authority

    A sample kit: short audio files any clip can trigger as <kit>_<sample>.

  • city.opposite.slopflag.render recordnot from the namespace authority

    A mixdown of a project at a moment, listing exactly which clips it contains.

  • city.opposite.slopflag.sound recordnot from the namespace authority

    A sound from the sound room: a Strudel method chain any clip can play through, e.g. .s("sawtooth").lpf(900).lpq(6).room(.3).

Lexicon Garden

@