(Informative)
1 AIF Implementations
This Chapter contains informative examples of high-level descriptions of possible AIF operations. This Chapter will continue to be developed in subsequent Version of this Technical Specification by adding more examples.
1.1 Resource-constrained implementation
- Controller is a single process that implements the AIW and operates based on interrupts call-backs.
- AIF is instantiated via a secure communication interface.
- AIMs can be local or has been instantiated through a secure communication interface.
- Controller initialises the AIF.
- AIF asks the AIMs to be instantiated.
- Controller manages the Events and Messages.
- User Agent can act on the AIWs at the request of the user.
1.2 Non-resource-constrained implementation
- Controller and AIW are two independent processes.
- Controller manages the Events and Messages.
- AIW contacts Controller on Communication and authenticates itself.
- Controller requests AIW configuration metadata.
- AIW sends Controller the configuration metadata.
- The implementation of the AIW can be local or can be downloaded from the MPAI Store.
- Controller authenticates itself with the MPAI Store and requests implementations for the needed AIMs listed in the metadata from the MPAI Store.
- The Store sends the requested AIM implementations and the configuration metadata.
- Controller:
- Instantiates the AIMs specified in the AIW metadata.
- Manages their communication and resources by sending Messages to AIMs.
- User Agent can gain control of AIWs running on the Controller via a specific Controller API, e.g., User Agent can test conformance of a AIW with an MPAI standard through a dedicated API call.
2 Examples of types
byte[] bitstream_t |
An array of bytes, with variable length.
{int32 frameNumber; int16 x; int16 y; byte[] frame} frame_t |
A struct_type with 4 members named frameNumber, x, y, and frame — they are an int32, an int16, an int16, and an array of bytes with variable length, respectively.
{int32 i32 | int64 i64} variant_t |
A variant_type that can be either an int32 or an int64.
3 Examples of Metadata
This section contains the AIF, AIW and AIM Metadata of the Enhanced Audioconference Experience (CAE-EAE) V2.1 as examples.
3.1 Enhanced Audioconference Experience AIF
https://schemas.mpai.community/AIF/V2.0/AIF-metadata.schema.json
3.2 Enhanced Audioconference Experience AIW
https://schemas.mpai.community/CAE/V2.1/AIWs/EnhancedAudioconferenceExperience.json
3.3 Analysis Transform AIM
https://schemas.mpai.community/CAE/V2.1/AIMs/AudioAnalysisTransform.json
3.4 Sound Field Description AIM
https://schemas.mpai.community/CAE/V2.1/AIMs/SoundFieldDescription.json
3.5 Speech Detection and Separation AIM
https://schemas.mpai.community/CAE/V2.1/AIMs/SpeechDetectionandSeparation.json
3.6 Noise Cancellation Module AIM
https://schemas.mpai.community/CAE/V2.1/AIMs/NoiseCancellationModule.json
3.7 Audio Synthesis Transform AIM
https://schemas.mpai.community/CAE/V2.1/AIMs/AudioSynthesisTransform.json
3.8 Audio Description Packaging AIM
https://schemas.mpai.community/CAE/V2.1/AIMs/AudioDescriptionPackaging.json