import torch import gradio as gr import pytube as pt from transformers import pipeline from diffusers import StableDiffusionPipeline MODEL_NAME = "whispy/whisper_italian" YOUR_TOKEN="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" # whisper model fine-tuned for italian speech_ppl = pipeline( task="automatic-speech-recognition", model=MODEL_NAME, chunk_length_s=30, device="cpu" ) # model summarizing text summarizer_ppl = pipeline( "summarization", model="it5/it5-efficient-small-el32-news-summarization" ) # model translating text from Italian to English translator_ppl = pipeline( "translation", model="Helsinki-NLP/opus-mt-it-en" ) # model producing an image from text image_ppl = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4", use_auth_token=YOUR_TOKEN) #def transcribe(microphone, file_upload): def transcribe(microphone): warn_output = "" # if (microphone is not None) and (file_upload is not None): if (microphone is not None): warn_output = ( "WARNING: You've uploaded an audio file and used the microphone. " "The recorded file from the microphone will be used and the uploaded audio will be discarded.\n" ) # elif (microphone is None) and (file_upload is None): elif (microphone is None): return "ERROR: You have to either use the microphone or upload an audio file" # file = microphone if microphone is not None else file_upload file = microphone text = speech_ppl(file)["text"] print("Text: ", text) translate = translator_ppl(text) print("Translate: ", translate) translate = translate[0]["translation_text"] print("Translate 2: ", translate) print("Building image .....") #image = image_ppl(translate).images[0] #image = image_ppl(translate, num_inference_steps=15)["sample"] prompt = "a photograph of an astronaut riding a horse" image = image_ppl(prompt, num_inference_steps=15) print("Image output: ", image) print("Image: ", image.images) #image.save("text-to-image.png") return warn_output + text, translate, image def _return_yt_html_embed(yt_url): video_id = yt_url.split("?v=")[-1] HTML_str = ( f'