Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import firebase_admin | |
| from firebase_admin import credentials | |
| from firebase_admin import firestore | |
| import datetime | |
| from transformers import pipeline | |
| import gradio as gr | |
| def get_db_firestore(): | |
| cred = credentials.Certificate('test.json') | |
| firebase_admin.initialize_app(cred, {'projectId': u'clinical-nlp-b9117',}) | |
| db = firestore.client() | |
| return db | |
| db = get_db_firestore() | |
| asr = pipeline("automatic-speech-recognition", "facebook/wav2vec2-base-960h") | |
| def transcribe(audio): | |
| text = asr(audio)["text"] | |
| return text | |
| classifier = pipeline("text-classification") | |
| def speech_to_text(speech): | |
| text = asr(speech)["text"] | |
| return text | |
| def text_to_sentiment(text): | |
| sentiment = classifier(text)[0]["label"] | |
| return sentiment | |
| def upsert(text): | |
| date_time =str(datetime.datetime.today()) | |
| doc_ref = db.collection('Text2SpeechSentimentSave').document(date_time) | |
| doc_ref.set({u'firefield': 'Recognize Speech', u'first': 'https://huggingface.co/spaces/awacke1/Text2SpeechSentimentSave', u'last': text, u'born': date_time,}) | |
| saved = select('Text2SpeechSentimentSave', date_time) | |
| # check it here: https://console.firebase.google.com/u/0/project/clinical-nlp-b9117/firestore/data/~2FStreamlitSpaces | |
| return saved | |
| def select(collection, document): | |
| doc_ref = db.collection(collection).document(document) | |
| doc = doc_ref.get() | |
| docid = ("The id is: ", doc.id) | |
| contents = ("The contents are: ", doc.to_dict()) | |
| return contents | |
| def selectall(text): | |
| docs = db.collection('Text2SpeechSentimentSave').stream() | |
| doclist='' | |
| for doc in docs: | |
| #docid=doc.id | |
| #dict=doc.to_dict() | |
| #doclist+=doc.to_dict() | |
| r=(f'{doc.id} => {doc.to_dict()}') | |
| doclist += r | |
| return doclist | |
| demo = gr.Blocks() | |
| with demo: | |
| #audio_file = gr.Audio(type="filepath") | |
| audio_file = gr.inputs.Audio(source="microphone", type="filepath") | |
| text = gr.Textbox() | |
| label = gr.Label() | |
| saved = gr.Textbox() | |
| savedAll = gr.Textbox() | |
| b1 = gr.Button("Recognize Speech") | |
| b2 = gr.Button("Classify Sentiment") | |
| b3 = gr.Button("Save Speech to Text") | |
| b4 = gr.Button("Retrieve All") | |
| b1.click(speech_to_text, inputs=audio_file, outputs=text) | |
| b2.click(text_to_sentiment, inputs=text, outputs=label) | |
| b3.click(upsert, inputs=text, outputs=saved) | |
| b4.click(selectall, inputs=text, outputs=savedAll) | |
| demo.launch(share=True) |