import gradio as gr def main(): title = """

🎤 Multilingual ASR 💬

""" description = """ 💻 This demo showcases a general-purpose speech recognition model called Whisper. It is trained on a large dataset of diverse audio and supports multilingual speech recognition, speech translation, and language identification tasks.


⚙️ Components of the tool:

     - Real-time multilingual speech recognition
     - Language identification
     - Sentiment analysis of the transcriptions

🎯 The sentiment analysis results are provided as a dictionary with different emotions and their corresponding scores.

😃 The sentiment analysis results are displayed with emojis representing the corresponding sentiment.

✅ The higher the score for a specific emotion, the stronger the presence of that emotion in the transcribed text.

❓ Use the microphone for real-time speech recognition.

⚡️ The model will transcribe the audio and perform sentiment analysis on the transcribed text.
""" custom_css = """ #banner-image { display: block; margin-left: auto; margin-right: auto; } #chat-message { font-size: 14px; min-height: 300px; } """ block = gr.Blocks(css=custom_css) with block: gr.HTML(title) with gr.Row(): with gr.Column(): gr.HTML(description) with gr.Group(): with gr.Box(): audio = gr.Audio( label="Input Audio", show_label=False, source="microphone", type="filepath" ) sentiment_option = gr.Radio( choices=["Sentiment Only", "Sentiment + Score"], label="Select an option", default="Sentiment Only" ) btn = gr.Button("Transcribe") lang_str = gr.Textbox(label="Language") text = gr.Textbox(label="Transcription") sentiment_output = gr.Textbox(label="Sentiment Analysis Results", output=True) prediction = gr.Textbox(label="Prediction") language_translation = gr.Textbox(label="Language Translation") btn.click(inference, inputs=[audio, sentiment_option], outputs=[lang_str, text, sentiment_output, prediction,language_translation]) # gr.HTML(''' # # ''') block.launch()