Spaces:
Running
Running
Change format for voice selection
Browse filesCloses #2
app.py
CHANGED
|
@@ -15,6 +15,8 @@ except ImportError:
|
|
| 15 |
|
| 16 |
import torch
|
| 17 |
import torchaudio
|
|
|
|
|
|
|
| 18 |
|
| 19 |
from huggingface_hub import hf_hub_download
|
| 20 |
|
|
@@ -24,7 +26,6 @@ from data import TextProcessor
|
|
| 24 |
from common import update_params
|
| 25 |
from torch_env import device
|
| 26 |
|
| 27 |
-
import gradio as gr
|
| 28 |
|
| 29 |
|
| 30 |
# Vocoder
|
|
@@ -184,44 +185,31 @@ tech_libraries = f"""
|
|
| 184 |
- librosa: {version("librosa")}
|
| 185 |
""".strip()
|
| 186 |
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
Lada = "Lada (female) 👩"
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
voice_mapping = {
|
| 195 |
-
VoiceOption.Tetiana.value: "tetiana",
|
| 196 |
-
VoiceOption.Mykyta.value: "mykyta",
|
| 197 |
-
VoiceOption.Lada.value: "lada",
|
| 198 |
}
|
| 199 |
|
| 200 |
|
| 201 |
examples = [
|
| 202 |
[
|
| 203 |
"Прокинувся ґазда вранці. Пішов, вичистив з-під коня, вичистив з-під бика, вичистив з-під овечок, вибрав молодняк, відніс його набік.",
|
| 204 |
-
|
| 205 |
],
|
| 206 |
[
|
| 207 |
"Пішов взяв сіна, дав корові. Пішов взяв сіна, дав бикові. Ячміню коняці насипав. Зайшов почистив корову, зайшов почистив бика, зайшов почистив коня, за яйця його мацнув.",
|
| 208 |
-
|
| 209 |
],
|
| 210 |
[
|
| 211 |
"Кінь ногою здригнув, на хазяїна ласкавим оком подивився. Тоді дядько пішов відкрив курей, гусей, качок, повиносив їм зерна, огірків нарізаних, нагодував. Коли чує – з хати дружина кличе. Зайшов. Дітки повмивані, сидять за столом, всі чекають тата. Взяв він ложку, перехрестив дітей, перехрестив лоба, почали снідати. Поснідали, він дістав пряників, роздав дітям. Діти зібралися, пішли в школу. Дядько вийшов, сів на призьбі, взяв сапку, почав мантачити. Мантачив-мантачив, коли – жінка виходить. Він їй ту сапку дає, ласкаво за сраку вщипнув, жінка до нього лагідно всміхнулася, пішла на город – сапати. Коли – йде пастух і товар кличе в череду. Повідмикав дядько овечок, коровку, бика, коня, все відпустив. Сів попри хати, дістав табАку, відірвав шмат газети, насипав, наслинив собі гарну таку цигарку. Благодать божа – і сонечко вже здійнялося над деревами. Дядько встромив цигарку в рота, дістав сірники, тільки чиркати – коли раптом з хати: Доброе утро! Московское время – шесть часов утра! Витяг дядько цигарку с рота, сплюнув набік, і сам собі каже: Ана маєш. Прокинулись, бляді!",
|
| 212 |
-
|
| 213 |
],
|
| 214 |
]
|
| 215 |
|
| 216 |
|
| 217 |
def get_speaker_id(speaker):
|
| 218 |
-
|
| 219 |
-
"lada": 0,
|
| 220 |
-
"mykyta": 1,
|
| 221 |
-
"tetiana": 2,
|
| 222 |
-
}
|
| 223 |
-
|
| 224 |
-
return torch.LongTensor([speaker_ids[speaker]])
|
| 225 |
|
| 226 |
|
| 227 |
def get_text(text):
|
|
@@ -234,7 +222,7 @@ def inference(text, voice):
|
|
| 234 |
|
| 235 |
gr.Info("Starting...", duration=0.5)
|
| 236 |
|
| 237 |
-
speaker =
|
| 238 |
speaker = speaker_text = speaker_attributes = speaker
|
| 239 |
|
| 240 |
n_takes = 1
|
|
@@ -350,8 +338,8 @@ with demo:
|
|
| 350 |
)
|
| 351 |
voice = gr.Radio(
|
| 352 |
label="Voice",
|
| 353 |
-
choices=[
|
| 354 |
-
value=
|
| 355 |
)
|
| 356 |
|
| 357 |
gr.Button("Run").click(
|
|
|
|
| 15 |
|
| 16 |
import torch
|
| 17 |
import torchaudio
|
| 18 |
+
import gradio as gr
|
| 19 |
+
|
| 20 |
|
| 21 |
from huggingface_hub import hf_hub_download
|
| 22 |
|
|
|
|
| 26 |
from common import update_params
|
| 27 |
from torch_env import device
|
| 28 |
|
|
|
|
| 29 |
|
| 30 |
|
| 31 |
# Vocoder
|
|
|
|
| 185 |
- librosa: {version("librosa")}
|
| 186 |
""".strip()
|
| 187 |
|
| 188 |
+
voices = {
|
| 189 |
+
"lada": 0,
|
| 190 |
+
"mykyta": 1,
|
| 191 |
+
"tetiana": 2,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 192 |
}
|
| 193 |
|
| 194 |
|
| 195 |
examples = [
|
| 196 |
[
|
| 197 |
"Прокинувся ґазда вранці. Пішов, вичистив з-під коня, вичистив з-під бика, вичистив з-під овечок, вибрав молодняк, відніс його набік.",
|
| 198 |
+
"Mykyta",
|
| 199 |
],
|
| 200 |
[
|
| 201 |
"Пішов взяв сіна, дав корові. Пішов взяв сіна, дав бикові. Ячміню коняці насипав. Зайшов почистив корову, зайшов почистив бика, зайшов почистив коня, за яйця його мацнув.",
|
| 202 |
+
"Lada",
|
| 203 |
],
|
| 204 |
[
|
| 205 |
"Кінь ногою здригнув, на хазяїна ласкавим оком подивився. Тоді дядько пішов відкрив курей, гусей, качок, повиносив їм зерна, огірків нарізаних, нагодував. Коли чує – з хати дружина кличе. Зайшов. Дітки повмивані, сидять за столом, всі чекають тата. Взяв він ложку, перехрестив дітей, перехрестив лоба, почали снідати. Поснідали, він дістав пряників, роздав дітям. Діти зібралися, пішли в школу. Дядько вийшов, сів на призьбі, взяв сапку, почав мантачити. Мантачив-мантачив, коли – жінка виходить. Він їй ту сапку дає, ласкаво за сраку вщипнув, жінка до нього лагідно всміхнулася, пішла на город – сапати. Коли – йде пастух і товар кличе в череду. Повідмикав дядько овечок, коровку, бика, коня, все відпустив. Сів попри хати, дістав табАку, відірвав шмат газети, насипав, наслинив собі гарну таку цигарку. Благодать божа – і сонечко вже здійнялося над деревами. Дядько встромив цигарку в рота, дістав сірники, тільки чиркати – коли раптом з хати: Доброе утро! Московское время – шесть часов утра! Витяг дядько цигарку с рота, сплюнув набік, і сам собі каже: Ана маєш. Прокинулись, бляді!",
|
| 206 |
+
"Tetiana",
|
| 207 |
],
|
| 208 |
]
|
| 209 |
|
| 210 |
|
| 211 |
def get_speaker_id(speaker):
|
| 212 |
+
return torch.LongTensor([voices[speaker]])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 213 |
|
| 214 |
|
| 215 |
def get_text(text):
|
|
|
|
| 222 |
|
| 223 |
gr.Info("Starting...", duration=0.5)
|
| 224 |
|
| 225 |
+
speaker = voice.lower()
|
| 226 |
speaker = speaker_text = speaker_attributes = speaker
|
| 227 |
|
| 228 |
n_takes = 1
|
|
|
|
| 338 |
)
|
| 339 |
voice = gr.Radio(
|
| 340 |
label="Voice",
|
| 341 |
+
choices=[voice.title() for voice in voices.keys()],
|
| 342 |
+
value="Tetiana",
|
| 343 |
)
|
| 344 |
|
| 345 |
gr.Button("Run").click(
|