Staticaliza commited on
Commit
2708d4a
·
verified ·
1 Parent(s): 24cdd02

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -6
app.py CHANGED
@@ -1,6 +1,7 @@
1
  # Imports
2
  import gradio as gr
3
  import spaces
 
4
 
5
  from kokoro import KModel, KPipeline
6
 
@@ -10,6 +11,8 @@ if DEVICE == "auto":
10
  DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
11
  print(f"[SYSTEM] | Using {DEVICE} type compute device.")
12
 
 
 
13
  # Variables
14
  CHAR_LIMIT = 2000
15
 
@@ -51,10 +54,12 @@ PIPELINES = {lang: KPipeline(lang_code=lang, model=False) for lang in "ab"}
51
  PIPELINES["a"].g2p.lexicon.golds["kokoro"] = "kˈOkəɹO"
52
  PIPELINES["b"].g2p.lexicon.golds["kokoro"] = "kˈQkəɹQ"
53
 
 
54
  for v in CHOICES.values():
55
- PIPELINES[v[0]].load_voice(v)
56
-
57
- MODEL = KModel().eval()
 
58
 
59
  css = '''
60
  .gradio-container{max-width: 560px !important}
@@ -66,10 +71,10 @@ footer {
66
 
67
  # Functions
68
  def generate(text=DEFAULT_INPUT, voice=DEFAULT_VOICE, speed=1):
69
- text = text.strip()[:CHAR_LIMIT] + "."
70
  pipeline = PIPELINES[voice[0]]
71
- pack = pipeline.load_voice(voice)
72
-
73
  for _, ps, _ in pipeline(text, voice, speed):
74
  ref_s = pack[len(ps) - 1]
75
  audio = MODEL(ps, ref_s, speed)
 
1
  # Imports
2
  import gradio as gr
3
  import spaces
4
+ import torch
5
 
6
  from kokoro import KModel, KPipeline
7
 
 
11
  DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
12
  print(f"[SYSTEM] | Using {DEVICE} type compute device.")
13
 
14
+ torch.set_num_threads(4)
15
+
16
  # Variables
17
  CHAR_LIMIT = 2000
18
 
 
54
  PIPELINES["a"].g2p.lexicon.golds["kokoro"] = "kˈOkəɹO"
55
  PIPELINES["b"].g2p.lexicon.golds["kokoro"] = "kˈQkəɹQ"
56
 
57
+ VOICE_PACKS = {}
58
  for v in CHOICES.values():
59
+ VOICE_PACKS[v] = PIPELINES[v[0]].load_voice(v)
60
+
61
+ model_instance = KModel().to(DEVICE).eval()
62
+ MODEL = torch.jit.script(model_instance)
63
 
64
  css = '''
65
  .gradio-container{max-width: 560px !important}
 
71
 
72
  # Functions
73
  def generate(text=DEFAULT_INPUT, voice=DEFAULT_VOICE, speed=1):
74
+ text = text.strip()[:CHAR_LIMIT] + "."
75
  pipeline = PIPELINES[voice[0]]
76
+ pack = VOICE_PACKS[voice]
77
+
78
  for _, ps, _ in pipeline(text, voice, speed):
79
  ref_s = pack[len(ps) - 1]
80
  audio = MODEL(ps, ref_s, speed)