hayas commited on
Commit
a2f3696
·
1 Parent(s): 92ebcbd
Files changed (5) hide show
  1. README.md +1 -1
  2. app.py +26 -2
  3. pyproject.toml +5 -5
  4. requirements.txt +65 -28
  5. uv.lock +0 -0
README.md CHANGED
@@ -4,7 +4,7 @@ emoji: 🔥
4
  colorFrom: yellow
5
  colorTo: red
6
  sdk: gradio
7
- sdk_version: 5.16.0
8
  app_file: app.py
9
  pinned: false
10
  ---
 
4
  colorFrom: yellow
5
  colorTo: red
6
  sdk: gradio
7
+ sdk_version: 5.31.0
8
  app_file: app.py
9
  pinned: false
10
  ---
app.py CHANGED
@@ -1,5 +1,12 @@
1
  #!/usr/bin/env python
2
 
 
 
 
 
 
 
 
3
  import gradio as gr
4
  import numpy as np
5
  import spaces
@@ -17,7 +24,24 @@ VOICES = [
17
 
18
 
19
  @spaces.GPU(duration=20)
20
- def run(text: str, voice: str, speed: float) -> tuple[tuple[int, np.ndarray], str]:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  generator = pipeline(
22
  text,
23
  voice=voice,
@@ -58,4 +82,4 @@ with gr.Blocks(css_paths="style.css") as demo:
58
  )
59
 
60
  if __name__ == "__main__":
61
- demo.launch()
 
1
  #!/usr/bin/env python
2
 
3
+ import os
4
+ import shlex
5
+ import subprocess
6
+
7
+ if os.getenv("SPACE_ID"):
8
+ subprocess.run(shlex.split("python -m unidic download"), timeout=100, check=True) # noqa: S603
9
+
10
  import gradio as gr
11
  import numpy as np
12
  import spaces
 
24
 
25
 
26
  @spaces.GPU(duration=20)
27
+ def run(text: str, voice: str, speed: float = 1.0) -> tuple[tuple[int, np.ndarray], str]:
28
+ """Generate audio from text using Kokoro.
29
+
30
+ Available voices are:
31
+ - jf_alpha
32
+ - jf_gongitsune
33
+ - jf_nezumi
34
+ - jf_tebukuro
35
+ - jm_kumo
36
+
37
+ Args:
38
+ text (str): Text to generate audio from.
39
+ voice (str): Voice to use.
40
+ speed (float): Speed of the audio. Defaults to 1.0.
41
+
42
+ Returns:
43
+ tuple[tuple[int, np.ndarray], str]: Tuple of (sample rate, audio data) and the text.
44
+ """
45
  generator = pipeline(
46
  text,
47
  voice=voice,
 
82
  )
83
 
84
  if __name__ == "__main__":
85
+ demo.launch(mcp_server=True)
pyproject.toml CHANGED
@@ -5,12 +5,12 @@ description = ""
5
  readme = "README.md"
6
  requires-python = ">=3.10"
7
  dependencies = [
8
- "gradio>=5.16.0",
9
  "hf-transfer>=0.1.9",
10
- "kokoro>=0.7.16",
11
- "misaki[ja]>=0.7.17",
12
- "spaces>=0.32.0",
13
- "torch==2.4.0",
14
  ]
15
 
16
  [tool.ruff]
 
5
  readme = "README.md"
6
  requires-python = ">=3.10"
7
  dependencies = [
8
+ "gradio[mcp]>=5.31.0",
9
  "hf-transfer>=0.1.9",
10
+ "kokoro>=0.9.4",
11
+ "misaki[ja]>=0.9.4",
12
+ "spaces>=0.36.0",
13
+ "torch==2.5.1",
14
  ]
15
 
16
  [tool.ruff]
requirements.txt CHANGED
@@ -1,5 +1,7 @@
1
  # This file was autogenerated by uv via the following command:
2
  # uv pip compile pyproject.toml -o requirements.txt
 
 
3
  aiofiles==23.2.1
4
  # via gradio
5
  annotated-types==0.7.0
@@ -8,6 +10,8 @@ anyio==4.8.0
8
  # via
9
  # gradio
10
  # httpx
 
 
11
  # starlette
12
  attrs==25.1.0
13
  # via
@@ -84,11 +88,13 @@ fsspec==2025.2.0
84
  # torch
85
  fugashi==1.4.0
86
  # via misaki
87
- gradio==5.16.0
88
  # via
89
  # kokoro-ja (pyproject.toml)
90
  # spaces
91
- gradio-client==1.7.0
 
 
92
  # via gradio
93
  h11==0.14.0
94
  # via
@@ -102,8 +108,11 @@ httpx==0.28.1
102
  # via
103
  # gradio
104
  # gradio-client
 
105
  # safehttpx
106
  # spaces
 
 
107
  huggingface-hub==0.28.1
108
  # via
109
  # gradio
@@ -133,7 +142,7 @@ jsonschema==4.23.0
133
  # via csvw
134
  jsonschema-specifications==2024.10.1
135
  # via jsonschema
136
- kokoro==0.7.16
137
  # via kokoro-ja (pyproject.toml)
138
  langcodes==3.5.0
139
  # via spacy
@@ -156,9 +165,11 @@ markupsafe==2.1.5
156
  # clldutils
157
  # gradio
158
  # jinja2
 
 
159
  mdurl==0.1.2
160
  # via markdown-it-py
161
- misaki==0.7.17
162
  # via
163
  # kokoro-ja (pyproject.toml)
164
  # kokoro
@@ -181,40 +192,41 @@ numpy==1.26.4
181
  # gradio
182
  # kokoro
183
  # pandas
184
- # scipy
185
  # spacy
186
  # thinc
187
  # transformers
188
- nvidia-cublas-cu12==12.1.3.1
189
  # via
190
  # nvidia-cudnn-cu12
191
  # nvidia-cusolver-cu12
192
  # torch
193
- nvidia-cuda-cupti-cu12==12.1.105
194
  # via torch
195
- nvidia-cuda-nvrtc-cu12==12.1.105
196
  # via torch
197
- nvidia-cuda-runtime-cu12==12.1.105
198
  # via torch
199
  nvidia-cudnn-cu12==9.1.0.70
200
  # via torch
201
- nvidia-cufft-cu12==11.0.2.54
202
  # via torch
203
- nvidia-curand-cu12==10.3.2.106
204
  # via torch
205
- nvidia-cusolver-cu12==11.4.5.107
206
  # via torch
207
- nvidia-cusparse-cu12==12.1.0.106
208
  # via
209
  # nvidia-cusolver-cu12
210
  # torch
211
- nvidia-nccl-cu12==2.20.5
212
  # via torch
213
- nvidia-nvjitlink-cu12==12.8.61
214
  # via
215
  # nvidia-cusolver-cu12
216
  # nvidia-cusparse-cu12
217
- nvidia-nvtx-cu12==12.1.105
 
218
  # via torch
219
  orjson==3.10.15
220
  # via gradio
@@ -234,29 +246,37 @@ phonemizer-fork==3.3.2
234
  # via misaki
235
  pillow==11.1.0
236
  # via gradio
 
 
237
  preshed==3.0.9
238
  # via
239
  # spacy
240
  # thinc
241
  psutil==5.9.8
242
  # via spaces
243
- pydantic==2.10.6
244
  # via
245
  # confection
246
  # fastapi
247
  # gradio
 
 
248
  # spaces
249
  # spacy
250
  # thinc
251
  # weasel
252
- pydantic-core==2.27.2
253
  # via pydantic
 
 
254
  pydub==0.25.1
255
  # via gradio
256
  pygments==2.19.1
257
  # via rich
258
  pylatexenc==2.10
259
  # via clldutils
 
 
260
  pyparsing==3.2.1
261
  # via rdflib
262
  python-dateutil==2.9.0.post0
@@ -264,8 +284,12 @@ python-dateutil==2.9.0.post0
264
  # clldutils
265
  # csvw
266
  # pandas
 
 
267
  python-multipart==0.0.20
268
- # via gradio
 
 
269
  pytz==2025.1
270
  # via pandas
271
  pyyaml==6.0.2
@@ -292,6 +316,7 @@ requests==2.32.3
292
  # spaces
293
  # spacy
294
  # transformers
 
295
  # weasel
296
  rfc3986==1.5.0
297
  # via csvw
@@ -307,8 +332,6 @@ safehttpx==0.1.6
307
  # via gradio
308
  safetensors==0.5.2
309
  # via transformers
310
- scipy==1.15.2
311
- # via kokoro
312
  segments==2.2.1
313
  # via phonemizer-fork
314
  semantic-version==2.10.0
@@ -326,7 +349,7 @@ smart-open==7.1.0
326
  # via weasel
327
  sniffio==1.3.1
328
  # via anyio
329
- spaces==0.32.0
330
  # via kokoro-ja (pyproject.toml)
331
  spacy==3.8.4
332
  # via misaki
@@ -342,11 +365,15 @@ srsly==2.5.1
342
  # spacy
343
  # thinc
344
  # weasel
 
 
345
  starlette==0.45.3
346
  # via
347
  # fastapi
348
  # gradio
349
- sympy==1.13.3
 
 
350
  # via torch
351
  tabulate==0.9.0
352
  # via clldutils
@@ -356,7 +383,7 @@ tokenizers==0.21.0
356
  # via transformers
357
  tomlkit==0.13.2
358
  # via gradio
359
- torch==2.4.0
360
  # via
361
  # kokoro-ja (pyproject.toml)
362
  # curated-transformers
@@ -365,11 +392,13 @@ torch==2.4.0
365
  tqdm==4.67.1
366
  # via
367
  # huggingface-hub
 
368
  # spacy
369
  # transformers
 
370
  transformers==4.48.3
371
  # via kokoro
372
- triton==3.0.0
373
  # via torch
374
  typer==0.15.1
375
  # via
@@ -392,21 +421,29 @@ typing-extensions==4.12.2
392
  # spaces
393
  # torch
394
  # typer
 
395
  # uvicorn
 
 
 
 
396
  tzdata==2025.1
397
  # via pandas
398
- unidic-lite==1.0.8
399
  # via misaki
400
  uritemplate==4.1.1
401
  # via csvw
402
  urllib3==2.3.0
403
  # via requests
404
  uvicorn==0.34.0
405
- # via gradio
406
- wasabi==1.1.3
 
 
407
  # via
408
  # spacy
409
  # thinc
 
410
  # weasel
411
  weasel==0.4.1
412
  # via spacy
 
1
  # This file was autogenerated by uv via the following command:
2
  # uv pip compile pyproject.toml -o requirements.txt
3
+ addict==2.4.0
4
+ # via misaki
5
  aiofiles==23.2.1
6
  # via gradio
7
  annotated-types==0.7.0
 
10
  # via
11
  # gradio
12
  # httpx
13
+ # mcp
14
+ # sse-starlette
15
  # starlette
16
  attrs==25.1.0
17
  # via
 
88
  # torch
89
  fugashi==1.4.0
90
  # via misaki
91
+ gradio==5.31.0
92
  # via
93
  # kokoro-ja (pyproject.toml)
94
  # spaces
95
+ gradio-client==1.10.1
96
+ # via gradio
97
+ groovy==0.1.2
98
  # via gradio
99
  h11==0.14.0
100
  # via
 
108
  # via
109
  # gradio
110
  # gradio-client
111
+ # mcp
112
  # safehttpx
113
  # spaces
114
+ httpx-sse==0.4.0
115
+ # via mcp
116
  huggingface-hub==0.28.1
117
  # via
118
  # gradio
 
142
  # via csvw
143
  jsonschema-specifications==2024.10.1
144
  # via jsonschema
145
+ kokoro==0.9.4
146
  # via kokoro-ja (pyproject.toml)
147
  langcodes==3.5.0
148
  # via spacy
 
165
  # clldutils
166
  # gradio
167
  # jinja2
168
+ mcp==1.9.0
169
+ # via gradio
170
  mdurl==0.1.2
171
  # via markdown-it-py
172
+ misaki==0.9.4
173
  # via
174
  # kokoro-ja (pyproject.toml)
175
  # kokoro
 
192
  # gradio
193
  # kokoro
194
  # pandas
195
+ # pyopenjtalk
196
  # spacy
197
  # thinc
198
  # transformers
199
+ nvidia-cublas-cu12==12.4.5.8
200
  # via
201
  # nvidia-cudnn-cu12
202
  # nvidia-cusolver-cu12
203
  # torch
204
+ nvidia-cuda-cupti-cu12==12.4.127
205
  # via torch
206
+ nvidia-cuda-nvrtc-cu12==12.4.127
207
  # via torch
208
+ nvidia-cuda-runtime-cu12==12.4.127
209
  # via torch
210
  nvidia-cudnn-cu12==9.1.0.70
211
  # via torch
212
+ nvidia-cufft-cu12==11.2.1.3
213
  # via torch
214
+ nvidia-curand-cu12==10.3.5.147
215
  # via torch
216
+ nvidia-cusolver-cu12==11.6.1.9
217
  # via torch
218
+ nvidia-cusparse-cu12==12.3.1.170
219
  # via
220
  # nvidia-cusolver-cu12
221
  # torch
222
+ nvidia-nccl-cu12==2.21.5
223
  # via torch
224
+ nvidia-nvjitlink-cu12==12.4.127
225
  # via
226
  # nvidia-cusolver-cu12
227
  # nvidia-cusparse-cu12
228
+ # torch
229
+ nvidia-nvtx-cu12==12.4.127
230
  # via torch
231
  orjson==3.10.15
232
  # via gradio
 
246
  # via misaki
247
  pillow==11.1.0
248
  # via gradio
249
+ plac==1.4.5
250
+ # via unidic
251
  preshed==3.0.9
252
  # via
253
  # spacy
254
  # thinc
255
  psutil==5.9.8
256
  # via spaces
257
+ pydantic==2.11.5
258
  # via
259
  # confection
260
  # fastapi
261
  # gradio
262
+ # mcp
263
+ # pydantic-settings
264
  # spaces
265
  # spacy
266
  # thinc
267
  # weasel
268
+ pydantic-core==2.33.2
269
  # via pydantic
270
+ pydantic-settings==2.9.1
271
+ # via mcp
272
  pydub==0.25.1
273
  # via gradio
274
  pygments==2.19.1
275
  # via rich
276
  pylatexenc==2.10
277
  # via clldutils
278
+ pyopenjtalk==0.4.1
279
+ # via misaki
280
  pyparsing==3.2.1
281
  # via rdflib
282
  python-dateutil==2.9.0.post0
 
284
  # clldutils
285
  # csvw
286
  # pandas
287
+ python-dotenv==1.1.0
288
+ # via pydantic-settings
289
  python-multipart==0.0.20
290
+ # via
291
+ # gradio
292
+ # mcp
293
  pytz==2025.1
294
  # via pandas
295
  pyyaml==6.0.2
 
316
  # spaces
317
  # spacy
318
  # transformers
319
+ # unidic
320
  # weasel
321
  rfc3986==1.5.0
322
  # via csvw
 
332
  # via gradio
333
  safetensors==0.5.2
334
  # via transformers
 
 
335
  segments==2.2.1
336
  # via phonemizer-fork
337
  semantic-version==2.10.0
 
349
  # via weasel
350
  sniffio==1.3.1
351
  # via anyio
352
+ spaces==0.36.0
353
  # via kokoro-ja (pyproject.toml)
354
  spacy==3.8.4
355
  # via misaki
 
365
  # spacy
366
  # thinc
367
  # weasel
368
+ sse-starlette==2.3.5
369
+ # via mcp
370
  starlette==0.45.3
371
  # via
372
  # fastapi
373
  # gradio
374
+ # mcp
375
+ # sse-starlette
376
+ sympy==1.13.1
377
  # via torch
378
  tabulate==0.9.0
379
  # via clldutils
 
383
  # via transformers
384
  tomlkit==0.13.2
385
  # via gradio
386
+ torch==2.5.1
387
  # via
388
  # kokoro-ja (pyproject.toml)
389
  # curated-transformers
 
392
  tqdm==4.67.1
393
  # via
394
  # huggingface-hub
395
+ # pyopenjtalk
396
  # spacy
397
  # transformers
398
+ # unidic
399
  transformers==4.48.3
400
  # via kokoro
401
+ triton==3.1.0
402
  # via torch
403
  typer==0.15.1
404
  # via
 
421
  # spaces
422
  # torch
423
  # typer
424
+ # typing-inspection
425
  # uvicorn
426
+ typing-inspection==0.4.1
427
+ # via
428
+ # pydantic
429
+ # pydantic-settings
430
  tzdata==2025.1
431
  # via pandas
432
+ unidic==1.1.0
433
  # via misaki
434
  uritemplate==4.1.1
435
  # via csvw
436
  urllib3==2.3.0
437
  # via requests
438
  uvicorn==0.34.0
439
+ # via
440
+ # gradio
441
+ # mcp
442
+ wasabi==0.10.1
443
  # via
444
  # spacy
445
  # thinc
446
+ # unidic
447
  # weasel
448
  weasel==0.4.1
449
  # via spacy
uv.lock CHANGED
The diff for this file is too large to render. See raw diff