import numpy as np import noisereduce as nr import soundfile as sf from pydub import AudioSegment import io def preprocess_audio(file_bytes): # Charger l'audio audio = AudioSegment.from_file(io.BytesIO(file_bytes)) # Convertir en mono, 16kHz audio = audio.set_channels(1).set_frame_rate(16000) # Exporter en wav bytes wav_io = io.BytesIO() audio.export(wav_io, format='wav') wav_io.seek(0) # Charger en numpy y, sr = sf.read(wav_io) # Réduction de bruit y_denoised = nr.reduce_noise(y=y, sr=sr) # Sauvegarder en wav bytes out_io = io.BytesIO() sf.write(out_io, y_denoised, sr, format='WAV') out_io.seek(0) return out_io