import gradio as gr import os import subprocess # Function to get the file extension def get_file_extension(file_path): return os.path.splitext(file_path)[1].lower() # Function to convert the audio file using ffmpeg def convert_audio(file, output_extension): input_extension = get_file_extension(file) output_file = file.replace(input_extension, f'.{output_extension}') # FFmpeg command to convert the audio file command = f'ffmpeg -i "{file}" "{output_file}"' subprocess.run(command, shell=True) return output_file # Gradio Interface def interface(file, output_extension): output_file = convert_audio(file, output_extension) return output_file # Building the Gradio interface with gr.Blocks() as app: gr.Markdown("## Audio Converter using FFmpeg") with gr.Row(): input_file = gr.File(label="Upload Audio File", type="filepath") output_extension = gr.Textbox(label="Enter Output File Extension (e.g., mp3, wav, m4a, etc.)") output_file = gr.File(label="Converted Audio File") convert_button = gr.Button("Convert") convert_button.click(fn=interface, inputs=[input_file, output_extension], outputs=output_file) # Launch the app app.launch()