|
import gradio as gr |
|
from enum import Enum |
|
|
|
class StressOption(Enum): |
|
AutomaticStress = "Автоматичні наголоси (за словником) 📖" |
|
AutomaticStressWithModel = "Автоматичні наголоси (за допомогою моделі) 🧮" |
|
|
|
|
|
class VoiceOption(Enum): |
|
FemaleVoice = "Олена (жіночий) 👩" |
|
MaleVoice = "Микита (чоловічий) 👨" |
|
|
|
badge = ( |
|
"https://visitor-badge-reloaded.herokuapp.com/badge?page_id=robinhad.ukrainian-tts" |
|
) |
|
|
|
iface = gr.Interface( |
|
fn=lambda *args: [None, None], |
|
inputs=[ |
|
gr.inputs.Textbox( |
|
label="Input", |
|
default="Введіть, будь ласка, своє р+ечення.", |
|
), |
|
gr.inputs.Radio( |
|
label="Голос", |
|
choices=[option.value for option in VoiceOption], |
|
default=VoiceOption.FemaleVoice.value, |
|
), |
|
gr.inputs.Radio( |
|
label="Наголоси", |
|
choices=[option.value for option in StressOption], |
|
), |
|
], |
|
outputs=[ |
|
gr.outputs.Audio(label="Output"), |
|
gr.outputs.Textbox(label="Наголошений текст"), |
|
], |
|
title="🐸💬🇺🇦 - Coqui TTS", |
|
description="Україномовний🇺🇦 TTS за допомогою Coqui TTS (щоб вручну поставити наголос, використовуйте + перед голосною)", |
|
article="Якщо вам подобається, підтримайте за посиланням: [SUPPORT LINK](https://send.monobank.ua/jar/48iHq4xAXm), " |
|
+ "Github: [https://github.com/robinhad/ukrainian-tts](https://github.com/robinhad/ukrainian-tts) \n" |
|
+ "Model training - [Yurii Paniv @robinhad](https://github.com/robinhad) \n" |
|
+ "Mykyta and Olena dataset - [Yehor Smoliakov @egorsmkv](https://github.com/egorsmkv) \n" |
|
+ "Autostress (with dictionary) using [ukrainian-word-stress](https://github.com/lang-uk/ukrainian-word-stress) - [Oleksiy Syvokon @asivokon](https://github.com/asivokon) \n" |
|
+ "Autostress (with model) using [ukrainian-accentor](https://github.com/egorsmkv/ukrainian-accentor) - [Bohdan Mykhailenko @NeonBohdan](https://github.com/NeonBohdan) + [Yehor Smoliakov @egorsmkv](https://github.com/egorsmkv) \n" |
|
+ f'<center><img src="{badge}" alt="visitors badge"/></center>', |
|
examples=[ |
|
[ |
|
"Введіть, будь ласка, своє речення.", |
|
VoiceOption.FemaleVoice.value, |
|
StressOption.AutomaticStress.value, |
|
], |
|
[ |
|
"Введіть, будь ласка, своє речення.", |
|
VoiceOption.MaleVoice.value, |
|
StressOption.AutomaticStress.value, |
|
], |
|
[ |
|
"Вв+едіть, будь ласка, св+оє реч+ення.", |
|
VoiceOption.MaleVoice.value, |
|
StressOption.AutomaticStress.value, |
|
], |
|
[ |
|
"Привіт, як тебе звати?", |
|
VoiceOption.FemaleVoice.value, |
|
StressOption.AutomaticStress.value, |
|
], |
|
[ |
|
"Договір підписано 4 квітня 1949 року.", |
|
VoiceOption.FemaleVoice.value, |
|
StressOption.AutomaticStress.value, |
|
], |
|
], |
|
) |
|
iface.launch() |
|
|