import gradio as gr from pydub import AudioSegment import tempfile import os def convert_wav_to_mp3(wav_file): base_name = os.path.splitext(os.path.basename(wav_file.name))[0] output_filename = f"{base_name}.mp3" temp_dir = tempfile.mkdtemp() output_path = os.path.join(temp_dir, output_filename) audio = AudioSegment.from_wav(wav_file.name) audio.export( output_path, format="mp3", bitrate="320k", parameters=["-ar", "48000", "-ac", "2"] ) return output_path iface = gr.Interface( fn=convert_wav_to_mp3, inputs=gr.File(label="Upload WAV File", file_types=[".wav"]), outputs=gr.File(label="Download MP3 File"), title="WAV to MP3 Converter (Max Quality)", description="Upload a WAV file and download the converted MP3 file in maximum quality (320 kbps, 48 kHz, stereo)." ) if __name__ == "__main__": iface.launch()