import gradio as gr from gradio_client import Client import os import tempfile # Crea il client Gradio per l'inferenza inference_client = Client("http://127.0.0.1:6969/") # Cartella di output in assets output_folder = "assets/generated" os.makedirs(output_folder, exist_ok=True) def process_audio(audio_file): if audio_file is None: return None, "Nessun file audio caricato." # Ottieni il percorso temporaneo del file caricato input_file = audio_file.name try: # Prepara il percorso di output output_filename = f"generated_{os.path.basename(input_file)}" output_path = os.path.join(output_folder, output_filename) # Esegui la predizione result = inference_client.predict( -24, # Pece 0, # Raggio del filtro 0, # Rapporto feature di ricerca 0, # Inviluppo del volume 0, # Proteggi le consonanti sorde 1, # Lunghezza del luppolo "pm", # Algoritmo di estrazione del passo input_file, # Percorso del file audio di input output_path, # Percorso del file audio di output "logs/master/master.pth", # Modello vocale "logs/master/added_IVF124_Flat_nprobe_1_master-v2_v2.index", # File di indice True, # Dividere l'audio True, # Sintonizzazione automatica True, # Audio pulito 0, # Forza pulita "WAV", # Export Format api_name="/run_infer_script" ) return output_path, f"Elaborazione completata. File salvato in {output_path}" except Exception as e: return None, f"Errore durante l'elaborazione: {str(e)}" # Creazione dell'interfaccia Gradio iface = gr.Interface( fn=process_audio, inputs=gr.Audio(type="filepath", label="Carica file audio (WAV o MP3)"), outputs=[ gr.Audio(type="filepath", label="Audio elaborato"), gr.Textbox(label="Messaggio") ], title="Elaborazione Audio con Applio", description="Carica un file audio WAV o MP3 per elaborarlo con Applio." ) # Avvio dell'interfaccia iface.launch()