{
  "$schema": "http://json-schema.org/draft/2019-09/schema",
  "$id": "https://schemas.mpai.community/AIF/V2.0/AIM-metadata.schema.json",
  "Identifier": {
    "ImplementerID": "/* String assigned by IIDRA */",
    "Specification": {
      "Standard": "MPAI-CAE",
      "AIW": "",
      "AIM": "AudioSceneDescription",
      "Version": "V2.2"
    }
  },
  "Description": "This AIM implements Audio Scene Description function.",
  "Types": [
    {
      "Name": "SpaceTime_t",
      "Type": "uint8[]"
    },
    {
      "Name": "AudioObject_t",
      "Type": "uint8[]"
    },
    {
      "Name": "AudioSceneDescriptors_t",
      "Type": "uint8[]"
    }
  ],
  "Ports": [
    {
      "Name": "SpaceTime",
      "Direction": "InputOutput",
      "RecordType": "SpaceTime_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "AudioObject",
      "Direction": "InputOutput",
      "RecordType": "AudioObject_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "AudioSceneDescriptors",
      "Direction": "InputOutput",
      "RecordType": "AudioSceneDescriptors_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "AudioSceneDescriptors",
      "Direction": "OutputInput",
      "RecordType": "AudioSceneDescriptors_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    }
  ],
"SubAIMs": [
    {
      "Name": "AudioAnalysisTransform",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-CAE",
          "AIW": "",
          "AIM": "AudioAnalysisTransform",
          "Version": "V2.2"
        }
      }
    },
    {
      "Name": "AudioSourceLocalisation",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-CAE",
          "AIW": "",
          "AIM": "AudioSourceLocalisation",
          "Version": "V2.2"
        }
      }
    },
    {
      "Name": "AudioSeparationAndEnhancement",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-CAE",
          "AIW": "",
          "AIM": "AudioSeparationAndEnhancement",
          "Version": "V2.2"
        }
      }
    },
    {
      "Name": "AudioSynthesisTransform",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-CAE",
          "AIW": "",
          "AIM": "AudioSynthesisTransform",
          "Version": "V2.2"
        }
      }
    },
    {
      "Name": "AudioDescriptorsMultiplexing",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-CAE",
          "AIW": "",
          "AIM": "AudioDescriptionMultiplexing",
          "Version": "V2.2"
        }
      }
    }
  ],
  "Topology": [
    {
      "Output": {
        "AIMName": "",
        "PortName": "SpaceTime"
      },
      "Input": {
        "AIMName": "AudioAnalysisTransform",
        "PortName": "SpaceTime"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "AudioObject"
      },
      "Input": {
        "AIMName": "AudioAnalysisTransform",
        "PortName": "AudioObject"
      }
    },
    {
      "Output": {
        "AIMName": "AudioAnalysisTransform",
        "PortName": "AudioObject(Transform)"
      },
      "Input": {
        "AIMName": "AudioSourceLocalisation",
        "PortName": "AudioObject(Transform)"
      }
    },
    {
      "Output": {
        "AIMName": "AudioSourceLocalisation",
        "PortName": "SpatialAttitudes"
      },
      "Input": {
        "AIMName": "AudioSeparationAndEnhancement",
        "PortName": "SpatialAttitudes"
      }
    },
    {
      "Output": {
        "AIMName": "AudioAnalysisTransform",
        "PortName": "AudioObject(Transform)"
      },
      "Input": {
        "AIMName": "AudioSeparationAndEnhancement",
        "PortName": "AudioObject(Transform)"
      }
    },
    {
      "Output": {
        "AIMName": "AudioSeparationAndEnhancement",
        "PortName": "EnhancedAudioObject(Transform)"
      },
      "Input": {
        "AIMName": "AudioSynthesisTransform",
        "PortName": "EnhancedAudioObject(Transform)"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "SpaceTime"
      },
      "Input": {
        "AIMName": "AudioDescriptionMultiplexing",
        "PortName": "SpaceTime"
      }
    },
    {
      "Output": {
        "AIMName": "AudioSynthesisTransform",
        "PortName": "EnhancedAudioObject"
      },
      "Input": {
        "AIMName": "AudioDescriptionMultiplexing",
        "PortName": "EnhancedAudioObject"
      }
    },
    {
      "Output": {
        "AIMName": "AudioSeparationAndEnhancement",
        "PortName": "AudioSceneGeometry"
      },
      "Input": {
        "AIMName": "AudioDescriptionMultiplexing",
        "PortName": "AudioSceneGeometry"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "AudioSceneDescriptors"
      },
      "Input": {
        "AIMName": "AudioAnalysisTransform",
        "PortName": "AudioSceneDescriptors"
      }
    },
    {
      "Output": {
        "AIMName": "AudioDescriptorsMultiplexing",
        "PortName": "AudioBasicSceneDescriptors"
      },
      "Input": {
        "AIMName": "",
        "PortName": "AudioBasicSceneDescriptors"
      }
    }
  ],
  "Implementations": [],
  "Documentation": [
    {
      "Type": "Tutorial",
      "URI": "https://mpai.community/standards/MPAI-PAF/"
    }
  ]
}