Spaces:
Runtime error
Runtime error
| from flask import Flask, render_template, request, jsonify | |
| import torch | |
| from transformers import pipeline | |
| import gradio as gr | |
| app = Flask(__name__) | |
| # Load the automatic speech recognition model | |
| pipe = pipeline("automatic-speech-recognition", | |
| "openai/whisper-large-v3", | |
| torch_dtype=torch.float16, | |
| device="cuda:0") | |
| # Load the emotion classification model | |
| emotion_classifier = pipeline( | |
| "text-classification", | |
| model="j-hartmann/emotion-english-distilroberta-base", | |
| return_all_scores=True | |
| ) | |
| def transcribe(audio_file, task): | |
| if audio_file is None: | |
| return "Please upload or record an audio file." | |
| # Check if the audio file is in bytes format (drag-and-drop file) | |
| if isinstance(audio_file, bytes): | |
| text = pipe(audio_file, generate_kwargs={"task": task}, return_timestamps=True)["text"] | |
| else: | |
| # Handle the case where the file is uploaded using the file uploader | |
| text = pipe(audio_file.name, generate_kwargs={"task": task}, return_timestamps=True)["text"] | |
| return text | |
| def index(): | |
| return render_template('index.html') | |
| def transcribe_endpoint(): | |
| audio_file = request.files.get('audio_file') | |
| task = request.form.get('task') | |
| text = transcribe(audio_file, task) | |
| return jsonify({'text': text}) | |
| def classify_emotion_endpoint(): | |
| text = request.form.get('text') | |
| result = emotion_classifier(text) | |
| return jsonify(result) | |
| if __name__ == '__main__': | |
| app.run(debug=True) | |