o
    i                     @   s(   d Z ddlmZmZ G dd deZdS )zBase audio resampler interface for Pipecat.

This module defines the abstract base class for audio resampling implementations,
providing a common interface for converting audio between different sample rates.
    )ABCabstractmethodc                	   @   s.   e Zd ZdZededededefddZdS )	BaseAudioResamplerzAbstract base class for audio resampling implementations.

    This class defines the interface that all audio resampling implementations
    must follow, providing a standardized way to convert audio data between
    different sample rates.
    audioin_rateout_ratereturnc                    s   dS )a  Resamples the given audio data to a different sample rate.

        This is an abstract method that must be implemented in subclasses.

        Args:
            audio: The audio data to be resampled, as raw bytes.
            in_rate: The original sample rate of the audio data in Hz.
            out_rate: The desired sample rate for the output audio in Hz.

        Returns:
            The resampled audio data as raw bytes.
        N )selfr   r   r   r	   r	   a/home/ubuntu/.local/lib/python3.10/site-packages/pipecat/audio/resamplers/base_audio_resampler.pyresample   s   zBaseAudioResampler.resampleN)__name__
__module____qualname____doc__r   bytesintr   r	   r	   r	   r   r      s     r   N)r   abcr   r   r   r	   r	   r	   r   <module>   s   