pyrit.prompt_converter.AudioSpeedConverter#
- class AudioSpeedConverter(*, output_format: Literal['wav'] = 'wav', speed_factor: float = 1.5)[source]#
Bases:
PromptConverterChanges the playback speed of an audio file without altering pitch or other audio characteristics.
A speed_factor > 1.0 speeds up the audio (shorter duration), while a speed_factor < 1.0 slows it down (longer duration). The converter resamples the audio signal using interpolation so that the sample rate, bit depth, and number of channels remain unchanged.
- __init__(*, output_format: Literal['wav'] = 'wav', speed_factor: float = 1.5) None[source]#
Initialize the converter with the specified output format and speed factor.
- Parameters:
- Raises:
ValueError – If speed_factor is not positive or exceeds 100.
Methods
__init__(*[, output_format, speed_factor])Initialize the converter with the specified output format and speed factor.
convert_async(*, prompt[, input_type])Convert the given audio file by changing its playback speed.
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
Accepted audio formats for conversion.
Tuple of input modalities supported by this converter.
Tuple of output modalities supported by this converter.
supported_input_typesReturns a list of supported input types for the converter.
supported_output_typesReturns a list of supported output types for the converter.
- 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 playback speed.
The audio is resampled via interpolation so that the output has a different number of samples (and therefore a different duration) while keeping the original sample rate. This preserves the pitch and tonal qualities of the audio.
- 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:
- Raises:
ValueError – If the input type is not supported.
Exception – If there is an error during the conversion process.