pyrit.prompt_converter.AudioEchoConverter#

class AudioEchoConverter(*, output_format: Literal['wav'] = 'wav', delay: float = 0.3, decay: float = 0.5)[source]#

Bases: PromptConverter

Adds an echo effect to an audio file.

The echo is created by mixing a delayed, attenuated copy of the signal back into the original. The delay and decay parameters control the timing and loudness of the echo respectively. Sample rate, bit depth, and channel count are preserved.

__init__(*, output_format: Literal['wav'] = 'wav', delay: float = 0.3, decay: float = 0.5) None[source]#

Initialize the converter with echo parameters.

Parameters:
  • output_format (str) – The format of the audio file, defaults to “wav”.

  • delay (float) – The echo delay in seconds. Must be greater than 0. Defaults to 0.3.

  • decay (float) – The decay factor for the echo (0.0 to 1.0). A value of 0.0 means no echo, 1.0 means the echo is as loud as the original. Must be between 0 and 1 (exclusive of both). Defaults to 0.5.

Raises:

ValueError – If delay is not positive or decay is not in (0, 1).

Methods

__init__(*[, output_format, delay, decay])

Initialize the converter with echo parameters.

convert_async(*, prompt[, input_type])

Convert the given audio file by adding an echo effect.

convert_tokens_async(*, prompt[, ...])

Convert substrings within a prompt that are enclosed by specified start and end tokens.

get_identifier()

Get the component's identifier, building it lazily on first access.

input_supported(input_type)

Check if the input type is supported by the converter.

output_supported(output_type)

Check if the output type is supported by the converter.

Attributes

AcceptedAudioFormats

Accepted audio formats for conversion.

SUPPORTED_INPUT_TYPES

Tuple of input modalities supported by this converter.

SUPPORTED_OUTPUT_TYPES

Tuple of output modalities supported by this converter.

supported_input_types

Returns a list of supported input types for the converter.

supported_output_types

Returns a list of supported output types for the converter.

AcceptedAudioFormats#

Accepted audio formats for conversion.

alias of Literal[‘wav’]

SUPPORTED_INPUT_TYPES: tuple[Literal['text', 'image_path', 'audio_path', 'video_path', 'binary_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output'], ...] = ('audio_path',)#

Tuple of input modalities supported by this converter. Subclasses must override this.

SUPPORTED_OUTPUT_TYPES: tuple[Literal['text', 'image_path', 'audio_path', 'video_path', 'binary_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output'], ...] = ('audio_path',)#

Tuple of output modalities supported by this converter. Subclasses must override this.

async convert_async(*, prompt: str, input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'binary_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output'] = 'audio_path') ConverterResult[source]#

Convert the given audio file by adding an echo effect.

Parameters:
  • prompt (str) – File path to the audio file to be converted.

  • input_type (PromptDataType) – The type of input data.

Returns:

The result containing the converted audio file path.

Return type:

ConverterResult

Raises:
  • ValueError – If the input type is not supported.

  • Exception – If there is an error during the conversion process.