@@ -241,15 +241,15 @@ def launcher(self):
241
241
layout = [
242
242
[
243
243
sg .Frame (
244
- title = i18n ("加载模型 " ),
244
+ title = i18n ("Load model " ),
245
245
layout = [
246
246
[
247
247
sg .Input (
248
248
default_text = data .get ("pth_path" , "" ),
249
249
key = "pth_path" ,
250
250
),
251
251
sg .FileBrowse (
252
- i18n ("选择.pth文件 " ),
252
+ i18n ("Select the .pth file " ),
253
253
initial_folder = os .path .join (
254
254
os .getcwd (), "assets/weights"
255
255
),
@@ -262,7 +262,7 @@ def launcher(self):
262
262
key = "index_path" ,
263
263
),
264
264
sg .FileBrowse (
265
- i18n ("选择.index文件 " ),
265
+ i18n ("Select the .index file " ),
266
266
initial_folder = os .path .join (os .getcwd (), "logs" ),
267
267
file_types = [("Index File" , "*.index" )],
268
268
),
@@ -274,7 +274,7 @@ def launcher(self):
274
274
sg .Frame (
275
275
layout = [
276
276
[
277
- sg .Text (i18n ("设备类型 " )),
277
+ sg .Text (i18n ("Device type " )),
278
278
sg .Combo (
279
279
self .hostapis ,
280
280
key = "sg_hostapi" ,
@@ -283,14 +283,14 @@ def launcher(self):
283
283
size = (20 , 1 ),
284
284
),
285
285
sg .Checkbox (
286
- i18n ("独占 WASAPI 设备 " ),
286
+ i18n ("Takeover WASAPI device " ),
287
287
key = "sg_wasapi_exclusive" ,
288
288
default = data .get ("sg_wasapi_exclusive" , False ),
289
289
enable_events = True ,
290
290
),
291
291
],
292
292
[
293
- sg .Text (i18n ("输入设备 " )),
293
+ sg .Text (i18n ("Input device " )),
294
294
sg .Combo (
295
295
self .input_devices ,
296
296
key = "sg_input_device" ,
@@ -300,7 +300,7 @@ def launcher(self):
300
300
),
301
301
],
302
302
[
303
- sg .Text (i18n ("输出设备 " )),
303
+ sg .Text (i18n ("Output device " )),
304
304
sg .Combo (
305
305
self .output_devices ,
306
306
key = "sg_output_device" ,
@@ -310,33 +310,35 @@ def launcher(self):
310
310
),
311
311
],
312
312
[
313
- sg .Button (i18n ("重载设备列表" ), key = "reload_devices" ),
313
+ sg .Button (
314
+ i18n ("Reload device list" ), key = "reload_devices"
315
+ ),
314
316
sg .Radio (
315
- i18n ("使用模型采样率 " ),
317
+ i18n ("Choose sample rate of the model " ),
316
318
"sr_type" ,
317
319
key = "sr_model" ,
318
320
default = data .get ("sr_model" , True ),
319
321
enable_events = True ,
320
322
),
321
323
sg .Radio (
322
- i18n ("使用设备采样率 " ),
324
+ i18n ("Choose sample rate of the device " ),
323
325
"sr_type" ,
324
326
key = "sr_device" ,
325
327
default = data .get ("sr_device" , False ),
326
328
enable_events = True ,
327
329
),
328
- sg .Text (i18n ("采样率 " )),
330
+ sg .Text (i18n ("Sampling rate " )),
329
331
sg .Text ("" , key = "sr_stream" ),
330
332
],
331
333
],
332
- title = i18n ("音频设备 " ),
334
+ title = i18n ("Audio device " ),
333
335
)
334
336
],
335
337
[
336
338
sg .Frame (
337
339
layout = [
338
340
[
339
- sg .Text (i18n ("响应阈值 " )),
341
+ sg .Text (i18n ("Response threshold " )),
340
342
sg .Slider (
341
343
range = (- 60 , 0 ),
342
344
key = "threhold" ,
@@ -347,7 +349,7 @@ def launcher(self):
347
349
),
348
350
],
349
351
[
350
- sg .Text (i18n ("音调设置 " )),
352
+ sg .Text (i18n ("Pitch settings " )),
351
353
sg .Slider (
352
354
range = (- 24 , 24 ),
353
355
key = "pitch" ,
@@ -358,7 +360,7 @@ def launcher(self):
358
360
),
359
361
],
360
362
[
361
- sg .Text (i18n ("共振偏移 " )),
363
+ sg .Text (i18n ("Formant offset " )),
362
364
sg .Slider (
363
365
range = (- 5 , 5 ),
364
366
key = "formant" ,
@@ -369,7 +371,11 @@ def launcher(self):
369
371
),
370
372
],
371
373
[
372
- sg .Text (i18n ("检索特征占比" )),
374
+ sg .Text (
375
+ i18n (
376
+ "Search feature ratio (controls accent strength, too high has artifacting)"
377
+ )
378
+ ),
373
379
sg .Slider (
374
380
range = (0.0 , 1.0 ),
375
381
key = "index_rate" ,
@@ -380,7 +386,7 @@ def launcher(self):
380
386
),
381
387
],
382
388
[
383
- sg .Text (i18n ("响度因子 " )),
389
+ sg .Text (i18n ("Loudness factor " )),
384
390
sg .Slider (
385
391
range = (0.0 , 1.0 ),
386
392
key = "rms_mix_rate" ,
@@ -391,7 +397,7 @@ def launcher(self):
391
397
),
392
398
],
393
399
[
394
- sg .Text (i18n ("音高算法 " )),
400
+ sg .Text (i18n ("Pitch detection algorithm " )),
395
401
sg .Radio (
396
402
"pm" ,
397
403
"f0method" ,
@@ -429,12 +435,12 @@ def launcher(self):
429
435
),
430
436
],
431
437
],
432
- title = i18n ("常规设置 " ),
438
+ title = i18n ("General settings " ),
433
439
),
434
440
sg .Frame (
435
441
layout = [
436
442
[
437
- sg .Text (i18n ("采样长度 " )),
443
+ sg .Text (i18n ("Sample length " )),
438
444
sg .Slider (
439
445
range = (0.02 , 1.5 ),
440
446
key = "block_time" ,
@@ -456,7 +462,11 @@ def launcher(self):
456
462
# ),
457
463
# ],
458
464
[
459
- sg .Text (i18n ("harvest进程数" )),
465
+ sg .Text (
466
+ i18n (
467
+ "Number of CPU processes used for harvest pitch algorithm"
468
+ )
469
+ ),
460
470
sg .Slider (
461
471
range = (1 , n_cpu ),
462
472
key = "n_cpu" ,
@@ -469,7 +479,7 @@ def launcher(self):
469
479
),
470
480
],
471
481
[
472
- sg .Text (i18n ("淡入淡出长度 " )),
482
+ sg .Text (i18n ("Fade length " )),
473
483
sg .Slider (
474
484
range = (0.01 , 0.15 ),
475
485
key = "crossfade_length" ,
@@ -480,7 +490,7 @@ def launcher(self):
480
490
),
481
491
],
482
492
[
483
- sg .Text (i18n ("额外推理时长 " )),
493
+ sg .Text (i18n ("Extra inference time " )),
484
494
sg .Slider (
485
495
range = (0.05 , 5.00 ),
486
496
key = "extra_time" ,
@@ -492,17 +502,17 @@ def launcher(self):
492
502
],
493
503
[
494
504
sg .Checkbox (
495
- i18n ("输入降噪 " ),
505
+ i18n ("Input noise reduction " ),
496
506
key = "I_noise_reduce" ,
497
507
enable_events = True ,
498
508
),
499
509
sg .Checkbox (
500
- i18n ("输出降噪 " ),
510
+ i18n ("Output noise reduction " ),
501
511
key = "O_noise_reduce" ,
502
512
enable_events = True ,
503
513
),
504
514
sg .Checkbox (
505
- i18n ("启用相位声码器 " ),
515
+ i18n ("Enable phase vocoder " ),
506
516
key = "use_pv" ,
507
517
default = data .get ("use_pv" , False ),
508
518
enable_events = True ,
@@ -516,29 +526,29 @@ def launcher(self):
516
526
],
517
527
# [sg.Text("注:首次使用JIT加速时,会出现卡顿,\n 并伴随一些噪音,但这是正常现象!")],
518
528
],
519
- title = i18n ("性能设置 " ),
529
+ title = i18n ("Performance settings " ),
520
530
),
521
531
],
522
532
[
523
- sg .Button (i18n ("开始音频转换 " ), key = "start_vc" ),
524
- sg .Button (i18n ("停止音频转换 " ), key = "stop_vc" ),
533
+ sg .Button (i18n ("Start audio conversion " ), key = "start_vc" ),
534
+ sg .Button (i18n ("Stop audio conversion " ), key = "stop_vc" ),
525
535
sg .Radio (
526
- i18n ("输入监听 " ),
536
+ i18n ("Input voice monitor " ),
527
537
"function" ,
528
538
key = "im" ,
529
539
default = False ,
530
540
enable_events = True ,
531
541
),
532
542
sg .Radio (
533
- i18n ("输出变声 " ),
543
+ i18n ("Output converted voice " ),
534
544
"function" ,
535
545
key = "vc" ,
536
546
default = True ,
537
547
enable_events = True ,
538
548
),
539
- sg .Text (i18n ("算法延迟 (ms)" )),
549
+ sg .Text (i18n ("Algorithmic delays (ms)" )),
540
550
sg .Text ("0" , key = "delay_time" ),
541
- sg .Text (i18n ("推理时间 (ms)" )),
551
+ sg .Text (i18n ("Inference time (ms)" )),
542
552
sg .Text ("0" , key = "infer_time" ),
543
553
],
544
554
]
@@ -669,17 +679,17 @@ def event_handler(self):
669
679
670
680
def set_values (self , values ):
671
681
if len (values ["pth_path" ].strip ()) == 0 :
672
- sg .popup (i18n ("请选择pth文件 " ))
682
+ sg .popup (i18n ("Please choose the .pth file " ))
673
683
return False
674
684
if len (values ["index_path" ].strip ()) == 0 :
675
- sg .popup (i18n ("请选择index文件 " ))
685
+ sg .popup (i18n ("Please choose the .index file " ))
676
686
return False
677
687
pattern = re .compile ("[^\x00 -\x7F ]+" )
678
688
if pattern .findall (values ["pth_path" ]):
679
- sg .popup (i18n ("pth文件路径不可包含中文 " ))
689
+ sg .popup (i18n ("pth path cannot contain unicode characters " ))
680
690
return False
681
691
if pattern .findall (values ["index_path" ]):
682
- sg .popup (i18n ("index文件路径不可包含中文 " ))
692
+ sg .popup (i18n ("index path cannot contain unicode characters " ))
683
693
return False
684
694
self .set_devices (values ["sg_input_device" ], values ["sg_output_device" ])
685
695
self .config .use_jit = False # values["use_jit"]
0 commit comments