import whisper import gradio as gr import time import google.generativeai as palm palm.configure(api_key='AIzaSyCLy2IgNwMBDbhYH_zvUDo0AMWQdRLQI0E') model = whisper.load_model("base") print(model.device) def transcribe(audio): #time.sleep(3) # load audio and pad/trim it to fit 30 seconds audio = whisper.load_audio(audio) audio = whisper.pad_or_trim(audio) # make log-Mel spectrogram and move to the same device as the model mel = whisper.log_mel_spectrogram(audio).to(model.device) # # detect the spoken language # _, probs = model.detect_language(mel) # print(f"Detected language: {max(probs, key=probs.get)}") # decode the audio # options = whisper.DecodingOptions() # for cpu options = whisper.DecodingOptions(fp16=False) result = whisper.decode(model, mel, options) print(result.text) completion = palm.generate_text( model='models/text-bison-001', prompt=result.text, temperature=0, # The maximum length of the response max_output_tokens=500, ).result return completion gr.Interface( title = 'Real-time AI-based Audio Transcription, Recognition, Answerer Web App', fn=transcribe, inputs=[ gr.inputs.Audio(source="microphone", type="filepath") ], outputs=[ "textbox" ], live=True).launch(share=True)