File size: 1,236 Bytes
f7f8e82
 
 
 
 
 
 
 
 
ca3fa08
ca738f2
ca3fa08
f7f8e82
 
ca738f2
f7f8e82
 
 
 
 
ca3fa08
 
f7f8e82
 
 
 
ca3fa08
f7f8e82
39ac2dc
ca3fa08
f7f8e82
 
 
ca3fa08
 
f7f8e82
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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()