/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace TranscribeService { namespace Model { /** *

Allows additional optional settings in your request, including channel * identification, alternative transcriptions, and speaker partitioning. You can * use that to apply custom vocabularies to your transcription job.

See * Also:

AWS * API Reference

*/ class Settings { public: AWS_TRANSCRIBESERVICE_API Settings(); AWS_TRANSCRIBESERVICE_API Settings(Aws::Utils::Json::JsonView jsonValue); AWS_TRANSCRIBESERVICE_API Settings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_TRANSCRIBESERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the custom vocabulary you want to use in your transcription job * request. This name is case sensitive, cannot contain spaces, and must be unique * within an Amazon Web Services account.

*/ inline const Aws::String& GetVocabularyName() const{ return m_vocabularyName; } /** *

The name of the custom vocabulary you want to use in your transcription job * request. This name is case sensitive, cannot contain spaces, and must be unique * within an Amazon Web Services account.

*/ inline bool VocabularyNameHasBeenSet() const { return m_vocabularyNameHasBeenSet; } /** *

The name of the custom vocabulary you want to use in your transcription job * request. This name is case sensitive, cannot contain spaces, and must be unique * within an Amazon Web Services account.

*/ inline void SetVocabularyName(const Aws::String& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = value; } /** *

The name of the custom vocabulary you want to use in your transcription job * request. This name is case sensitive, cannot contain spaces, and must be unique * within an Amazon Web Services account.

*/ inline void SetVocabularyName(Aws::String&& value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName = std::move(value); } /** *

The name of the custom vocabulary you want to use in your transcription job * request. This name is case sensitive, cannot contain spaces, and must be unique * within an Amazon Web Services account.

*/ inline void SetVocabularyName(const char* value) { m_vocabularyNameHasBeenSet = true; m_vocabularyName.assign(value); } /** *

The name of the custom vocabulary you want to use in your transcription job * request. This name is case sensitive, cannot contain spaces, and must be unique * within an Amazon Web Services account.

*/ inline Settings& WithVocabularyName(const Aws::String& value) { SetVocabularyName(value); return *this;} /** *

The name of the custom vocabulary you want to use in your transcription job * request. This name is case sensitive, cannot contain spaces, and must be unique * within an Amazon Web Services account.

*/ inline Settings& WithVocabularyName(Aws::String&& value) { SetVocabularyName(std::move(value)); return *this;} /** *

The name of the custom vocabulary you want to use in your transcription job * request. This name is case sensitive, cannot contain spaces, and must be unique * within an Amazon Web Services account.

*/ inline Settings& WithVocabularyName(const char* value) { SetVocabularyName(value); return *this;} /** *

Enables speaker partitioning (diarization) in your transcription output. * Speaker partitioning labels the speech from individual speakers in your media * file.

If you enable ShowSpeakerLabels in your request, you * must also include MaxSpeakerLabels.

You can't include both * ShowSpeakerLabels and ChannelIdentification in the * same request. Including both parameters returns a * BadRequestException.

For more information, see Partitioning * speakers (diarization).

*/ inline bool GetShowSpeakerLabels() const{ return m_showSpeakerLabels; } /** *

Enables speaker partitioning (diarization) in your transcription output. * Speaker partitioning labels the speech from individual speakers in your media * file.

If you enable ShowSpeakerLabels in your request, you * must also include MaxSpeakerLabels.

You can't include both * ShowSpeakerLabels and ChannelIdentification in the * same request. Including both parameters returns a * BadRequestException.

For more information, see Partitioning * speakers (diarization).

*/ inline bool ShowSpeakerLabelsHasBeenSet() const { return m_showSpeakerLabelsHasBeenSet; } /** *

Enables speaker partitioning (diarization) in your transcription output. * Speaker partitioning labels the speech from individual speakers in your media * file.

If you enable ShowSpeakerLabels in your request, you * must also include MaxSpeakerLabels.

You can't include both * ShowSpeakerLabels and ChannelIdentification in the * same request. Including both parameters returns a * BadRequestException.

For more information, see Partitioning * speakers (diarization).

*/ inline void SetShowSpeakerLabels(bool value) { m_showSpeakerLabelsHasBeenSet = true; m_showSpeakerLabels = value; } /** *

Enables speaker partitioning (diarization) in your transcription output. * Speaker partitioning labels the speech from individual speakers in your media * file.

If you enable ShowSpeakerLabels in your request, you * must also include MaxSpeakerLabels.

You can't include both * ShowSpeakerLabels and ChannelIdentification in the * same request. Including both parameters returns a * BadRequestException.

For more information, see Partitioning * speakers (diarization).

*/ inline Settings& WithShowSpeakerLabels(bool value) { SetShowSpeakerLabels(value); return *this;} /** *

Specify the maximum number of speakers you want to partition in your * media.

Note that if your media contains more speakers than the specified * number, multiple speakers are treated as a single speaker.

If you specify * the MaxSpeakerLabels field, you must set the * ShowSpeakerLabels field to true.

*/ inline int GetMaxSpeakerLabels() const{ return m_maxSpeakerLabels; } /** *

Specify the maximum number of speakers you want to partition in your * media.

Note that if your media contains more speakers than the specified * number, multiple speakers are treated as a single speaker.

If you specify * the MaxSpeakerLabels field, you must set the * ShowSpeakerLabels field to true.

*/ inline bool MaxSpeakerLabelsHasBeenSet() const { return m_maxSpeakerLabelsHasBeenSet; } /** *

Specify the maximum number of speakers you want to partition in your * media.

Note that if your media contains more speakers than the specified * number, multiple speakers are treated as a single speaker.

If you specify * the MaxSpeakerLabels field, you must set the * ShowSpeakerLabels field to true.

*/ inline void SetMaxSpeakerLabels(int value) { m_maxSpeakerLabelsHasBeenSet = true; m_maxSpeakerLabels = value; } /** *

Specify the maximum number of speakers you want to partition in your * media.

Note that if your media contains more speakers than the specified * number, multiple speakers are treated as a single speaker.

If you specify * the MaxSpeakerLabels field, you must set the * ShowSpeakerLabels field to true.

*/ inline Settings& WithMaxSpeakerLabels(int value) { SetMaxSpeakerLabels(value); return *this;} /** *

Enables channel identification in multi-channel audio.

Channel * identification transcribes the audio on each channel independently, then appends * the output for each channel into one transcript.

You can't include both * ShowSpeakerLabels and ChannelIdentification in the * same request. Including both parameters returns a * BadRequestException.

For more information, see Transcribing * multi-channel audio.

*/ inline bool GetChannelIdentification() const{ return m_channelIdentification; } /** *

Enables channel identification in multi-channel audio.

Channel * identification transcribes the audio on each channel independently, then appends * the output for each channel into one transcript.

You can't include both * ShowSpeakerLabels and ChannelIdentification in the * same request. Including both parameters returns a * BadRequestException.

For more information, see Transcribing * multi-channel audio.

*/ inline bool ChannelIdentificationHasBeenSet() const { return m_channelIdentificationHasBeenSet; } /** *

Enables channel identification in multi-channel audio.

Channel * identification transcribes the audio on each channel independently, then appends * the output for each channel into one transcript.

You can't include both * ShowSpeakerLabels and ChannelIdentification in the * same request. Including both parameters returns a * BadRequestException.

For more information, see Transcribing * multi-channel audio.

*/ inline void SetChannelIdentification(bool value) { m_channelIdentificationHasBeenSet = true; m_channelIdentification = value; } /** *

Enables channel identification in multi-channel audio.

Channel * identification transcribes the audio on each channel independently, then appends * the output for each channel into one transcript.

You can't include both * ShowSpeakerLabels and ChannelIdentification in the * same request. Including both parameters returns a * BadRequestException.

For more information, see Transcribing * multi-channel audio.

*/ inline Settings& WithChannelIdentification(bool value) { SetChannelIdentification(value); return *this;} /** *

To include alternative transcriptions within your transcription output, * include ShowAlternatives in your transcription request.

If * you have multi-channel audio and do not enable channel identification, your * audio is transcribed in a continuous manner and your transcript does not * separate the speech by channel.

If you include * ShowAlternatives, you must also include * MaxAlternatives, which is the maximum number of alternative * transcriptions you want Amazon Transcribe to generate.

For more * information, see Alternative * transcriptions.

*/ inline bool GetShowAlternatives() const{ return m_showAlternatives; } /** *

To include alternative transcriptions within your transcription output, * include ShowAlternatives in your transcription request.

If * you have multi-channel audio and do not enable channel identification, your * audio is transcribed in a continuous manner and your transcript does not * separate the speech by channel.

If you include * ShowAlternatives, you must also include * MaxAlternatives, which is the maximum number of alternative * transcriptions you want Amazon Transcribe to generate.

For more * information, see Alternative * transcriptions.

*/ inline bool ShowAlternativesHasBeenSet() const { return m_showAlternativesHasBeenSet; } /** *

To include alternative transcriptions within your transcription output, * include ShowAlternatives in your transcription request.

If * you have multi-channel audio and do not enable channel identification, your * audio is transcribed in a continuous manner and your transcript does not * separate the speech by channel.

If you include * ShowAlternatives, you must also include * MaxAlternatives, which is the maximum number of alternative * transcriptions you want Amazon Transcribe to generate.

For more * information, see Alternative * transcriptions.

*/ inline void SetShowAlternatives(bool value) { m_showAlternativesHasBeenSet = true; m_showAlternatives = value; } /** *

To include alternative transcriptions within your transcription output, * include ShowAlternatives in your transcription request.

If * you have multi-channel audio and do not enable channel identification, your * audio is transcribed in a continuous manner and your transcript does not * separate the speech by channel.

If you include * ShowAlternatives, you must also include * MaxAlternatives, which is the maximum number of alternative * transcriptions you want Amazon Transcribe to generate.

For more * information, see Alternative * transcriptions.

*/ inline Settings& WithShowAlternatives(bool value) { SetShowAlternatives(value); return *this;} /** *

Indicate the maximum number of alternative transcriptions you want Amazon * Transcribe to include in your transcript.

If you select a number greater * than the number of alternative transcriptions generated by Amazon Transcribe, * only the actual number of alternative transcriptions are included.

If you * include MaxAlternatives in your request, you must also include * ShowAlternatives with a value of true.

For more * information, see Alternative * transcriptions.

*/ inline int GetMaxAlternatives() const{ return m_maxAlternatives; } /** *

Indicate the maximum number of alternative transcriptions you want Amazon * Transcribe to include in your transcript.

If you select a number greater * than the number of alternative transcriptions generated by Amazon Transcribe, * only the actual number of alternative transcriptions are included.

If you * include MaxAlternatives in your request, you must also include * ShowAlternatives with a value of true.

For more * information, see Alternative * transcriptions.

*/ inline bool MaxAlternativesHasBeenSet() const { return m_maxAlternativesHasBeenSet; } /** *

Indicate the maximum number of alternative transcriptions you want Amazon * Transcribe to include in your transcript.

If you select a number greater * than the number of alternative transcriptions generated by Amazon Transcribe, * only the actual number of alternative transcriptions are included.

If you * include MaxAlternatives in your request, you must also include * ShowAlternatives with a value of true.

For more * information, see Alternative * transcriptions.

*/ inline void SetMaxAlternatives(int value) { m_maxAlternativesHasBeenSet = true; m_maxAlternatives = value; } /** *

Indicate the maximum number of alternative transcriptions you want Amazon * Transcribe to include in your transcript.

If you select a number greater * than the number of alternative transcriptions generated by Amazon Transcribe, * only the actual number of alternative transcriptions are included.

If you * include MaxAlternatives in your request, you must also include * ShowAlternatives with a value of true.

For more * information, see Alternative * transcriptions.

*/ inline Settings& WithMaxAlternatives(int value) { SetMaxAlternatives(value); return *this;} /** *

The name of the custom vocabulary filter you want to use in your * transcription job request. This name is case sensitive, cannot contain spaces, * and must be unique within an Amazon Web Services account.

Note that if * you include VocabularyFilterName in your request, you must also * include VocabularyFilterMethod.

*/ inline const Aws::String& GetVocabularyFilterName() const{ return m_vocabularyFilterName; } /** *

The name of the custom vocabulary filter you want to use in your * transcription job request. This name is case sensitive, cannot contain spaces, * and must be unique within an Amazon Web Services account.

Note that if * you include VocabularyFilterName in your request, you must also * include VocabularyFilterMethod.

*/ inline bool VocabularyFilterNameHasBeenSet() const { return m_vocabularyFilterNameHasBeenSet; } /** *

The name of the custom vocabulary filter you want to use in your * transcription job request. This name is case sensitive, cannot contain spaces, * and must be unique within an Amazon Web Services account.

Note that if * you include VocabularyFilterName in your request, you must also * include VocabularyFilterMethod.

*/ inline void SetVocabularyFilterName(const Aws::String& value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName = value; } /** *

The name of the custom vocabulary filter you want to use in your * transcription job request. This name is case sensitive, cannot contain spaces, * and must be unique within an Amazon Web Services account.

Note that if * you include VocabularyFilterName in your request, you must also * include VocabularyFilterMethod.

*/ inline void SetVocabularyFilterName(Aws::String&& value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName = std::move(value); } /** *

The name of the custom vocabulary filter you want to use in your * transcription job request. This name is case sensitive, cannot contain spaces, * and must be unique within an Amazon Web Services account.

Note that if * you include VocabularyFilterName in your request, you must also * include VocabularyFilterMethod.

*/ inline void SetVocabularyFilterName(const char* value) { m_vocabularyFilterNameHasBeenSet = true; m_vocabularyFilterName.assign(value); } /** *

The name of the custom vocabulary filter you want to use in your * transcription job request. This name is case sensitive, cannot contain spaces, * and must be unique within an Amazon Web Services account.

Note that if * you include VocabularyFilterName in your request, you must also * include VocabularyFilterMethod.

*/ inline Settings& WithVocabularyFilterName(const Aws::String& value) { SetVocabularyFilterName(value); return *this;} /** *

The name of the custom vocabulary filter you want to use in your * transcription job request. This name is case sensitive, cannot contain spaces, * and must be unique within an Amazon Web Services account.

Note that if * you include VocabularyFilterName in your request, you must also * include VocabularyFilterMethod.

*/ inline Settings& WithVocabularyFilterName(Aws::String&& value) { SetVocabularyFilterName(std::move(value)); return *this;} /** *

The name of the custom vocabulary filter you want to use in your * transcription job request. This name is case sensitive, cannot contain spaces, * and must be unique within an Amazon Web Services account.

Note that if * you include VocabularyFilterName in your request, you must also * include VocabularyFilterMethod.

*/ inline Settings& WithVocabularyFilterName(const char* value) { SetVocabularyFilterName(value); return *this;} /** *

Specify how you want your custom vocabulary filter applied to your * transcript.

To replace words with ***, choose * mask.

To delete words, choose remove.

To * flag words without changing them, choose tag.

*/ inline const VocabularyFilterMethod& GetVocabularyFilterMethod() const{ return m_vocabularyFilterMethod; } /** *

Specify how you want your custom vocabulary filter applied to your * transcript.

To replace words with ***, choose * mask.

To delete words, choose remove.

To * flag words without changing them, choose tag.

*/ inline bool VocabularyFilterMethodHasBeenSet() const { return m_vocabularyFilterMethodHasBeenSet; } /** *

Specify how you want your custom vocabulary filter applied to your * transcript.

To replace words with ***, choose * mask.

To delete words, choose remove.

To * flag words without changing them, choose tag.

*/ inline void SetVocabularyFilterMethod(const VocabularyFilterMethod& value) { m_vocabularyFilterMethodHasBeenSet = true; m_vocabularyFilterMethod = value; } /** *

Specify how you want your custom vocabulary filter applied to your * transcript.

To replace words with ***, choose * mask.

To delete words, choose remove.

To * flag words without changing them, choose tag.

*/ inline void SetVocabularyFilterMethod(VocabularyFilterMethod&& value) { m_vocabularyFilterMethodHasBeenSet = true; m_vocabularyFilterMethod = std::move(value); } /** *

Specify how you want your custom vocabulary filter applied to your * transcript.

To replace words with ***, choose * mask.

To delete words, choose remove.

To * flag words without changing them, choose tag.

*/ inline Settings& WithVocabularyFilterMethod(const VocabularyFilterMethod& value) { SetVocabularyFilterMethod(value); return *this;} /** *

Specify how you want your custom vocabulary filter applied to your * transcript.

To replace words with ***, choose * mask.

To delete words, choose remove.

To * flag words without changing them, choose tag.

*/ inline Settings& WithVocabularyFilterMethod(VocabularyFilterMethod&& value) { SetVocabularyFilterMethod(std::move(value)); return *this;} private: Aws::String m_vocabularyName; bool m_vocabularyNameHasBeenSet = false; bool m_showSpeakerLabels; bool m_showSpeakerLabelsHasBeenSet = false; int m_maxSpeakerLabels; bool m_maxSpeakerLabelsHasBeenSet = false; bool m_channelIdentification; bool m_channelIdentificationHasBeenSet = false; bool m_showAlternatives; bool m_showAlternativesHasBeenSet = false; int m_maxAlternatives; bool m_maxAlternativesHasBeenSet = false; Aws::String m_vocabularyFilterName; bool m_vocabularyFilterNameHasBeenSet = false; VocabularyFilterMethod m_vocabularyFilterMethod; bool m_vocabularyFilterMethodHasBeenSet = false; }; } // namespace Model } // namespace TranscribeService } // namespace Aws