Spaces:
Runtime error
Runtime error
from transformers import pipeline | |
import gradio as gr | |
import os | |
import deepl | |
import openai | |
from pytube import YouTube | |
TARGET_LANG = "EN-GB" | |
deepl_key = os.environ.get('DEEPL_KEY') | |
translator = deepl.Translator(deepl_key) | |
pipe = pipeline(model="torileatherman/whisper_small_sv") # change to "your-username/the-name-you-picked" | |
def transcribe(audio): | |
text_sv = pipe(audio)["text"] | |
print(f"Audio transcribed: {text_sv}") | |
text_en = translator.translate_text(text_sv, target_lang=TARGET_LANG).text | |
print(f"Text translated: {text_en}") | |
return text_sv, text_en | |
def transcribe_url(url): | |
youtube = YouTube(str(url)) | |
audio = youtube.streams.filter(only_audio=True).first().download('yt_video') | |
text_sv = pipe(audio)["text"] | |
text_en = translator.translate_text(text_sv, target_lang=TARGET_LANG).text | |
return text_sv, text_en | |
url_demo = gr.Interface( | |
fn=transcribe_url, | |
inputs="text", | |
outputs=[gr.Textbox(label="Transcribed text"), | |
gr.Textbox(label="English translation")], | |
title="Swedish video speech to english text", | |
description="Transcribing swedish video to text and translating to english!", | |
) | |
voice_demo = gr.Interface( | |
fn=transcribe, | |
inputs=gr.Audio(source="microphone", type="filepath"), | |
outputs=[gr.Textbox(label="Transcribed text"), | |
gr.Textbox(label="English translation")], | |
title="Swedish recorded speech to english text", | |
description="Transcribing swedish speech to text and translating to english!", | |
) | |
demo = gr.TabbedInterface([url_demo, voice_demo], ["Swedish YouTube Video to English Text", "Swedish Audio to English Text"]) | |
demo.launch() |