Skip to main content

InstrumentPresetSchema

@zylem/game-lib


@zylem/game-lib / audio / InstrumentPresetSchema

Variable: InstrumentPresetSchema

const InstrumentPresetSchema: TUnion<[TLiteral<"synth">, TLiteral<"polySynth">, TLiteral<"fmSynth">, TLiteral<"amSynth">, TLiteral<"membraneSynth">, TLiteral<"metalSynth">, TLiteral<"noiseSynth">, TLiteral<"pluckSynth">]>

Defined in: packages/game-lib/src/lib/audio/song-definition.ts:13

TypeBox schema for a song the audio module can play: instruments (Tone.js presets with an effects chain), tracks (one instrument or audio lane each) and clips placed on those tracks. All positions and lengths are in beats at the song's tempo; audio clips reference a URL the runtime can fetch.

Creator's Music mode authors .song.json documents that strip down to this shape (toRuntimeSong in @zylem-creator/shared).