import numpy as np import tempfile import gradio as gr from neon_tts_plugin_coqui import CoquiTTS LANGUAGES = list(CoquiTTS.langs.keys()) default_lang = "en" # ChatGPT from pyChatGPT import ChatGPT import whisper whisper_model = whisper.load_model("small") import os session_token = os.environ.get('SessionToken') # Creating an HTML file Func = open("GFG-1.html","w") # Adding input data to the HTML file Func.write("\n\n \nOutput Data in an HTML file \ \n

Welcome to GeeksforGeeks

\ \n

A CS Portal for Everyone

\n") # Saving the data into the HTML file Func.close() count = 0 def translate_language(text_prompts): global count try: count += 1 tips_text = None language_code = language_recognition_model.recognize(text_prompts) if language_code != 'zh': text_prompts = language_translation_model.translate(text_prompts, language_code, 'zh') except Exception as e: error_text = str(e) return {status_text:error_text, language_tips_text:gr.update(visible=False)} if language_code in tips: tips_text = tips[language_code] else: tips_text = tips['en'] if language_code == 'zh': return {language_tips_text:gr.update(visible=False), translated_language:text_prompts, trigger_component: gr.update(value=count, visible=False)} else: return {language_tips_text:gr.update(visible=True, value=tips_text), translated_language:text_prompts, trigger_component: gr.update(value=count, visible=False)} def inference(text_prompts, style_indx): try: model.token = model._apply_token(model.ak, model.sk) style = style_list[style_indx] results = model.generate_image( text_prompts=text_prompts, style=style, visualization=False, topk=4) except Exception as e: error_text = str(e) return {status_text:error_text, gallery:None} return {status_text:'Success', gallery:results[:4]} title="بسم الله الرحمن الرحيم" description="ERNIE-ViLG model, which supports text-to-image task." css = """ .gradio-container { font-family: 'IBM Plex Sans', sans-serif; } .gr-button { color: white; border-color: black; background: black; } input[type='range'] { accent-color: black; } .dark input[type='range'] { accent-color: #dfdfdf; } .container { max-width: 730px; margin: auto; padding-top: 1.5rem; } #gallery { min-height: 22rem; margin-bottom: 15px; margin-left: auto; margin-right: auto; border-bottom-right-radius: .5rem !important; border-bottom-left-radius: .5rem !important; } #gallery>div>.h-full { min-height: 20rem; } .details:hover { text-decoration: underline; } .gr-button { white-space: nowrap; } .gr-button:focus { border-color: rgb(147 197 253 / var(--tw-border-opacity)); outline: none; box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); --tw-border-opacity: 1; --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px var(--tw-ring-offset-width)) var(--tw-ring-color); --tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity)); --tw-ring-opacity: .5; } .footer { margin-bottom: 45px; margin-top: 35px; text-align: center; border-bottom: 1px solid #e5e5e5; } .footer>p { font-size: .8rem; display: inline-block; padding: 0 10px; transform: translateY(10px); background: white; } .dark .footer { border-color: #303030; } .dark .footer>p { background: #0b0f19; } .prompt h4{ margin: 1.25em 0 .25em 0; font-weight: bold; font-size: 115%; } """ block = gr.Blocks(css=css) examples = [ [ '戴着眼镜的猫', '油画(Oil painting)' ], ] with block: gr.HTML( """
Paddlehub

ERNIE-ViLG Demo

ERNIE-ViLG 2.0 is a state-of-the-art text-to-image model that generates images from Chinese text.

star Paddlehub
""" ) gr.HTML( """

Prompt公式

Prompt = 图片主体,细节词,修饰词 关于各部分的构造方式和效果,可以参考YouPromptMe指南。 更多的模型,请关注 PaddleHub 官方Repo , 如果你觉得不错,请star收藏吧。

Stars8.4k

同时,可以在 aistudio 上使用免费的GPU体验更多案例。

Prompt format

Prompt = object, details, description For more details, please refer to YouPromptMe Guide. There are more interesting models in PaddleHub, if you think it's great, welcome to star PaddleHub.

Stars8.4k

Besides, you can use free GPU resourses in aistudio to enjoy more cases, have fun.

""" ) #info = "more info at [Neon Coqui TTS Plugin](https://github.com/NeonGeckoCom/neon-tts-plugin-coqui), [Coqui TTS](https://github.com/coqui-ai/TTS)" #badge = "https://visitor-badge-reloaded.herokuapp.com/badge?page_id=neongeckocom.neon-tts-plugin-coqui" #coquiTTS = CoquiTTS() # ChatGPT def chat_hf(audio, custom_token, language): try: whisper_text = translate(audio) api = ChatGPT(session_token) resp = api.send_message(whisper_text) api.refresh_auth() # refresh the authorization token api.reset_conversation() # reset the conversation gpt_response = resp['message'] except: whisper_text = translate(audio) api = ChatGPT(custom_token) resp = api.send_message(whisper_text) api.refresh_auth() # refresh the authorization token api.reset_conversation() # reset the conversation gpt_response = resp['message'] # to voice with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as fp: coquiTTS.get_tts(gpt_response, fp, speaker = {"language" : language}) return whisper_text, gpt_response, fp.name # whisper def translate(audio): print(""" — Sending audio to Whisper ... — """) audio = whisper.load_audio(audio) audio = whisper.pad_or_trim(audio) mel = whisper.log_mel_spectrogram(audio).to(whisper_model.device) _, probs = whisper_model.detect_language(mel) transcript_options = whisper.DecodingOptions(task="transcribe", fp16 = False) transcription = whisper.decode(whisper_model, mel, transcript_options) print("language spoken: " + transcription.language) print("transcript: " + transcription.text) print("———————————————————————————————————————————") return transcription.text with gr.Blocks() as blocks: gr.Markdown("

" + title + "

") #gr.Markdown(description) with gr.Row(equal_height=True):# equal_height=False with gr.Column():# variant="panel" audio_file = gr.inputs.Audio(source="microphone", type="filepath") custom_token = gr.Textbox(label='إذا حدث فشل خلال الاتصال ، قم باستخدام رمز الجلسة "session" الخاص بك', placeholder="ادخل رمز الجلسة الخاص بك هنا session code") with gr.Row():# mobile_collapse=False submit = gr.Button("اتمام", variant="primary") with gr.Column(): text1 = gr.Textbox(label="صوت لنص") text2 = gr.Textbox(label="chatGPT اجابة الـ") audio = gr.Audio(label="النتيجة", interactive=False) #gr.Markdown(info) #gr.Markdown("
" # +f'visitors badge' # +"
") # actions submit.click( chat_hf, [audio_file, custom_token], [text1, text2, audio], ) #radio.change(lambda lang: CoquiTTS.langs[lang]["sentence"], radio, text2) gr.HTML( """

Prompt公式

Prompt = 图片主体,细节词,修饰词 关于各部分的构造方式和效果,可以参考YouPromptMe指南。 更多的模型,请关注 PaddleHub 官方Repo , 如果你觉得不错,请star收藏吧。

Stars8.4k

同时,可以在 aistudio 上使用免费的GPU体验更多案例。

Prompt format

Prompt = object, details, description For more details, please refer to YouPromptMe Guide. There are more interesting models in PaddleHub, if you think it's great, welcome to star PaddleHub.

Stars8.4k

Besides, you can use free GPU resourses in aistudio to enjoy more cases, have fun.

""" ) gr.HTML(''' ''') blocks.launch(debug=True)