import gradio as gr from transformers import pipeline from gradio_client import Client, file def detect_language(file_path): client = Client("adrien-alloreview/speechbrain-lang-id-voxlingua107-ecapa") result = client.predict(param_0=file(file_path), api_name="/predict") language_result = result["label"].split(": ")[1] if language_result.lower() in ["russian", "belarussian", "ukrainian"]: selected_language = "russian" else: selected_language = "kazakh" return selected_language # def detect_emotion(audio): # pipe = pipeline( # "audio-classification", # model="HowMannyMore/wav2vec2-lg-xlsr-ur-speech-emotion-recognition", # ) # res = pipe(audio) # emotion_with_max_score = res[0]["label"] # # return emotion_with_max_score # # # def detect_toxic_local(text_whisper): # model_name_rus = "IlyaGusev/rubertconv_toxic_clf" # pipe = pipeline( # "text-classification", # model=model_name_rus, # tokenizer=model_name_rus, # framework="pt", # max_length=512, # truncation=True, # device=0, # ) # res = pipe([text_whisper])[0]["label"] # if res == "toxic": # return True # if res == "neutral": # return False # else: # return None gradio_app = gr.Interface( fn=detect_language, inputs=gr.Audio(sources="upload", type="filepath"), outputs="text", title="File Upload Transcription", description="Upload an audio file to determine language." ) if __name__ == "__main__": gradio_app.launch()