{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.mpai.community/AIF/V1.0/AIW-AIM-metadata.schema.json",
  "title": " AIW/AIM metadata for CWE AIM v2 ",
  "Identifier": {
    "ImplementerID": "/* String assigned by IIDRA */",
    "Specification": {
      "Standard": "MPAI-MMC",
      "AIW": "MMC-CWE",
      "AIM": "MMC-CWE",
      "Version": "2.1"
    }
  },
  "APIProfile": "Basic",
  "Description": "This AIW performs Conversation with Emotion.",
  "Types": [
    {
      "Name": "Selector_t",
      "Type": "{Text_t | Speech_t}"
    },
    {
      "Name": "Text_t",
      "Type": "{uint8[] | uint16[]}"
    },
    {
      "Name": "Speech_t",
      "Type": "uint16[]"
    },
    {
      "Name": "Video_t",
      "Type": " uint24[]"
    }
  ],
  "Ports": [
    {
      "Name": "InputSelector",
      "Direction": "InputOutput",
      "RecordType": "Selector_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InputText1",
      "Direction": "InputOutput",
      "RecordType": "Text_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InputText2",
      "Direction": "InputOutput",
      "RecordType": "Text_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InputSpeech",
      "Direction": "InputOutput",
      "RecordType": "Speech_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InputVideo",
      "Direction": "InputOutput",
      "RecordType": "Video_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "OutputText",
      "Direction": "OutputInput",
      "RecordType": "Text_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "MachineText",
      "Direction": "OutputInput",
      "RecordType": "Text_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "MachineSpeech",
      "Direction": "OutputInput",
      "RecordType": "Speech_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "MachineFace",
      "Direction": "OutputInput",
      "RecordType": "Video_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    }
  ],
  "SubAIMs": [
    {
      "Name": "AutomaticSpeechRecogniton",
      "Identifier": {
        "ImplementerID": "/* String assigned by MPAI Store */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "MMC-CWE",
          "AIM": "AutomaticSpeechRecogniton",
          "Version": "2"
        }
      }
    },
    {
      "Name": "InputFaceDescription",
      "Identifier": {
        "ImplementerID": "/* String assigned by MPAI Store */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "MMC-CWE",
          "AIM": "InputFaceDescription",
          "Version": "2"
        }
      }
    },
    {
      "Name": "NaturalLanguageUnderstanding",
      "Identifier": {
        "ImplementerID": "/* String assigned by MPAI Store */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "MMC-CWE",
          "AIM": "NaturalLanguageUnderstanding",
          "Version": "2"
        }
      }
    },
    {
      "Name": "PSFaceInterpretation",
      "Identifier": {
        "ImplementerID": "/* String assigned by MPAI Store */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "MMC-CWE",
          "AIM": "PSFaceInterpretation",
          "Version": "2"
        }
      }
    },
    {
      "Name": "MultimodalEmotionFusion",
      "Identifier": {
        "ImplementerID": "/* String assigned by MPAI Store */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "MMC-CWE",
          "AIM": "MultimodalEmotionFusion",
          "Version": "2"
        }
      }
    },
    {
      "Name": "EntityDialogueProcessing",
      "Identifier": {
        "ImplementerID": "/* String assigned by MPAI Store */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "MMC-CWE",
          "AIM": "EntityDialogueProcessing",
          "Version": "2"
        }
      }
    },
    {
      "Name": "TextToSpeech",
      "Identifier": {
        "ImplementerID": "/* String assigned by MPAI Store */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "MMC-CWE",
          "AIM": "TextToSpeech",
          "Version": "2"
        }
      }
    },
    {
      "Name": "VideoLipAnimation",
      "Identifier": {
        "ImplementerID": "/* String assigned by MPAI Store */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "MMC-CWE",
          "AIM": "VideoLipAnimation",
          "Version": "2"
        }
      }
    }
  ],
  "Topology": [
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputSpeech"
      },
      "Input": {
        "AIMName": "AutomaticSpeechRecognition",
        "PortName": "InputSpeech"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputVideo"
      },
      "Input": {
        "AIMName": "InputFaceDescription",
        "PortName": "InputVideo"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputSelector"
      },
      "Input": {
        "AIMName": "NaturalLanguageUnderstanding",
        "PortName": "InputSelector"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputText"
      },
      "Input": {
        "AIMName": "NaturalLanguageUnderstanding",
        "PortName": "InputText"
      }
    },
    {
      "Output": {
        "AIMName": "AutomaticSpeechRecognition",
        "PortName": "RecognisedText"
      },
      "Input": {
        "AIMName": "NaturalLanguageUnderstanding",
        "PortName": "RecognisedText"
      }
    },
    {
      "Output": {
        "AIMName": "InputFaceDescription",
        "PortName": "FaceDescriptors"
      },
      "Input": {
        "AIMName": "PSFaceInterpretation",
        "PortName": "FaceDescriptors"
      }
    },
    {
      "Output": {
        "AIMName": "NaturalLanguageUnderstanding",
        "PortName": "EmotionText"
      },
      "Input": {
        "AIMName": "MultimodalEmotionFusion",
        "PortName": "EmotionText"
      }
    },
    {
      "Output": {
        "AIMName": "AutomaticSpeechRecognition",
        "PortName": "EmotionSpeech"
      },
      "Input": {
        "AIMName": "MultimodalEmotionFusion",
        "PortName": "EmotionSpeech"
      }
    },
    {
      "Output": {
        "AIMName": "PSFaceInterpretation",
        "PortName": "EmotionFace"
      },
      "Input": {
        "AIMName": "MultimodalEmotionFusion",
        "PortName": "EmotionFace"
      }
    },
    {
      "Output": {
        "AIMName": "NaturalLanguageUnderstanding",
        "PortName": "Meaning"
      },
      "Input": {
        "AIMName": "EntityDialogueProcessing",
        "PortName": "Meaning"
      }
    },
    {
      "Output": {
        "AIMName": "NaturalLanguageUnderstanding",
        "PortName": "RefinedText"
      },
      "Input": {
        "AIMName": "EntityDialogueProcessing",
        "PortName": "RefinedText"
      }
    },
    {
      "Output": {
        "AIMName": "MultimodalEmotionFusions",
        "PortName": "InputEmotion"
      },
      "Input": {
        "AIMName": "EntityDialogueProcessing",
        "PortName": "InputEmotion"
      }
    },
    {
      "Output": {
        "AIMName": "EntityDialogueProcessing",
        "PortName": "MachineText2"
      },
      "Input": {
        "AIMName": "TextToSpeech",
        "PortName": "MachineText2"
      }
    },
    {
      "Output": {
        "AIMName": "EntityDialogueProcessing",
        "PortName": "MachineEmotion1"
      },
      "Input": {
        "AIMName": "TextToSpeech",
        "PortName": "MachineEmotion1"
      }
    },
    {
      "Output": {
        "AIMName": "TextToSpeech",
        "PortName": "MachineSpeech1"
      },
      "Input": {
        "AIMName": "VideoLipAnimation",
        "PortName": "MachineSpeech1"
      }
    },
    {
      "Output": {
        "AIMName": "EntityDialogueProcessing",
        "PortName": "MachineEmotion2"
      },
      "Input": {
        "AIMName": "VideoLipAnimation",
        "PortName": "MachineEmotion2"
      }
    },
    {
      "Output": {
        "AIMName": "EntityDialogueProcessing",
        "PortName": "MaxhineText1"
      },
      "Input": {
        "AIMName": "",
        "PortName": "MachineText1"
      }
    },
    {
      "Output": {
        "AIMName": "TextToSpeech",
        "PortName": "MachineSpeech2"
      },
      "Input": {
        "AIMName": "VideoLipAnimation",
        "PortName": "MachineSpeech2"
      }
    },
    {
      "Output": {
        "AIMName": "VideoLipAnimation",
        "PortName": "MachineVisual"
      },
      "Input": {
        "AIMName": "",
        "PortName": "MachineVisual"
      }
    }
  ],
  "Implementations": [],
  "ResourcePolicies": [],
  "Documentation": [
    {
      "Type": "Tutorial",
      "URI": "https://mpai.community/standards/mpai-mmc/"
    }
  ]
}