AudioSegmenting / app.py
Mohssinibra's picture
update 2
c443704 verified
import gradio as gr
import numpy as np
import librosa
import soundfile as sf
from pydub import AudioSegment
from pydub.silence import split_on_silence
# Fonction pour diviser l'audio et supprimer les silences
def remove_silence(input_audio):
# Charger le fichier audio
audio = AudioSegment.from_file(input_audio)
# Diviser l'audio en segments sans silence
segments = split_on_silence(audio, min_silence_len=1000, silence_thresh=-40)
# Recomposer l'audio sans les silences
non_silent_audio = AudioSegment.empty()
for segment in segments:
non_silent_audio += segment # Ajouter les segments sans silence
# Sauvegarder le fichier audio sans silences
output_path = "/tmp/output_without_silence.wav"
non_silent_audio.export(output_path, format="wav")
return output_path
# Interface Gradio
iface = gr.Interface(
fn=remove_silence,
inputs=gr.Audio(type="filepath"),
outputs=gr.File(label="Audio sans silence"),
title="Diviser Audio; suppression de silence."
)
# Lancer l'interface Gradio
iface.launch()