File size: 1,333 Bytes
e793ef5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import gradio as gr
from transformers import pipeline
import numpy as np
import moviepy.editor as mp

transcriber = pipeline("automatic-speech-recognition", model="openai/whisper-base.en")
translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-fr")  # Example for English to French

def transcribe(video_file):
    # Load video file and extract audio
    audio_file = mp.AudioFileClip(video_file).write_audiofile("temp_audio.wav")
    result = transcriber("temp_audio.wav")
    return result['text']

def translate(text):
    return translator(text)[0]['translation_text']

with gr.Blocks() as demo:
    gr.Markdown("# Curify Studio Demo")
    
    with gr.Tab("Transcription"):
        video_input = gr.File(label="Upload Video File")
        transcribe_output = gr.Textbox(label="Transcription Output", lines=10)
        transcribe_button = gr.Button("Transcribe")
        
        transcribe_button.click(fn=transcribe, inputs=video_input, outputs=transcribe_output)
        
    with gr.Tab("Translation"):
        text_input = gr.Textbox(label="Text to Translate")
        translate_output = gr.Textbox(label="Translation Output", lines=10)
        translate_button = gr.Button("Translate")
        
        translate_button.click(fn=translate, inputs=text_input, outputs=translate_output)

demo.launch(debug=True)