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.
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 graphemesroot
integer
Optional
Root note of the scale as a MIDI note number
minimum: 0maximum: 127scale
string
Optional
Scale the tone tracks' degrees are drawn from
pentatonic, minor, major, doriansteps
integer
Required
Number of sixteenth-note steps in the loop
minimum: 4maximum: 64tempo
integer
Required
Loop tempo in beats per minute
minimum: 40maximum: 240tracks
array
of
object
Required
The overlapping tracks, played together on the loop
maxLength: 32 itemsView 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."
}