Skip to content

start_voice_tone_analysis_task

start_voice_tone_analysis_task(
    identifier: NonEmptyString,
    language_code: VoiceAnalyticsLanguageCode,
    *,
    config_overrides: Optional[ChimeSDKMediaPipelinesClientConfig] = None,
    kinesis_video_stream_source_task_configuration: Optional[
        KinesisVideoStreamSourceTaskConfiguration
    ] = None,
    client_request_token: Optional[ClientRequestToken] = 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:

  • identifier (NonEmptyString) –

    The unique identifier of the resource to be updated. Valid values include the ID and ARN of the media insights pipeline.

  • language_code (VoiceAnalyticsLanguageCode) –

    The language code.

  • kinesis_video_stream_source_task_configuration (Optional[KinesisVideoStreamSourceTaskConfiguration], default: None ) –

    The task configuration for the Kinesis video stream source of the media insights pipeline.

  • client_request_token (Optional[ClientRequestToken], 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_media_pipelines/_services/chime_sdk_media_pipelines.py
def start_voice_tone_analysis_task(
    self,
    identifier: "capo_chime_sdk_media_pipelines.types.non_empty_string.NonEmptyString",
    language_code: "capo_chime_sdk_media_pipelines.types.voice_analytics_language_code.VoiceAnalyticsLanguageCode",
    *,
    config_overrides: Optional[ChimeSDKMediaPipelinesClientConfig] = None,
    kinesis_video_stream_source_task_configuration: Optional[
        "capo_chime_sdk_media_pipelines.types.kinesis_video_stream_source_task_configuration.KinesisVideoStreamSourceTaskConfiguration"
    ] = None,
    client_request_token: Optional[
        "capo_chime_sdk_media_pipelines.types.client_request_token.ClientRequestToken"
    ] = None,
) -> "capo_chime_sdk_media_pipelines.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/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:
        identifier: <p>The unique identifier of the resource to be updated. Valid values include the ID and ARN of the media insights pipeline.</p>
        language_code: <p>The language code.</p>
        kinesis_video_stream_source_task_configuration: <p>The task configuration for the Kinesis video stream source of the media insights pipeline.</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_media_pipelines.errors.bad_request_exception.BadRequestException: <p>The input parameters don't match the service's restrictions.</p>
        capo_chime_sdk_media_pipelines.errors.conflict_exception.ConflictException: <p>The request could not be processed because of conflict in the current state of the resource.</p>
        capo_chime_sdk_media_pipelines.errors.forbidden_exception.ForbiddenException: <p>The client is permanently forbidden from making the request.</p>
        capo_chime_sdk_media_pipelines.errors.not_found_exception.NotFoundException: <p>One or more of the resources in the request does not exist in the system.</p>
        capo_chime_sdk_media_pipelines.errors.service_failure_exception.ServiceFailureException: <p>The service encountered an unexpected error.</p>
        capo_chime_sdk_media_pipelines.errors.service_unavailable_exception.ServiceUnavailableException: <p>The service is currently unavailable.</p>
        capo_chime_sdk_media_pipelines.errors.throttled_client_exception.ThrottledClientException: <p>The client exceeded its request rate limit.</p>
        capo_chime_sdk_media_pipelines.errors.unauthorized_client_exception.UnauthorizedClientException: <p>The client is not currently authorized to make the request.</p>
        capo_chime_sdk_media_pipelines.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

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

        output, http_response = (
            capo_chime_sdk_media_pipelines._operations.chime_sdk_media_pipelines_service.start_voice_tone_analysis_task.start_voice_tone_analysis_task(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_chime_sdk_media_pipelines.types.start_voice_tone_analysis_task_request.StartVoiceToneAnalysisTaskRequest",
    ) -> dict[str, Any]:
        import capo_chime_sdk_media_pipelines.types.start_voice_tone_analysis_task_request

        return capo_chime_sdk_media_pipelines.types.start_voice_tone_analysis_task_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("StartVoiceToneAnalysisTask", redact_input=_redact_input),
    )
    input_: capo_chime_sdk_media_pipelines.types.start_voice_tone_analysis_task_request.StartVoiceToneAnalysisTaskRequest = {
        "identifier": identifier,
        "language_code": language_code,
    }
    if kinesis_video_stream_source_task_configuration is not None:
        input_["kinesis_video_stream_source_task_configuration"] = (
            kinesis_video_stream_source_task_configuration
        )
    if client_request_token is None:
        client_request_token = str(uuid.uuid4())
    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