<?xml version="1.0" encoding="UTF-8"?>
<rois:HRIComponentProfile
	gml:id="component_profile"
	xmlns:rois="http://www.omg.org/spec/RoIS/20240801"
    xmlns:ns2="http://www.w3.org/1999/xlink"
    xmlns:gml="http://www.opengis.net/gml/3.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <gml:identifier codeSpace="urn:ietf:rfc:2141">urn:x-rois:def:component:OMG::SpeechSynthesis</gml:identifier>
    <gml:name>speech_synthesizer</gml:name>

    <!-- ===== Sub Component Profiles ===== -->
    <rois:SubComponentProfile>urn:x-rois:def:Component:OMG::RoISCommon</rois:SubComponentProfile>
    
    <!-- ===== Query Messages ===== -->
    <rois:MessageProfile rois:name="synthesizable_languages" xsi:type="rois:QueryMessageProfileType">
        <rois:Results rois:description="list of available languages" rois:name="languages">
            <rois:data_type_ref rois:code="string[]"/>
        </rois:Results>
    </rois:MessageProfile>

    <rois:MessageProfile rois:name="available_voices" xsi:type="rois:QueryMessageProfileType">
        <rois:Results rois:description="list of available voice characters" rois:name="characters">
            <rois:data_type_ref rois:code="string[]"/>
        </rois:Results>
    </rois:MessageProfile>

    <!-- ===== Parameter Profiles ===== -->
    <rois:ParameterProfile rois:description="speech text in plain text" rois:name="speech_text">
        <rois:data_type_ref rois:code="string"/>
    </rois:ParameterProfile>

    <rois:ParameterProfile rois:description="speech text in SSML text" rois:name="ssml_text">
        <rois:data_type_ref rois:code="string"/>
    </rois:ParameterProfile>

    <rois:ParameterProfile rois:description="Volume" rois:name="volume" rois:default_value="50">
        <rois:data_type_ref rois:code="int"/>
    </rois:ParameterProfile>

    <rois:ParameterProfile rois:description="Language of the speech" rois:name="language" rois:default_value="en">
        <rois:data_type_ref rois:code="string"/>
    </rois:ParameterProfile>

    <rois:ParameterProfile rois:description="character of the voice" rois:name="character" rois:default_value="default">
        <rois:data_type_ref rois:code="string"/>
    </rois:ParameterProfile>

</rois:HRIComponentProfile>
