|
import gradio as gr |
|
import torch |
|
import torchaudio |
|
from df import enhance, init_df |
|
from pydub import AudioSegment |
|
|
|
def wav_to_mp3(wav_path, mp3_path): |
|
|
|
audio = AudioSegment.from_wav(wav_path) |
|
|
|
audio.export(mp3_path, format="mp3") |
|
|
|
|
|
model, df_state, _ = init_df() |
|
|
|
def denoise_audio(audio): |
|
|
|
waveform, sample_rate = torchaudio.load(audio) |
|
|
|
|
|
enhanced_audio = enhance(model, df_state, waveform) |
|
|
|
|
|
output_file = "enhanced_output.wav" |
|
torchaudio.save(output_file, enhanced_audio, sample_rate) |
|
wav_to_mp3(output_file,"enhanced.mp3") |
|
output_file="enhanced.mp3" |
|
return output_file |
|
|
|
|
|
iface = gr.Interface( |
|
fn=denoise_audio, |
|
inputs=gr.Audio(type="filepath"), |
|
outputs="file", |
|
title="DeepFilterNet Audio Denoising", |
|
description="Upload an audio file to remove noise using DeepFilterNet." |
|
) |
|
|
|
iface.launch() |
|
|