import gradio as gr from transformers import pipeline accuracy_classifier = pipeline(task="audio-classification", model="JohnJumon/pronunciation_accuracy") fluency_classifier = pipeline(task="audio-classification", model="JohnJumon/fluency_accuracy") prosodic_classifier = pipeline(task="audio-classification", model="JohnJumon/prosodic_accuracy") def pronunciation_scoring(audio): accuracy = accuracy_classifier(audio) fluency = fluency_classifier(audio) prosodic = prosodic_classifier(audio) result = { 'accuracy': accuracy, 'fluency': fluency, 'prosodic': prosodic } for category, scores in result.items(): max_score_label = max(scores, key=lambda x: x['score'])['label'] result[category] = max_score_label return result gradio_app = gr.Interface( pronunciation_scoring, inputs=gr.Audio(sources=["microphone"]), outputs=gr.Label(label="Result"), title="Pronunciation Scoring", ) if __name__ == "__main__": gradio_app.launch()