""" Audio Processing Utilities Handles audio file preprocessing and standardization. """ from pydub import AudioSegment import io import tempfile import os class AudioProcessor: @staticmethod def standardize_audio(audio_file): """Standardize audio file to required format. Args: audio_file: Uploaded audio file Returns: str: Path to processed audio file """ try: audio_bytes = io.BytesIO(audio_file.getvalue()) with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as tmp: if audio_file.name.lower().endswith('.mp3'): audio = AudioSegment.from_mp3(audio_bytes) else: audio = AudioSegment.from_wav(audio_bytes) audio = audio.set_frame_rate(16000) audio = audio.set_channels(1) audio = audio.set_sample_width(2) audio.export( tmp.name, format="wav", parameters=["-ac", "1", "-ar", "16000"] ) return tmp.name except Exception as e: raise Exception(f"Error processing audio: {str(e)}")