{ "$schema":              "https://json-schema.org/draft/2020-12/schema",
  "$comment":             "https://schemas.mpai.community/AIF/V3.0/data/AIMMetadata.json",
  "$id":                  "https://schemas.mpai.community/CAE3/V1.0/AIMs/AudioSceneManager.json",
  "title":                "Audio Scene Management V1.0",
  "Header":               "CAE-ASM-V1.0",

  "Identifier":           {"ImplementerID": "/* String from IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "CAE-ASM-V1.0"},

  "APIProfile":           "Basic",
  "Execution":            "Continuous",
  "Description":          "Audio Scene Management, as the author's Reference Model draws it (2026/10/04): an audio chain - Audio Object Editing, then Audio Scene Editing - and a speech chain - Speech Object Editing, then Speech Scene Editing - whose Scenes Basic Multimodal Scene Editing (OSD-BME) composes into a Basic Multimodal Scene; each AIM with its own User Command, each returning the User Command with its report half (how each action was executed). Every edit is a new version in the Module's Shared Storage, from which Objects and Scenes are opened by their identifiers. Speech Object Editing has a Basic Speech Object translated by Text and Speech Translation (MMC-TST); the translation replaces the original, under its identifier, so every Speech Scene holding it holds the translation, at its place. Capture, reading the User's stored Objects, and hearing the Objects and Scenes - Audio and Speech Object Delivery - are the User Agent's, through the Units of its Physical Layer.",

  "InternalTypes":        [{"Name": "SpeechToTranslate", "DataType": "OSD-BSO-V1.5"},
                           {"Name": "TargetLanguage", "DataType": "OSD-SEL-V1.5"},
                           {"Name": "TranslatedSpeech", "DataType": "OSD-BSO-V1.5"}],

  "ExternalPorts":        [{"Name": "AudioObjectCommand", "Direction": "Input", "DataType": "CAE-UCM-V1.0", "PortNumber": 1, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "AudioObjectUserPoV", "Direction": "Input", "DataType": "OSD-OPV-V1.5", "PortNumber": 1, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "AudioObject", "Direction": "Input", "DataType": "OSD-BAO-V1.5", "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "AudioSceneCommand", "Direction": "Input", "DataType": "CAE-UCM-V1.0", "PortNumber": 2, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "AudioSceneUserPoV", "Direction": "Input", "DataType": "OSD-OPV-V1.5", "PortNumber": 2, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "AudioScene", "Direction": "Input", "DataType": "OSD-BAS-V1.5", "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechObjectCommand", "Direction": "Input", "DataType": "CAE-UCM-V1.0", "PortNumber": 3, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechObjectUserPoV", "Direction": "Input", "DataType": "OSD-OPV-V1.5", "PortNumber": 3, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechObject", "Direction": "Input", "DataType": "OSD-BSO-V1.5", "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechSceneCommand", "Direction": "Input", "DataType": "CAE-UCM-V1.0", "PortNumber": 4, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechSceneUserPoV", "Direction": "Input", "DataType": "OSD-OPV-V1.5", "PortNumber": 4, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechScene", "Direction": "Input", "DataType": "OSD-BSS-V1.5", "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "EditedAudioObject", "Direction": "Output", "DataType": "OSD-BAO-V1.5", "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "AudioObjectReport", "Direction": "Output", "DataType": "CAE-UCM-V1.0", "PortNumber": 1, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "AudioSceneDescriptors", "Direction": "Output", "DataType": "OSD-BAS-V1.5", "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "AudioSceneReport", "Direction": "Output", "DataType": "CAE-UCM-V1.0", "PortNumber": 2, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "EditedSpeechObject", "Direction": "Output", "DataType": "OSD-BSO-V1.5", "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechObjectReport", "Direction": "Output", "DataType": "CAE-UCM-V1.0", "PortNumber": 3, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechSceneDescriptors", "Direction": "Output", "DataType": "OSD-BSS-V1.5", "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "SpeechSceneReport", "Direction": "Output", "DataType": "CAE-UCM-V1.0", "PortNumber": 4, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "MultiSceneCommand", "Direction": "Input", "DataType": "CAE-UCM-V1.0", "PortNumber": 5, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "MultiSceneUserPoV", "Direction": "Input", "DataType": "OSD-OPV-V1.5", "PortNumber": 5, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "MultimodalScene", "Direction": "Output", "DataType": "OSD-BMS-V1.5", "Technology": "Software", "Protocol": "", "IsRemote": false},
                           {"Name": "MultiSceneReport", "Direction": "Output", "DataType": "CAE-UCM-V1.0", "PortNumber": 5, "IsOptional": true, "Technology": "Software", "Protocol": "", "IsRemote": false}],

  "SubAIMs":              [{"Identifier": {"ImplementerID": "/* String from IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "CAE-AOE-V1.0", "Relation": "Internal"}},
                           {"Identifier": {"ImplementerID": "/* String from IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "CAE-ASE-V1.0", "Relation": "Internal"}},
                           {"Identifier": {"ImplementerID": "/* String from IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "CAE-SOE-V1.0", "Relation": "Internal"}},
                           {"Identifier": {"ImplementerID": "/* String from IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "CAE-SSE-V1.0", "Relation": "Internal"}},
                           {"Identifier": {"ImplementerID": "/* String from IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "MMC-TST-V2.5", "Relation": "Internal"}},
                           {"Identifier": {"ImplementerID": "/* String from IIDRA */", "ImplementationID": "/* String from Implementer */", "AIMName": "OSD-BME-V1.5", "Relation": "Internal"}}],
  "Topology":             [{"Output": {"AIMName": "", "PortName": "AudioObjectCommand", "PortNumber": 1}, "Input": {"AIMName": "CAE-AOE-V1.0", "PortName": "AudioObjectCommand"}},
                           {"Output": {"AIMName": "", "PortName": "AudioObjectUserPoV", "PortNumber": 1}, "Input": {"AIMName": "CAE-AOE-V1.0", "PortName": "AudioObjectUserPoV"}},
                           {"Output": {"AIMName": "", "PortName": "AudioObject"}, "Input": {"AIMName": "CAE-AOE-V1.0", "PortName": "AudioObject"}},
                           {"Output": {"AIMName": "CAE-AOE-V1.0", "PortName": "EditedAudioObject"}, "Input": {"AIMName": "", "PortName": "EditedAudioObject"}},
                           {"Output": {"AIMName": "CAE-AOE-V1.0", "PortName": "AudioObjectReport"}, "Input": {"AIMName": "", "PortName": "AudioObjectReport"}},
                           {"Output": {"AIMName": "CAE-AOE-V1.0", "PortName": "EditedAudioObject"}, "Input": {"AIMName": "CAE-ASE-V1.0", "PortName": "EditedAudioObject"}},
                           {"Output": {"AIMName": "", "PortName": "AudioSceneCommand", "PortNumber": 2}, "Input": {"AIMName": "CAE-ASE-V1.0", "PortName": "AudioSceneCommand"}},
                           {"Output": {"AIMName": "", "PortName": "AudioSceneUserPoV", "PortNumber": 2}, "Input": {"AIMName": "CAE-ASE-V1.0", "PortName": "AudioSceneUserPoV"}},
                           {"Output": {"AIMName": "", "PortName": "AudioScene"}, "Input": {"AIMName": "CAE-ASE-V1.0", "PortName": "AudioScene"}},
                           {"Output": {"AIMName": "CAE-ASE-V1.0", "PortName": "AudioSceneDescriptors"}, "Input": {"AIMName": "", "PortName": "AudioSceneDescriptors"}},
                           {"Output": {"AIMName": "CAE-ASE-V1.0", "PortName": "AudioSceneReport"}, "Input": {"AIMName": "", "PortName": "AudioSceneReport"}},
                           {"Output": {"AIMName": "", "PortName": "SpeechObjectCommand", "PortNumber": 3}, "Input": {"AIMName": "CAE-SOE-V1.0", "PortName": "SpeechObjectCommand"}},
                           {"Output": {"AIMName": "", "PortName": "SpeechObjectUserPoV", "PortNumber": 3}, "Input": {"AIMName": "CAE-SOE-V1.0", "PortName": "SpeechObjectUserPoV"}},
                           {"Output": {"AIMName": "", "PortName": "SpeechObject"}, "Input": {"AIMName": "CAE-SOE-V1.0", "PortName": "SpeechObject", "PortNumber": 1}},
                           {"Output": {"AIMName": "CAE-SOE-V1.0", "PortName": "EditedSpeechObject", "PortNumber": 1}, "Input": {"AIMName": "", "PortName": "EditedSpeechObject"}},
                           {"Output": {"AIMName": "CAE-SOE-V1.0", "PortName": "SpeechObjectReport"}, "Input": {"AIMName": "", "PortName": "SpeechObjectReport"}},
                           {"Output": {"AIMName": "CAE-SOE-V1.0", "PortName": "EditedSpeechObject", "PortNumber": 1}, "Input": {"AIMName": "CAE-SSE-V1.0", "PortName": "EditedSpeechObject"}},
                           {"Output": {"AIMName": "CAE-SOE-V1.0", "PortName": "SpeechToTranslate", "PortNumber": 2}, "Input": {"AIMName": "MMC-TST-V2.5", "PortName": "SpeechToTranslate"}},
                           {"Output": {"AIMName": "CAE-SOE-V1.0", "PortName": "TargetLanguage"}, "Input": {"AIMName": "MMC-TST-V2.5", "PortName": "TargetLanguage"}},
                           {"Output": {"AIMName": "MMC-TST-V2.5", "PortName": "TranslatedSpeech"}, "Input": {"AIMName": "CAE-SOE-V1.0", "PortName": "TranslatedSpeech", "PortNumber": 2}},
                           {"Output": {"AIMName": "", "PortName": "SpeechSceneCommand", "PortNumber": 4}, "Input": {"AIMName": "CAE-SSE-V1.0", "PortName": "SpeechSceneCommand"}},
                           {"Output": {"AIMName": "", "PortName": "SpeechSceneUserPoV", "PortNumber": 4}, "Input": {"AIMName": "CAE-SSE-V1.0", "PortName": "SpeechSceneUserPoV"}},
                           {"Output": {"AIMName": "", "PortName": "SpeechScene"}, "Input": {"AIMName": "CAE-SSE-V1.0", "PortName": "SpeechScene"}},
                           {"Output": {"AIMName": "CAE-SSE-V1.0", "PortName": "SpeechSceneDescriptors"}, "Input": {"AIMName": "", "PortName": "SpeechSceneDescriptors"}},
                           {"Output": {"AIMName": "CAE-SSE-V1.0", "PortName": "SpeechSceneReport"}, "Input": {"AIMName": "", "PortName": "SpeechSceneReport"}},
                           {"Output": {"AIMName": "CAE-ASE-V1.0", "PortName": "AudioSceneDescriptors"}, "Input": {"AIMName": "OSD-BME-V1.5", "PortName": "AudioSceneDescriptors", "PortNumber": 1}},
                           {"Output": {"AIMName": "CAE-SSE-V1.0", "PortName": "SpeechSceneDescriptors"}, "Input": {"AIMName": "OSD-BME-V1.5", "PortName": "SpeechSceneDescriptors", "PortNumber": 2}},
                           {"Output": {"AIMName": "", "PortName": "MultiSceneCommand", "PortNumber": 5}, "Input": {"AIMName": "OSD-BME-V1.5", "PortName": "MultiSceneCommand"}},
                           {"Output": {"AIMName": "", "PortName": "MultiSceneUserPoV", "PortNumber": 5}, "Input": {"AIMName": "OSD-BME-V1.5", "PortName": "MultiSceneUserPoV"}},
                           {"Output": {"AIMName": "OSD-BME-V1.5", "PortName": "MultimodalScene"}, "Input": {"AIMName": "", "PortName": "MultimodalScene"}},
                           {"Output": {"AIMName": "OSD-BME-V1.5", "PortName": "MultiSceneReport"}, "Input": {"AIMName": "", "PortName": "MultiSceneReport"}}],

  "Implementations":      [{"ImplementationURI": "/* URI storing Implementation */",
                            "BinaryName":       "/* BinaryName */",
                            "Architecture":     "/* x86 | x86-64 | ARM | ARM64 | MIPS | RISC-V */",
                            "OperatingSystem":  "/* Windows | Linux | MacOS | Debian | Ubuntu | RedHat | Android | Zephyr | RTOS | Oniro | iOS */",
                            "Version":          "/* Version */",
                            "Source":           "/* AIMStorage | MPAIStore | AIMURL */",
                            "Destination":      "/* Destination URI */"}],

  "ResourcePolicies":     [{"Name": "Memory",    "Minimum": "/* GB */",                  "Request": "/* GB */",                  "Maximum": "/* GB */"},
                           {"Name": "CPU:Class", "Minimum": "/* Low | Medium | High */", "Request": "/* Low | Medium | High */", "Maximum": "/* Low | Medium | High */"}],

  "DataXMData":           { },

  "Documentation":        [{"Type": "Specification", "URI": "https://mpai.community/standards/mpai-cae/"}]}
