Spaces:
Runtime error
Runtime error
| from transformers import pipeline | |
| import gradio as gr | |
| asr = pipeline("automatic-speech-recognition", "facebook/wav2vec2-base-960h") | |
| classifier = pipeline("text-classification") | |
| def speech_to_text(mic=None, file=None): | |
| if mic is not None: | |
| audio = mic | |
| elif file is not None: | |
| audio = file | |
| else: | |
| return "You must either provide a mic recording or a file" | |
| text = asr(audio)["text"] | |
| return text | |
| def text_to_sentiment(text): | |
| return classifier(text)[0]["label"] | |
| title = "Speech-Text-Sentiment" | |
| description = """ | |
| Task: Speech to Text to Sentiment\n | |
| Model: \n | |
| speech to text (Wav2Vec2ForCTC)\n | |
| text to sentiment (DistilBertForSequenceClassification)\n | |
| """ | |
| theme="freddyaboulton/dracula_revamped" | |
| demo = gr.Blocks( | |
| title=title, | |
| description=description, | |
| theme=theme | |
| ) | |
| with demo: | |
| audio_file = [ | |
| gr.Audio(source="microphone", | |
| type="filepath", | |
| optional=True), | |
| gr.Audio(source="upload", | |
| type="filepath", | |
| optional=True), | |
| ] | |
| text = gr.Textbox() | |
| label = gr.Label() | |
| b1 = gr.Button("Recognize Speech") | |
| b2 = gr.Button("Classify Sentiment") | |
| b1.click(speech_to_text, inputs=audio_file, outputs=text) | |
| b2.click(text_to_sentiment, inputs=text, outputs=label) | |
| demo.launch() | |