net.anisota.lab.synth

anisota.net

Documentation

A multitrack composition made in the Anisota Lab's Synth studio and saved to the owner's library. The piece is stored as compact musical event data (not audio), so it can be reloaded into the synth, replayed and edited. The shared loop has a tempo and step length; each track is either a 'tone' voice (a waveform playing degrees of the composition's scale) or a 'drum' lane (the studio's synthesized kit). A track's notes are stored in 'cells' as interleaved integers — for a tone track [step, degree, step, degree, ...] where degree indexes the scale ladder; for a drum track [step, piece, ...] where piece is 0..4 (kick, snare, hat, clap, tom). 'fx' captures the rack the piece was shaped with.

main record

A multitrack composition made in the Anisota Lab's Synth studio and saved to the owner's library. The piece is stored as compact musical event data (not audio), so it can be reloaded into the synth, replayed and edited. The shared loop has a tempo and step length; each track is either a 'tone' voice (a waveform playing degrees of the composition's scale) or a 'drum' lane (the studio's synthesized kit). A track's notes are stored in 'cells' as interleaved integers — for a tone track [step, degree, step, degree, ...] where degree indexes the scale ladder; for a drum track [step, piece, ...] where piece is 0..4 (kick, snare, hat, clap, tom). 'fx' captures the rack the piece was shaped with.

Record Key any Any valid record key

Properties

createdAt string datetime Required

When the composition was saved

fx object Optional

The shared rack the composition was shaped with, each 0..100

name string Required

Display name for the composition

maxLength: 800 bytesmaxGraphemes: 100 graphemes
root integer Optional

Root note of the scale as a MIDI note number

minimum: 0maximum: 127
scale string Optional

Scale the tone tracks' degrees are drawn from

Allowed: pentatonic, minor, major, dorian
steps integer Required

Number of sixteenth-note steps in the loop

minimum: 4maximum: 64
tempo integer Required

Loop tempo in beats per minute

minimum: 40maximum: 240
tracks array of object Required

The overlapping tracks, played together on the loop

maxLength: 32 items
View raw schema
{
  "key": "any",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "name",
      "tempo",
      "steps",
      "tracks",
      "createdAt"
    ],
    "properties": {
      "fx": {
        "type": "object",
        "properties": {
          "echo": {
            "type": "integer",
            "maximum": 100,
            "minimum": 0
          },
          "reso": {
            "type": "integer",
            "maximum": 100,
            "minimum": 0
          },
          "drive": {
            "type": "integer",
            "maximum": 100,
            "minimum": 0
          },
          "cutoff": {
            "type": "integer",
            "maximum": 100,
            "minimum": 0
          },
          "master": {
            "type": "integer",
            "maximum": 100,
            "minimum": 0
          }
        },
        "description": "The shared rack the composition was shaped with, each 0..100"
      },
      "name": {
        "type": "string",
        "maxLength": 800,
        "description": "Display name for the composition",
        "maxGraphemes": 100
      },
      "root": {
        "type": "integer",
        "maximum": 127,
        "minimum": 0,
        "description": "Root note of the scale as a MIDI note number"
      },
      "scale": {
        "enum": [
          "pentatonic",
          "minor",
          "major",
          "dorian"
        ],
        "type": "string",
        "description": "Scale the tone tracks' degrees are drawn from"
      },
      "steps": {
        "type": "integer",
        "maximum": 64,
        "minimum": 4,
        "description": "Number of sixteenth-note steps in the loop"
      },
      "tempo": {
        "type": "integer",
        "maximum": 240,
        "minimum": 40,
        "description": "Loop tempo in beats per minute"
      },
      "tracks": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "kind",
            "cells"
          ],
          "properties": {
            "gain": {
              "type": "integer",
              "maximum": 100,
              "minimum": 0,
              "description": "Track level, 0..100"
            },
            "kind": {
              "enum": [
                "tone",
                "drum"
              ],
              "type": "string",
              "description": "A pitched voice or a percussion lane"
            },
            "wave": {
              "enum": [
                "triangle",
                "sine",
                "sawtooth",
                "square"
              ],
              "type": "string",
              "description": "Oscillator shape for a tone track"
            },
            "cells": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "maxLength": 8192,
              "description": "Interleaved note data: [step, degree-or-piece, ...]"
            },
            "muted": {
              "type": "boolean",
              "description": "Whether the track is silenced in the mix"
            }
          }
        },
        "maxLength": 32,
        "description": "The overlapping tracks, played together on the loop"
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "When the composition was saved"
      }
    }
  },
  "description": "A multitrack composition made in the Anisota Lab's Synth studio and saved to the owner's library. The piece is stored as compact musical event data (not audio), so it can be reloaded into the synth, replayed and edited. The shared loop has a tempo and step length; each track is either a 'tone' voice (a waveform playing degrees of the composition's scale) or a 'drum' lane (the studio's synthesized kit). A track's notes are stored in 'cells' as interleaved integers — for a tone track [step, degree, step, degree, ...] where degree indexes the scale ladder; for a drum track [step, piece, ...] where piece is 0..4 (kick, snare, hat, clap, tom). 'fx' captures the rack the piece was shaped with."
}

Lexicon Garden

@