Skip to content

Instantly share code, notes, and snippets.

@arthursoares
Last active March 27, 2024 12:17
Show Gist options
  • Save arthursoares/f21f740761abf60e2252b68359c148f2 to your computer and use it in GitHub Desktop.
Save arthursoares/f21f740761abf60e2252b68359c148f2 to your computer and use it in GitHub Desktop.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "HOLOPLOT OS v2.0 Project File",
"description": "This is a beautiful project. We can add multiple references.",
"definitions": {
"beam_coefficients": {
"$ref": "#/$defs/beam_coefficients"
},
"beam_calculation_parameters": {
"$ref": "#/$defs/beam_calculation_parameters"
}
},
"$defs": {
"beam_coefficients": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "http://holoplot.com/schemas/project/v1.0.0/beam_coefficients.json",
"description": "stores beams",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"coefficients": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"delay": {
"type": "number"
},
"gainLinear": {
"type": "number"
},
"fs": {
"type": "number"
},
"IFIR": {
"type": "object",
"properties": {
"cInt24": {
"type": "array",
"items": {
"type": "number"
}
},
"cIdx": {
"type": "array",
"items": {
"type": "number"
}
},
"fractionalBits": {
"type": "number"
}
}
},
"PEQ": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"frequency": {
"type": "number"
},
"gain": {
"type": "number"
},
"q": {
"type": "number"
}
},
"required": [
"type",
"frequency",
"gain",
"q"
]
}
}
},
"required": [
"id",
"delay",
"gainLinear",
"fs",
"IFIR",
"PEQ"
]
}
}
}
},
"beam_calculation_parameters": {
"$schema": "http://json-schema.org/draft-04/schema#",
"$id": "http://holoplot.com/schemas/project/v1.0.0/beam_calculation_parameters.json",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"enum": [
"COVERAGE_BEAM",
"OPTIMIZED_VIRTUAL_SOURCE",
"VIRTUAL_SOURCE",
"PARAMETRIC_BEAM",
"GENERIC_SOURCE_CONFIG"
]
},
"lfe": {
"type": "boolean"
},
"phase_response": {
"enum": [
"MINIMUM",
"LINEAR",
"NEAR_MINIMUM",
"MIXED"
]
},
"target_curve_id": {
"type": "string"
},
"environmental_conditions_id": {
"type": "string"
},
"input_spectrum": {
"enum": [
"AES2",
"MNOISE",
"IEC60268",
"EIA426B",
"MSG",
"MALE_SPEECH"
]
},
"hor_opening_angle": {
"type": "number"
},
"ver_opening_angle": {
"type": "number"
},
"hor_steering_angle": {
"type": "number"
},
"ver_steering_angle": {
"type": "number"
},
"performance_target": {
"type": "number"
}
},
"required": [
"id",
"type",
"lfe",
"phase_response",
"target_curve_id",
"environmental_conditions_id",
"input_spectrum"
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment