pyrit.prompt_converter.AudioVolumeConverter#

class AudioVolumeConverter(*, output_format: Literal['wav'] = 'wav', volume_factor: float = 1.5)[source]#

Bases: PromptConverter

Changes the volume of an audio file by scaling the amplitude.

A volume_factor > 1.0 increases the volume (louder), while a volume_factor < 1.0 decreases it (quieter). A volume_factor of 1.0 leaves the audio unchanged. The converter scales all audio samples by the given factor and clips the result to the valid range for the original data type. Sample rate, bit depth, and number of channels are preserved.

__init__(*, output_format: Literal['wav'] = 'wav', volume_factor: float = 1.5) None[source]#

Initialize the converter with the specified output format and volume factor.

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

  • volume_factor (float) – The factor by which to scale the volume. Values > 1.0 increase volume, values < 1.0 decrease volume. Must be greater than 0. Defaults to 1.5.

Raises:

ValueError – If volume_factor is not positive.

Methods

__init__(*[, output_format, volume_factor])

Initialize the converter with the specified output format and volume factor.

convert_async(*, prompt[, input_type])

Convert the given audio file by changing its volume.

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 changing its volume.

The audio samples are scaled by the volume factor. For integer audio formats the result is clipped to prevent overflow.

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.