AthanasiusRG commited on
Commit
0b260aa
ยท
verified ยท
1 Parent(s): a10e4f8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -6
app.py CHANGED
@@ -5,16 +5,33 @@ import tempfile
5
  from fastapi import FastAPI, UploadFile, File, Form, HTTPException
6
  from fastapi.responses import FileResponse
7
 
8
- # โ”€โ”€ Singleton : รฉvite le double chargement โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
9
- _cloner = None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
  def get_cloner():
 
12
  global _cloner
13
  if _cloner is None:
14
  from core.cloner import KokoClone
15
- print("Loading KokoClone models (once)...")
16
  _cloner = KokoClone()
17
- print("KokoClone ready.")
18
  return _cloner
19
 
20
 
@@ -111,7 +128,7 @@ with gr.Blocks() as demo:
111
  - ๐Ÿ‡ช๐Ÿ‡ธ๐Ÿ‡ฎ๐Ÿ‡น `im_nicola` โ€” voix masculine
112
  - ๐Ÿ‡ง๐Ÿ‡ท `pf_dora` โ€” Portugais brรฉsilien
113
 
114
- > Vitesse **0.7โ€“0.8** recommandรฉe pour les apprenants dรฉbutants.
115
  """
116
  )
117
  speak_btn.click(
@@ -177,7 +194,7 @@ with gr.Blocks() as demo:
177
  )
178
 
179
 
180
- # โ”€โ”€ FastAPI + Gradio โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
181
 
182
  app = gr.mount_gradio_app(FastAPI(), demo, path="/")
183
 
 
5
  from fastapi import FastAPI, UploadFile, File, Form, HTTPException
6
  from fastapi.responses import FileResponse
7
 
8
+ # โ”€โ”€ Singletons sรฉparรฉs โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
9
+ _kokoro = None # lรฉger, chargรฉ au premier /api/speak ou Simple TTS
10
+ _cloner = None # lourd (840MB), chargรฉ seulement si clone/convert demandรฉ
11
+
12
+ def get_kokoro():
13
+ """Charge uniquement Kokoro ONNX โ€” sans Kanade."""
14
+ global _kokoro
15
+ if _kokoro is None:
16
+ from core.cloner import KokoClone
17
+ print("[KokoOnly] Loading Kokoro TTS (no Kanade)...")
18
+ _kokoro = KokoClone.__new__(KokoClone)
19
+ # Init manuelle sans Kanade
20
+ import torch
21
+ _kokoro.device = torch.device("cpu")
22
+ _kokoro.kokoro_cache = {}
23
+ _kokoro.hf_repo = "PatnaikAshish/kokoclone"
24
+ print("[KokoOnly] Ready.")
25
+ return _kokoro
26
 
27
  def get_cloner():
28
+ """Charge KokoClone complet avec Kanade โ€” seulement si nรฉcessaire."""
29
  global _cloner
30
  if _cloner is None:
31
  from core.cloner import KokoClone
32
+ print("[KokoClone] Loading full model (Kokoro + Kanade)...")
33
  _cloner = KokoClone()
34
+ print("[KokoClone] Ready.")
35
  return _cloner
36
 
37
 
 
128
  - ๐Ÿ‡ช๐Ÿ‡ธ๐Ÿ‡ฎ๐Ÿ‡น `im_nicola` โ€” voix masculine
129
  - ๐Ÿ‡ง๐Ÿ‡ท `pf_dora` โ€” Portugais brรฉsilien
130
 
131
+ > Vitesse **0.7โ€“0.8** recommandรฉe pour les dรฉbutants.
132
  """
133
  )
134
  speak_btn.click(
 
194
  )
195
 
196
 
197
+ # โ”€โ”€ FastAPI โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
198
 
199
  app = gr.mount_gradio_app(FastAPI(), demo, path="/")
200