akshay-js
Added application
0077bbf
raw
history blame contribute delete
No virus
2.1 kB
import gradio as gr
from transformers import pipeline
import torchaudio
import time
# Load Whisper ASR model
transcriber = pipeline(model="openai/whisper-base")
# Load summarization model
summarization_model = pipeline("summarization")
# Load question-answering model
model_name = "deepset/roberta-base-squad2"
nlp = pipeline('question-answering', model=model_name, tokenizer=model_name)
def translate_audio(audio):
# Step 1: Transcribe audio to text
transcription = transcriber(audio)
print('transcription', transcription)
# Step 2: Translate text to Hindi
summary = summarization_model(transcription['text'])
print('summary', summary)
return transcription['text'], summary[0]['summary_text']
def answer_question(context, question):
QA_input = {
'question': question,
'context': context
}
print('----QA_input----', QA_input)
return nlp(QA_input)['answer']
# Create Gradio interface
with gr.Blocks() as iface:
gr.Markdown("# Audio Translator, Summarizer, and QA System")
with gr.Row():
audio_input = gr.Audio(type="filepath", label="Upload Audio")
transcription_output = gr.Textbox(
label="Transcribed Text",
info="Initial text")
translation_output = gr.Textbox(
label="Summary",
info="Meeting minute")
translate_button = gr.Button("Translate Audio")
translate_button.click(
translate_audio,
inputs=[audio_input],
outputs=[transcription_output, translation_output]
)
def respond(message, chat_history, context):
bot_message = answer_question(context, message)
print('----bot_message---', bot_message)
chat_history.append((message, bot_message))
time.sleep(2)
return "", chat_history
with gr.Blocks() as demo:
chatbot = gr.Chatbot()
msg = gr.Textbox()
clear = gr.ClearButton([msg, chatbot])
msg.submit(respond, [msg, chatbot, transcription_output], [msg, chatbot])
# Launch the app
iface.launch(share=True) # 'share=True' to get a public link