Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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 |
-
# โโ
|
| 9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
|
| 11 |
def get_cloner():
|
|
|
|
| 12 |
global _cloner
|
| 13 |
if _cloner is None:
|
| 14 |
from core.cloner import KokoClone
|
| 15 |
-
print("Loading
|
| 16 |
_cloner = KokoClone()
|
| 17 |
-
print("KokoClone
|
| 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
|
| 115 |
"""
|
| 116 |
)
|
| 117 |
speak_btn.click(
|
|
@@ -177,7 +194,7 @@ with gr.Blocks() as demo:
|
|
| 177 |
)
|
| 178 |
|
| 179 |
|
| 180 |
-
# โโ FastAPI
|
| 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 |
|