File size: 1,033 Bytes
be8b9f6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
37
38
39
40
41
42
43
44


import gradio as gr
from transformers import pipeline
import tempfile
import os

# with open("../../token.txt", "r") as file:
#     token = file.readline().strip()
#
#
# login(token=token, add_to_git_credential=True)

pipe = pipeline(model="dacavi/whisper-small-es")

def transcribe_video(video_url):
    # Download video and extract audio
    with tempfile.NamedTemporaryFile(suffix=".wav", delete=True) as temp_audio:
        # os.system(f"yt-dlp -o {temp_audio.name} -x --audio-format wav {video_url}")
        os.system(f"yt-dlp -o audioSample.wav -x --audio-format wav {video_url}")

        print("Downloaded audio:", temp_audio.name)


    # Transcribe audio
        text = pipe("audioSample.wav")["text"]

    # Clean up temporary files
        os.remove("audioSample.wav")


    return text

iface = gr.Interface(
    fn=transcribe_video,
    inputs="text",
    outputs="text",
    live=True,
    title="Video Transcription",
    description="Paste the URL of a video to transcribe the spoken content.",
)

iface.launch()