import gradio as gr import numpy as np io1 = gr.Interface.load("huggingface/facebook/xm_transformer_s2ut_en-hk") io2 = gr.Interface.load("huggingface/facebook/xm_transformer_s2ut_hk-en") io3 = gr.Interface.load("huggingface/facebook/xm_transformer_unity_en-hk") io4 = gr.Interface.load("huggingface/facebook/xm_transformer_unity_hk-en") def inference(audio, model): try: if not audio: raise ValueError("No audio input provided") if model == "xm_transformer_s2ut_en-hk": out_audio = io1(audio) elif model == "xm_transformer_s2ut_hk-en": out_audio = io2(audio) elif model == "xm_transformer_unity_en-hk": out_audio = io3(audio) elif model == "xm_transformer_unity_hk-en": out_audio = io4(audio) else: raise ValueError(f"Unsupported model: {model}") if not out_audio: raise ValueError("Model failed to generate output") return out_audio, "Success" except Exception as e: print(f"Error during inference: {str(e)}") return None, str(e) block = gr.Blocks() with block: gr.HTML( """
A demo for fairseq speech-to-speech translation models. It supports S2UT and UnitY models for bidirectional Hokkien and English translation. Please select the model and record the input to submit.