import gradio as gr from pydub import AudioSegment import tempfile import os import shutil def convert_mp3_to_wav(mp3_file): # Extract base name without extension base_name = os.path.splitext(os.path.basename(mp3_file.name))[0] output_filename = f"{base_name}.wav" # Create temporary output directory temp_dir = tempfile.mkdtemp() output_path = os.path.join(temp_dir, output_filename) # Convert and export as WAV audio = AudioSegment.from_mp3(mp3_file.name) audio.export(output_path, format="wav") return output_path # Gradio will let the user download this # Gradio Interface iface = gr.Interface( fn=convert_mp3_to_wav, inputs=gr.File(label="Upload MP3 File", file_types=[".mp3"]), outputs=gr.File(label="Download WAV File"), title="MP3 to WAV Converter", description="Upload an MP3 file and download the converted WAV file with the same name." ) if __name__ == "__main__": iface.launch()