Skip to content

start_voice_tone_analysis_task

start_voice_tone_analysis_task(
    voice_connector_id: VoiceConnectorId,
    transaction_id: NonEmptyString256,
    language_code: LanguageCode,
    *,
    config_overrides: Optional[ChimeSDKVoiceClientConfig] = None,
    client_request_token: Optional[ClientRequestId] = None,
) -> StartVoiceToneAnalysisTaskResponse

Starts a voice tone analysis task. For more information about voice tone analysis, see Using Amazon Chime SDK voice analytics in the Amazon Chime SDK Developer Guide.

Before starting any voice tone analysis tasks, you must provide all notices and obtain all consents from the speaker as required under applicable privacy and biometrics laws, and as required under the AWS service terms for the Amazon Chime SDK.

Parameters:

  • voice_connector_id (VoiceConnectorId) –

    The Voice Connector ID.

  • transaction_id (NonEmptyString256) –

    The transaction ID.

  • language_code (LanguageCode) –

    The language code.

  • client_request_token (Optional[ClientRequestId], default: None ) –

    The unique identifier for the client request. Use a different token for different voice tone analysis tasks.

Raises:

Source code in docs_src/capo_chime_sdk_voice/_services/chime_sdk_voice.py
def start_voice_tone_analysis_task(
    self,
    voice_connector_id: "capo_chime_sdk_voice.types.voice_connector_id.VoiceConnectorId",
    transaction_id: "capo_chime_sdk_voice.types.non_empty_string256.NonEmptyString256",
    language_code: "capo_chime_sdk_voice.types.language_code.LanguageCode",
    *,
    config_overrides: Optional[ChimeSDKVoiceClientConfig] = None,
    client_request_token: Optional[
        "capo_chime_sdk_voice.types.client_request_id.ClientRequestId"
    ] = None,
) -> "capo_chime_sdk_voice.types.start_voice_tone_analysis_task_response.StartVoiceToneAnalysisTaskResponse":
    """<p>Starts a voice tone analysis task. For more information about voice tone analysis, see <a href="https://docs.aws.amazon.com/chime-sdk/latest/dg/pstn-voice-analytics.html">Using Amazon Chime SDK voice analytics</a> in the <i>Amazon Chime SDK Developer Guide</i>.</p> <important> <p>Before starting any voice tone analysis tasks, you must provide all notices and obtain all consents from the speaker as required under applicable privacy and biometrics laws, and as required under the <a href="https://aws.amazon.com/service-terms/">AWS service terms</a> for the Amazon Chime SDK.</p> </important>

    Args:
        voice_connector_id: <p>The Voice Connector ID.</p>
        transaction_id: <p>The transaction ID.</p>
        language_code: <p>The language code.</p>
        client_request_token: <p>The unique identifier for the client request. Use a different token for different voice tone analysis tasks.</p>

    Raises:
        capo_chime_sdk_voice.errors.access_denied_exception.AccessDeniedException: <p>You don't have the permissions needed to run this action.</p>
        capo_chime_sdk_voice.errors.bad_request_exception.BadRequestException: <p>The input parameters don't match the service's restrictions.</p>
        capo_chime_sdk_voice.errors.conflict_exception.ConflictException: <p>Multiple instances of the same request were made simultaneously.</p>
        capo_chime_sdk_voice.errors.forbidden_exception.ForbiddenException: <p>The client is permanently forbidden from making the request.</p>
        capo_chime_sdk_voice.errors.gone_exception.GoneException: <p>Access to the target resource is no longer available at the origin server. This condition is likely to be permanent.</p>
        capo_chime_sdk_voice.errors.not_found_exception.NotFoundException: <p>The requested resource couldn't be found.</p>
        capo_chime_sdk_voice.errors.resource_limit_exceeded_exception.ResourceLimitExceededException: <p>The request exceeds the resource limit.</p>
        capo_chime_sdk_voice.errors.service_failure_exception.ServiceFailureException: <p>The service encountered an unexpected error.</p>
        capo_chime_sdk_voice.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is currently unavailable.</p>
        capo_chime_sdk_voice.errors.throttled_client_exception.ThrottledClientException: <p>The number of customer requests exceeds the request rate limit.</p>
        capo_chime_sdk_voice.errors.unauthorized_client_exception.UnauthorizedClientException: <p>The client isn't authorized to request a resource.</p>
        capo_chime_sdk_voice.errors.unprocessable_entity_exception.UnprocessableEntityException: <p>A well-formed request couldn't be followed due to semantic errors.</p>
        capo_chime_sdk_voice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_chime_sdk_voice.types.start_voice_tone_analysis_task_request.StartVoiceToneAnalysisTaskRequest]",
    ) -> OperationResponse[
        "capo_chime_sdk_voice.types.start_voice_tone_analysis_task_response.StartVoiceToneAnalysisTaskResponse"
    ]:
        import capo_chime_sdk_voice._operations.chime_sdk_telephony_service.start_voice_tone_analysis_task

        output, http_response = (
            capo_chime_sdk_voice._operations.chime_sdk_telephony_service.start_voice_tone_analysis_task.start_voice_tone_analysis_task(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartVoiceToneAnalysisTask")
    )
    input_: capo_chime_sdk_voice.types.start_voice_tone_analysis_task_request.StartVoiceToneAnalysisTaskRequest = {
        "voice_connector_id": voice_connector_id,
        "transaction_id": transaction_id,
        "language_code": language_code,
    }
    if client_request_token is not None:
        input_["client_request_token"] = client_request_token

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output