Yurii Paniv commited on
Commit
3502c7a
1 Parent(s): 450d18c

Release 3.0.0

Browse files
Files changed (4) hide show
  1. README.md +4 -2
  2. app.py +22 -18
  3. config.json +29 -31
  4. requirements.txt +3 -1
README.md CHANGED
@@ -4,6 +4,8 @@ emoji: 🐌
4
  colorFrom: blue
5
  colorTo: yellow
6
  sdk: gradio
 
 
7
  app_file: app.py
8
  pinned: false
9
  ---
@@ -15,7 +17,7 @@ Link to online demo -> [https://huggingface.co/spaces/robinhad/ukrainian-tts](ht
15
 
16
  Code is licensed under `MIT License`, models are under `GNU GPL v3 License`.
17
  # Support
18
- If you like my work, please support -> ![mono](https://www.monobank.ua/favicon.ico) [SUPPORT LINK](https://send.monobank.ua/jar/48iHq4xAXm)
19
  # Example
20
 
21
  `Mykyta (male)`:
@@ -50,6 +52,6 @@ tts-server --model_path path/to/model.pth \
50
  # Attribution 🤝
51
 
52
  - Model training - [Yurii Paniv @robinhad](https://github.com/robinhad)
53
- - Mykyta and Olena dataset - [Yehor Smoliakov @egorsmkv](https://github.com/egorsmkv)
54
  - Autostress (with dictionary) using [ukrainian-word-stress](https://github.com/lang-uk/ukrainian-word-stress) - [Oleksiy Syvokon @asivokon](https://github.com/asivokon)
55
  - 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)
 
4
  colorFrom: blue
5
  colorTo: yellow
6
  sdk: gradio
7
+ sdk_version : 3.3
8
+ python_version: 3.9
9
  app_file: app.py
10
  pinned: false
11
  ---
 
17
 
18
  Code is licensed under `MIT License`, models are under `GNU GPL v3 License`.
19
  # Support
20
+ If you like my work, please support -> [https://send.monobank.ua/jar/48iHq4xAXm](https://send.monobank.ua/jar/48iHq4xAXm)
21
  # Example
22
 
23
  `Mykyta (male)`:
 
52
  # Attribution 🤝
53
 
54
  - Model training - [Yurii Paniv @robinhad](https://github.com/robinhad)
55
+ - Mykyta, Olena and Lada dataset - [Yehor Smoliakov @egorsmkv](https://github.com/egorsmkv)
56
  - Autostress (with dictionary) using [ukrainian-word-stress](https://github.com/lang-uk/ukrainian-word-stress) - [Oleksiy Syvokon @asivokon](https://github.com/asivokon)
57
  - 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)
app.py CHANGED
@@ -17,8 +17,9 @@ class StressOption(Enum):
17
 
18
 
19
  class VoiceOption(Enum):
20
- FemaleVoice = "Олена (жіночий) 👩"
21
- MaleVoice = "Микита (чоловічий) 👨"
 
22
 
23
 
24
  def download(url, file_name):
@@ -32,7 +33,7 @@ def download(url, file_name):
32
 
33
 
34
  print("downloading uk/mykyta/vits-tts")
35
- release_number = "v2.0.0"
36
  model_link = f"https://github.com/robinhad/ukrainian-tts/releases/download/{release_number}/model-inference.pth"
37
  config_link = f"https://github.com/robinhad/ukrainian-tts/releases/download/{release_number}/config.json"
38
  speakers_link = f"https://github.com/robinhad/ukrainian-tts/releases/download/{release_number}/speakers.pth"
@@ -70,7 +71,11 @@ def tts(text: str, voice: str, stress: str):
70
  autostress_with_model = (
71
  True if stress == StressOption.AutomaticStressWithModel.value else False
72
  )
73
- speaker_name = "male1" if voice == VoiceOption.MaleVoice.value else "female3"
 
 
 
 
74
  text = preprocess_text(text, autostress_with_model)
75
  text_limit = 7200
76
  text = (
@@ -85,6 +90,11 @@ def tts(text: str, voice: str, stress: str):
85
  return fp.name, text
86
 
87
 
 
 
 
 
 
88
  iface = gr.Interface(
89
  fn=tts,
90
  inputs=[
@@ -95,7 +105,7 @@ iface = gr.Interface(
95
  gr.inputs.Radio(
96
  label="Голос",
97
  choices=[option.value for option in VoiceOption],
98
- default=VoiceOption.FemaleVoice.value,
99
  ),
100
  gr.inputs.Radio(
101
  label="Наголоси",
@@ -108,39 +118,33 @@ iface = gr.Interface(
108
  ],
109
  title="🐸💬🇺🇦 - Coqui TTS",
110
  description="Україномовний🇺🇦 TTS за допомогою Coqui TTS (щоб вручну поставити наголос, використовуйте + перед голосною)",
111
- article="Якщо вам подобається, підтримайте за посиланням: [SUPPORT LINK](https://send.monobank.ua/jar/48iHq4xAXm), "
112
- + "Github: [https://github.com/robinhad/ukrainian-tts](https://github.com/robinhad/ukrainian-tts) \n"
113
- + "Model training - [Yurii Paniv @robinhad](https://github.com/robinhad) \n"
114
- + "Mykyta and Olena dataset - [Yehor Smoliakov @egorsmkv](https://github.com/egorsmkv) \n"
115
- + "Autostress (with dictionary) using [ukrainian-word-stress](https://github.com/lang-uk/ukrainian-word-stress) - [Oleksiy Syvokon @asivokon](https://github.com/asivokon) \n"
116
- + "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"
117
- + f'<center><img src="{badge}" alt="visitors badge"/></center>',
118
  examples=[
119
  [
120
  "Введіть, будь ласка, своє речення.",
121
- VoiceOption.FemaleVoice.value,
122
  StressOption.AutomaticStress.value,
123
  ],
124
  [
125
  "Введіть, будь ласка, своє речення.",
126
- VoiceOption.MaleVoice.value,
127
  StressOption.AutomaticStress.value,
128
  ],
129
  [
130
  "Вв+едіть, будь ласка, св+оє реч+ення.",
131
- VoiceOption.MaleVoice.value,
132
  StressOption.AutomaticStress.value,
133
  ],
134
  [
135
  "Привіт, як тебе звати?",
136
- VoiceOption.FemaleVoice.value,
137
  StressOption.AutomaticStress.value,
138
  ],
139
  [
140
  "Договір підписано 4 квітня 1949 року.",
141
- VoiceOption.FemaleVoice.value,
142
  StressOption.AutomaticStress.value,
143
  ],
144
  ],
145
  )
146
- iface.launch(enable_queue=True, prevent_thread_lock=True)
 
17
 
18
 
19
  class VoiceOption(Enum):
20
+ Olena = "Олена (жіночий) 👩"
21
+ Mykyta = "Микита (чоловічий) 👨"
22
+ Lada = "Лада (жіночий) 👩"
23
 
24
 
25
  def download(url, file_name):
 
33
 
34
 
35
  print("downloading uk/mykyta/vits-tts")
36
+ release_number = "v3.0.0-alpha"
37
  model_link = f"https://github.com/robinhad/ukrainian-tts/releases/download/{release_number}/model-inference.pth"
38
  config_link = f"https://github.com/robinhad/ukrainian-tts/releases/download/{release_number}/config.json"
39
  speakers_link = f"https://github.com/robinhad/ukrainian-tts/releases/download/{release_number}/speakers.pth"
 
71
  autostress_with_model = (
72
  True if stress == StressOption.AutomaticStressWithModel.value else False
73
  )
74
+ speaker_name = "mykyta"
75
+ if voice == VoiceOption.Olena.value:
76
+ speaker_name = "olena"
77
+ elif voice == VoiceOption.Lada.value:
78
+ speaker_name = "lada"
79
  text = preprocess_text(text, autostress_with_model)
80
  text_limit = 7200
81
  text = (
 
90
  return fp.name, text
91
 
92
 
93
+ with open("README.md") as file:
94
+ article = file.read()
95
+ article = article[article.find("---\n", 4) + 5::]
96
+
97
+
98
  iface = gr.Interface(
99
  fn=tts,
100
  inputs=[
 
105
  gr.inputs.Radio(
106
  label="Голос",
107
  choices=[option.value for option in VoiceOption],
108
+ default=VoiceOption.Olena.value,
109
  ),
110
  gr.inputs.Radio(
111
  label="Наголоси",
 
118
  ],
119
  title="🐸💬🇺🇦 - Coqui TTS",
120
  description="Україномовний🇺🇦 TTS за допомогою Coqui TTS (щоб вручну поставити наголос, використовуйте + перед голосною)",
121
+ article=article + f'\n <center><img src="{badge}" alt="visitors badge"/></center>',
 
 
 
 
 
 
122
  examples=[
123
  [
124
  "Введіть, будь ласка, своє речення.",
125
+ VoiceOption.Olena.value,
126
  StressOption.AutomaticStress.value,
127
  ],
128
  [
129
  "Введіть, будь ласка, своє речення.",
130
+ VoiceOption.Mykyta.value,
131
  StressOption.AutomaticStress.value,
132
  ],
133
  [
134
  "Вв+едіть, будь ласка, св+оє реч+ення.",
135
+ VoiceOption.Mykyta.value,
136
  StressOption.AutomaticStress.value,
137
  ],
138
  [
139
  "Привіт, як тебе звати?",
140
+ VoiceOption.Olena.value,
141
  StressOption.AutomaticStress.value,
142
  ],
143
  [
144
  "Договір підписано 4 квітня 1949 року.",
145
+ VoiceOption.Lada.value,
146
  StressOption.AutomaticStress.value,
147
  ],
148
  ],
149
  )
150
+ iface.launch(enable_queue=True)
config.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "output_path": "/home/robinhad/Projects/TTS",
3
  "logger_uri": null,
4
- "run_name": "vits_mykyta_woman",
5
  "project_name": null,
6
  "run_description": "\ud83d\udc38Coqui trainer run.",
7
  "print_step": 25,
@@ -9,8 +9,8 @@
9
  "model_param_stats": false,
10
  "wandb_entity": null,
11
  "dashboard_logger": "tensorboard",
12
- "log_model_step": 10000,
13
- "save_step": 10000,
14
  "save_n_checkpoints": 5,
15
  "save_checkpoints": true,
16
  "save_all_best": false,
@@ -19,15 +19,16 @@
19
  "print_eval": false,
20
  "test_delay_epochs": -1,
21
  "run_eval": true,
 
22
  "distributed_backend": "nccl",
23
  "distributed_url": "tcp://localhost:54321",
24
  "mixed_precision": true,
25
- "epochs": 1000,
26
- "batch_size": 32,
27
  "eval_batch_size": 16,
28
  "grad_clip": [
29
- 1000.0,
30
- 1000.0
31
  ],
32
  "scheduler_after_epoch": true,
33
  "lr": 0.001,
@@ -45,11 +46,11 @@
45
  "use_grad_scaler": false,
46
  "cudnn_enable": true,
47
  "cudnn_deterministic": false,
48
- "cudnn_benchmark": true,
49
  "training_seed": 54321,
50
  "model": "vits",
51
- "num_loader_workers": 8,
52
- "num_eval_loader_workers": 8,
53
  "use_noise_augment": false,
54
  "audio": {
55
  "fft_size": 1024,
@@ -60,20 +61,20 @@
60
  "stft_pad_mode": "reflect",
61
  "sample_rate": 22050,
62
  "resample": false,
63
- "preemphasis": 0.0,
64
  "ref_level_db": 35,
65
  "do_sound_norm": true,
66
  "log_func": "np.log",
67
  "do_trim_silence": false,
68
  "trim_db": 35,
69
  "do_rms_norm": false,
70
- "db_level": null,
71
  "power": 1.1,
72
  "griffin_lim_iters": 60,
73
  "num_mels": 80,
74
- "mel_fmin": 0.0,
75
- "mel_fmax": 8000.0,
76
- "spec_gain": 6,
77
  "do_amp_to_db_linear": true,
78
  "do_amp_to_db_mel": true,
79
  "pitch_fmax": 640.0,
@@ -110,23 +111,20 @@
110
  "batch_group_size": 0,
111
  "loss_masking": null,
112
  "sort_by_audio_len": true,
113
- "min_audio_len": 1,
114
  "max_audio_len": 264600,
115
  "min_text_len": 1,
116
  "max_text_len": Infinity,
117
  "compute_f0": false,
118
  "compute_linear_spec": true,
119
- "precompute_num_workers": 8,
120
  "start_by_longest": false,
121
  "datasets": [
122
  {
123
  "name": "mailabs",
124
- "path": "./mailabs-processed",
125
  "meta_file_train": "",
126
- "ignored_speakers": [
127
- "female1",
128
- "female2"
129
- ],
130
  "language": "",
131
  "meta_file_val": "",
132
  "meta_file_attn_mask": ""
@@ -135,7 +133,7 @@
135
  "test_sentences": [
136
  [
137
  "\u0414+\u0435\u0441\u044f\u0442\u044c \u0440\u0430\u0437+\u0456\u0432 \u0432\u0456\u0434\u043c+\u0456\u0440\u044f\u0439, +\u0430 \u0440+\u0430\u0437 - \u0432\u0456\u0434\u0440+\u0456\u0436.",
138
- "female3",
139
  null,
140
  null
141
  ],
@@ -144,25 +142,25 @@
144
  ],
145
  [
146
  "\u041f\u0435\u0440\u0435\u043f\u0440+\u043e\u0448\u0443\u044e, \u0414+\u0435\u0439\u0432\u0435, \u043d+\u0430 \u0436+\u0430\u043b\u044c, +\u044f \u043d+\u0435 \u043c+\u043e\u0436\u0443 \u0437\u0440\u043e\u0431+\u0438\u0442\u0438 \u0446+\u0435.",
147
- "female3",
148
  null,
149
  null
150
  ],
151
  [
152
  "\u041f\u0435\u0440\u0435\u043f\u0440+\u043e\u0448\u0443\u044e, \u0414+\u0435\u0439\u0432\u0435, \u043d+\u0430 \u0436+\u0430\u043b\u044c, +\u044f \u043d+\u0435 \u043c+\u043e\u0436\u0443 \u0437\u0440\u043e\u0431+\u0438\u0442\u0438 \u0446+\u0435.",
153
- "male1",
154
  null,
155
  null
156
  ],
157
  [
158
  "\u0425\u0442+\u043e \u0442+\u0438 \u0442\u0430\u043a+\u0438\u0439 +\u0456 +\u044f\u043a \u0442\u0435\u0431+\u0435 \u0437\u0432+\u0430\u0442\u0438?",
159
- "male1",
160
  null,
161
  null
162
  ],
163
  [
164
  "\u041a\u0430\u043c'\u044f\u043d+\u0435\u0446\u044c-\u041f\u043e\u0434+\u0456\u043b\u044c\u0441\u044c\u043a\u0438\u0439 - \u043c+\u0456\u0441\u0442\u043e \u0432 \u0425\u043c\u0435\u043b\u044c\u043d+\u0438\u0446\u044c\u043a\u0456\u0439 +\u043e\u0431\u043b\u0430\u0441\u0442\u0456 \u0423\u043a\u0440\u0430+\u0457\u043d\u0438, \u0446+\u0435\u043d\u0442\u0440 \u041a\u0430\u043c'\u044f\u043d+\u0435\u0446\u044c-\u041f\u043e\u0434+\u0456\u043b\u044c\u0441\u044c\u043a\u043e\u0457 \u043c\u0456\u0441\u044c\u043a+\u043e\u0457 \u043e\u0431'+\u0454\u0434\u043d\u0430\u043d\u043e\u0457 \u0442\u0435\u0440\u0438\u0442\u043e\u0440\u0456+\u0430\u043b\u044c\u043d\u043e\u0457 \u0433\u0440\u043e\u043c+\u0430\u0434\u0438 +\u0456 \u041a\u0430\u043c'\u044f\u043d+\u0435\u0446\u044c-\u041f\u043e\u0434+\u0456\u043b\u044c\u0441\u044c\u043a\u043e\u0433\u043e \u0440\u0430\u0439+\u043e\u043d\u0443.",
165
- "female3",
166
  null,
167
  null
168
  ]
@@ -238,15 +236,15 @@
238
  "use_sdp": true,
239
  "noise_scale": 1.0,
240
  "inference_noise_scale": 0.667,
241
- "length_scale": 1.0,
242
  "noise_scale_dp": 1.0,
243
  "inference_noise_scale_dp": 1.0,
244
  "max_inference_len": null,
245
  "init_discriminator": true,
246
  "use_spectral_norm_disriminator": false,
247
  "use_speaker_embedding": true,
248
- "num_speakers": 2,
249
- "speakers_file": "./speakers.pth",
250
  "d_vector_file": null,
251
  "speaker_embedding_channels": 256,
252
  "use_d_vector_file": false,
@@ -293,7 +291,7 @@
293
  "r": 1,
294
  "num_speakers": 0,
295
  "use_speaker_embedding": true,
296
- "speakers_file": "./speakers.pth",
297
  "speaker_embedding_channels": 256,
298
  "language_ids_file": null,
299
  "use_language_embedding": false,
 
1
  {
2
  "output_path": "/home/robinhad/Projects/TTS",
3
  "logger_uri": null,
4
+ "run_name": "vits_mykyta_latest",
5
  "project_name": null,
6
  "run_description": "\ud83d\udc38Coqui trainer run.",
7
  "print_step": 25,
 
9
  "model_param_stats": false,
10
  "wandb_entity": null,
11
  "dashboard_logger": "tensorboard",
12
+ "log_model_step": 5000,
13
+ "save_step": 5000,
14
  "save_n_checkpoints": 5,
15
  "save_checkpoints": true,
16
  "save_all_best": false,
 
19
  "print_eval": false,
20
  "test_delay_epochs": -1,
21
  "run_eval": true,
22
+ "run_eval_steps": null,
23
  "distributed_backend": "nccl",
24
  "distributed_url": "tcp://localhost:54321",
25
  "mixed_precision": true,
26
+ "epochs": 1500,
27
+ "batch_size": 64,
28
  "eval_batch_size": 16,
29
  "grad_clip": [
30
+ 1000,
31
+ 1000
32
  ],
33
  "scheduler_after_epoch": true,
34
  "lr": 0.001,
 
46
  "use_grad_scaler": false,
47
  "cudnn_enable": true,
48
  "cudnn_deterministic": false,
49
+ "cudnn_benchmark": false,
50
  "training_seed": 54321,
51
  "model": "vits",
52
+ "num_loader_workers": 12,
53
+ "num_eval_loader_workers": 12,
54
  "use_noise_augment": false,
55
  "audio": {
56
  "fft_size": 1024,
 
61
  "stft_pad_mode": "reflect",
62
  "sample_rate": 22050,
63
  "resample": false,
64
+ "preemphasis": 0,
65
  "ref_level_db": 35,
66
  "do_sound_norm": true,
67
  "log_func": "np.log",
68
  "do_trim_silence": false,
69
  "trim_db": 35,
70
  "do_rms_norm": false,
71
+ "db_level": -24,
72
  "power": 1.1,
73
  "griffin_lim_iters": 60,
74
  "num_mels": 80,
75
+ "mel_fmin": 0,
76
+ "mel_fmax": 8000,
77
+ "spec_gain": 6.0,
78
  "do_amp_to_db_linear": true,
79
  "do_amp_to_db_mel": true,
80
  "pitch_fmax": 640.0,
 
111
  "batch_group_size": 0,
112
  "loss_masking": null,
113
  "sort_by_audio_len": true,
114
+ "min_audio_len": 32768,
115
  "max_audio_len": 264600,
116
  "min_text_len": 1,
117
  "max_text_len": Infinity,
118
  "compute_f0": false,
119
  "compute_linear_spec": true,
120
+ "precompute_num_workers": 16,
121
  "start_by_longest": false,
122
  "datasets": [
123
  {
124
  "name": "mailabs",
125
+ "path": "/home/robinhad/Data/Audio/ukr-tts-dataset-mai",
126
  "meta_file_train": "",
127
+ "ignored_speakers": null,
 
 
 
128
  "language": "",
129
  "meta_file_val": "",
130
  "meta_file_attn_mask": ""
 
133
  "test_sentences": [
134
  [
135
  "\u0414+\u0435\u0441\u044f\u0442\u044c \u0440\u0430\u0437+\u0456\u0432 \u0432\u0456\u0434\u043c+\u0456\u0440\u044f\u0439, +\u0430 \u0440+\u0430\u0437 - \u0432\u0456\u0434\u0440+\u0456\u0436.",
136
+ "olena",
137
  null,
138
  null
139
  ],
 
142
  ],
143
  [
144
  "\u041f\u0435\u0440\u0435\u043f\u0440+\u043e\u0448\u0443\u044e, \u0414+\u0435\u0439\u0432\u0435, \u043d+\u0430 \u0436+\u0430\u043b\u044c, +\u044f \u043d+\u0435 \u043c+\u043e\u0436\u0443 \u0437\u0440\u043e\u0431+\u0438\u0442\u0438 \u0446+\u0435.",
145
+ "lada",
146
  null,
147
  null
148
  ],
149
  [
150
  "\u041f\u0435\u0440\u0435\u043f\u0440+\u043e\u0448\u0443\u044e, \u0414+\u0435\u0439\u0432\u0435, \u043d+\u0430 \u0436+\u0430\u043b\u044c, +\u044f \u043d+\u0435 \u043c+\u043e\u0436\u0443 \u0437\u0440\u043e\u0431+\u0438\u0442\u0438 \u0446+\u0435.",
151
+ "mykyta",
152
  null,
153
  null
154
  ],
155
  [
156
  "\u0425\u0442+\u043e \u0442+\u0438 \u0442\u0430\u043a+\u0438\u0439 +\u0456 +\u044f\u043a \u0442\u0435\u0431+\u0435 \u0437\u0432+\u0430\u0442\u0438?",
157
+ "mykyta",
158
  null,
159
  null
160
  ],
161
  [
162
  "\u041a\u0430\u043c'\u044f\u043d+\u0435\u0446\u044c-\u041f\u043e\u0434+\u0456\u043b\u044c\u0441\u044c\u043a\u0438\u0439 - \u043c+\u0456\u0441\u0442\u043e \u0432 \u0425\u043c\u0435\u043b\u044c\u043d+\u0438\u0446\u044c\u043a\u0456\u0439 +\u043e\u0431\u043b\u0430\u0441\u0442\u0456 \u0423\u043a\u0440\u0430+\u0457\u043d\u0438, \u0446+\u0435\u043d\u0442\u0440 \u041a\u0430\u043c'\u044f\u043d+\u0435\u0446\u044c-\u041f\u043e\u0434+\u0456\u043b\u044c\u0441\u044c\u043a\u043e\u0457 \u043c\u0456\u0441\u044c\u043a+\u043e\u0457 \u043e\u0431'+\u0454\u0434\u043d\u0430\u043d\u043e\u0457 \u0442\u0435\u0440\u0438\u0442\u043e\u0440\u0456+\u0430\u043b\u044c\u043d\u043e\u0457 \u0433\u0440\u043e\u043c+\u0430\u0434\u0438 +\u0456 \u041a\u0430\u043c'\u044f\u043d+\u0435\u0446\u044c-\u041f\u043e\u0434+\u0456\u043b\u044c\u0441\u044c\u043a\u043e\u0433\u043e \u0440\u0430\u0439+\u043e\u043d\u0443.",
163
+ "lada",
164
  null,
165
  null
166
  ]
 
236
  "use_sdp": true,
237
  "noise_scale": 1.0,
238
  "inference_noise_scale": 0.667,
239
+ "length_scale": 1,
240
  "noise_scale_dp": 1.0,
241
  "inference_noise_scale_dp": 1.0,
242
  "max_inference_len": null,
243
  "init_discriminator": true,
244
  "use_spectral_norm_disriminator": false,
245
  "use_speaker_embedding": true,
246
+ "num_speakers": 3,
247
+ "speakers_file": "speakers.pth",
248
  "d_vector_file": null,
249
  "speaker_embedding_channels": 256,
250
  "use_d_vector_file": false,
 
291
  "r": 1,
292
  "num_speakers": 0,
293
  "use_speaker_embedding": true,
294
+ "speakers_file": "speakers.pth",
295
  "speaker_embedding_channels": 256,
296
  "language_ids_file": null,
297
  "use_language_embedding": false,
requirements.txt CHANGED
@@ -1,3 +1,5 @@
1
- TTS==0.7.1
 
 
2
  ukrainian-word-stress==1.0.1
3
  git+https://github.com/egorsmkv/ukrainian-accentor.git@5b7971c4e135e3ff3283336962e63fc0b1c80f4c
 
1
+ TTS==0.8.0
2
+ torch==1.12.1
3
+ --extra-index-url https://download.pytorch.org/whl/cu113
4
  ukrainian-word-stress==1.0.1
5
  git+https://github.com/egorsmkv/ukrainian-accentor.git@5b7971c4e135e3ff3283336962e63fc0b1c80f4c