Test_Video / app.py
ParthCodes's picture
Create app.py
592221d verified
raw
history blame
1.04 kB
import json
import ffmpeg
from subprocess import run
import gradio as gr
import whisper_timestamped as whisper
from transformers import pipeline
model = whisper.load_model("model/small.pt", device="cpu")
sentiment_analysis = pipeline("sentiment-analysis", framework="pt", model="SamLowe/roberta-base-go_emotions", use_fast=True)
def analyze_sentiment(text):
results = sentiment_analysis(text)
sentiment_results = {result['label']: result['score'] for result in results}
return sentiment_results
def transcribe(audio):
audio = whisper.load_audio(audio)
result = whisper.transcribe(model, audio)
print(json.dumps(result, indent=2, ensure_ascii=False))
sent_res = analyze_sentiment(result.text)
return sent_res
def video_to_audio(input_video, output_audio):
audio_file = f"test.wav"
run(["ffmpeg", "-i", 'test_video_1.mp4', audio_file])
response = transcribe(audio=audio_file)
return response
gr.Interface(
fn=video_to_audio,
inputs=gr.Video(),
outputs=gr.Textbox()
).launch()