Yehor commited on
Commit
89a2356
·
1 Parent(s): 9f6a687

Change format for voice selection

Browse files

Closes #2

Files changed (1) hide show
  1. app.py +13 -25
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
- class VoiceOption(Enum):
189
- Tetiana = "Tetiana (female) 👩"
190
- Mykyta = "Mykyta (male) 👨"
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
- VoiceOption.Mykyta.value,
205
  ],
206
  [
207
  "Пішов взяв сіна, дав корові. Пішов взяв сіна, дав бикові. Ячміню коняці насипав. Зайшов почистив корову, зайшов почистив бика, зайшов почистив коня, за яйця його мацнув.",
208
- VoiceOption.Lada.value,
209
  ],
210
  [
211
  "Кінь ногою здригнув, на хазяїна ласкавим оком подивився. Тоді дядько пішов відкрив курей, гусей, качок, повиносив їм зерна, огірків нарізаних, нагодував. Коли чує – з хати дружина кличе. Зайшов. Дітки повмивані, сидять за столом, всі чекають тата. Взяв він ложку, перехрестив дітей, перехрестив лоба, почали снідати. Поснідали, він дістав пряників, роздав дітям. Діти зібралися, пішли в школу. Дядько вийшов, сів на призьбі, взяв сапку, почав мантачити. Мантачив-мантачив, коли – жінка виходить. Він їй ту сапку дає, ласкаво за сраку вщипнув, жінка до нього лагідно всміхнулася, пішла на город – сапати. Коли – йде пастух і товар кличе в череду. Повідмикав дядько овечок, коровку, бика, коня, все відпустив. Сів попри хати, дістав табАку, відірвав шмат газети, насипав, наслинив собі гарну таку цигарку. Благодать божа – і сонечко вже здійнялося над деревами. Дядько встромив цигарку в рота, дістав сірники, тільки чиркати – коли раптом з хати: Доброе утро! Московское время – шесть часов утра! Витяг дядько цигарку с рота, сплюнув набік, і сам собі каже: Ана маєш. Прокинулись, бляді!",
212
- VoiceOption.Tetiana.value,
213
  ],
214
  ]
215
 
216
 
217
  def get_speaker_id(speaker):
218
- speaker_ids = {
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 = voice_mapping[voice]
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=[option.value for option in VoiceOption],
354
- value=VoiceOption.Tetiana.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(