{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Spatial9Scene", "type": "object", "required": [ "version", "bed", "objects", "constraints_applied" ], "properties": { "version": { "type": "string" }, "bed": { "type": "object", "required": [ "layout", "loudness_target_lufs", "room_preset" ], "properties": { "layout": { "type": "string", "enum": [ "binaural", "5.1.4", "7.1.4", "iamf" ] }, "loudness_target_lufs": { "type": "number" }, "room_preset": { "type": "string" } }, "additionalProperties": false }, "objects": { "type": "array", "minItems": 1, "maxItems": 32, "items": { "type": "object", "required": [ "id", "class", "az_deg", "el_deg", "dist_m", "width", "gain_db", "reverb_send", "early_reflections", "motion" ], "properties": { "id": { "type": "string" }, "class": { "type": "string", "enum": [ "lead_vocal", "back_vocal", "kick", "snare", "hihat", "bass", "drums_bus", "pad", "synth_lead", "guitar", "piano", "strings", "brass", "fx", "dialogue", "ambience", "other" ] }, "az_deg": { "type": "number", "minimum": -180, "maximum": 180 }, "el_deg": { "type": "number", "minimum": -45, "maximum": 90 }, "dist_m": { "type": "number", "minimum": 0.5, "maximum": 15.0 }, "width": { "type": "number", "minimum": 0.0, "maximum": 1.0 }, "gain_db": { "type": "number", "minimum": -60, "maximum": 12 }, "reverb_send": { "type": "number", "minimum": 0.0, "maximum": 1.0 }, "early_reflections": { "type": "number", "minimum": 0.0, "maximum": 1.0 }, "motion": { "type": "array", "maxItems": 64, "items": { "type": "object", "required": [ "t", "az_deg", "el_deg", "dist_m" ], "properties": { "t": { "type": "number", "minimum": 0.0, "maximum": 1.0 }, "az_deg": { "type": "number", "minimum": -180, "maximum": 180 }, "el_deg": { "type": "number", "minimum": -45, "maximum": 90 }, "dist_m": { "type": "number", "minimum": 0.5, "maximum": 15.0 } }, "additionalProperties": false } } }, "additionalProperties": false } }, "constraints_applied": { "type": "array", "items": { "type": "string" }, "maxItems": 64 } }, "additionalProperties": false }