fix(build): drop lightblue-onnx git dep; add onnxruntime (Space uses app.py only)
Browse files- README.md +5 -1
- pyproject.toml +1 -2
- requirements.txt +1 -7
- uv.lock +2 -12
README.md
CHANGED
|
@@ -16,8 +16,8 @@ Interactive demo for **[BlueTTS](https://github.com/maxmelichov/BlueTTS)**: fast
|
|
| 16 |
|
| 17 |
## Languages
|
| 18 |
|
| 19 |
-
- **Hebrew** — grapheme-to-phoneme via [Renikud](https://huggingface.co/thewh1teagle/renikud) (ONNX).
|
| 20 |
- **English, Spanish, German, Italian** — phonemization with **espeak-ng** (via phonemizer), aligned with the multilingual tokenizer in the app.
|
|
|
|
| 21 |
|
| 22 |
## Voices
|
| 23 |
|
|
@@ -30,6 +30,10 @@ Four built-in speaker styles (pre-extracted style JSON):
|
|
| 30 |
| Male 1 | `voices/male1.json` |
|
| 31 |
| Male 2 | `voices/male2.json` |
|
| 32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
## Model weights
|
| 34 |
|
| 35 |
ONNX checkpoints are **not** stored in this Space repo (file-size limits). On first startup, `download_models.py` fetches them from the public model repo **[notmax123/blue-onnx](https://huggingface.co/notmax123/blue-onnx)** into `./onnx_models/`.
|
|
|
|
| 16 |
|
| 17 |
## Languages
|
| 18 |
|
|
|
|
| 19 |
- **English, Spanish, German, Italian** — phonemization with **espeak-ng** (via phonemizer), aligned with the multilingual tokenizer in the app.
|
| 20 |
+
- **Hebrew** — grapheme-to-phoneme via [Renikud](https://huggingface.co/thewh1teagle/renikud) (ONNX).
|
| 21 |
|
| 22 |
## Voices
|
| 23 |
|
|
|
|
| 30 |
| Male 1 | `voices/male1.json` |
|
| 31 |
| Male 2 | `voices/male2.json` |
|
| 32 |
|
| 33 |
+
## Implementation note
|
| 34 |
+
|
| 35 |
+
This Space runs **inference from `app.py`** (vocabulary, phonemization, ONNX sessions). It does **not** install the upstream [`blue`](https://github.com/maxmelichov/BlueTTS) Python package from GitHub (that package name replaced the old `lightblue-onnx` wheel and would conflict with pip’s expected name in a flat `requirements.txt`).
|
| 36 |
+
|
| 37 |
## Model weights
|
| 38 |
|
| 39 |
ONNX checkpoints are **not** stored in this Space repo (file-size limits). On first startup, `download_models.py` fetches them from the public model repo **[notmax123/blue-onnx](https://huggingface.co/notmax123/blue-onnx)** into `./onnx_models/`.
|
pyproject.toml
CHANGED
|
@@ -7,8 +7,8 @@ requires-python = ">=3.12"
|
|
| 7 |
dependencies = [
|
| 8 |
"espeakng-loader>=0.1.9",
|
| 9 |
"gradio>=6.9.0",
|
| 10 |
-
"lightblue-onnx",
|
| 11 |
"num2words>=0.5.14",
|
|
|
|
| 12 |
"phonemizer-fork>=3.3.2",
|
| 13 |
"renikud-onnx",
|
| 14 |
"soundfile>=0.13.1",
|
|
@@ -16,4 +16,3 @@ dependencies = [
|
|
| 16 |
|
| 17 |
[tool.uv.sources]
|
| 18 |
renikud-onnx = { git = "https://github.com/thewh1teagle/renikud-v5.git", subdirectory = "renikud-onnx" }
|
| 19 |
-
lightblue-onnx = { git = "https://github.com/maxmelichov/BlueTTS" }
|
|
|
|
| 7 |
dependencies = [
|
| 8 |
"espeakng-loader>=0.1.9",
|
| 9 |
"gradio>=6.9.0",
|
|
|
|
| 10 |
"num2words>=0.5.14",
|
| 11 |
+
"onnxruntime>=1.24",
|
| 12 |
"phonemizer-fork>=3.3.2",
|
| 13 |
"renikud-onnx",
|
| 14 |
"soundfile>=0.13.1",
|
|
|
|
| 16 |
|
| 17 |
[tool.uv.sources]
|
| 18 |
renikud-onnx = { git = "https://github.com/thewh1teagle/renikud-v5.git", subdirectory = "renikud-onnx" }
|
|
|
requirements.txt
CHANGED
|
@@ -103,8 +103,6 @@ jsonschema-specifications==2025.9.1
|
|
| 103 |
# via jsonschema
|
| 104 |
language-tags==1.2.0
|
| 105 |
# via csvw
|
| 106 |
-
lightblue-onnx @ git+https://github.com/maxmelichov/BlueTTS
|
| 107 |
-
# via styletts2-hebrew
|
| 108 |
markdown-it-py==4.0.0
|
| 109 |
# via rich
|
| 110 |
markupsafe==3.0.3
|
|
@@ -120,13 +118,11 @@ num2words==0.5.14
|
|
| 120 |
numpy==2.4.3
|
| 121 |
# via
|
| 122 |
# gradio
|
| 123 |
-
# lightblue-onnx
|
| 124 |
# onnxruntime
|
| 125 |
# pandas
|
| 126 |
# soundfile
|
| 127 |
onnxruntime==1.24.4
|
| 128 |
# via
|
| 129 |
-
# lightblue-onnx
|
| 130 |
# renikud-onnx
|
| 131 |
orjson==3.11.7
|
| 132 |
# via gradio
|
|
@@ -201,9 +197,7 @@ shellingham==1.5.4
|
|
| 201 |
six==1.17.0
|
| 202 |
# via python-dateutil
|
| 203 |
soundfile==0.13.1
|
| 204 |
-
# via
|
| 205 |
-
# lightblue-onnx
|
| 206 |
-
# styletts2-hebrew
|
| 207 |
starlette==0.52.1
|
| 208 |
# via
|
| 209 |
# fastapi
|
|
|
|
| 103 |
# via jsonschema
|
| 104 |
language-tags==1.2.0
|
| 105 |
# via csvw
|
|
|
|
|
|
|
| 106 |
markdown-it-py==4.0.0
|
| 107 |
# via rich
|
| 108 |
markupsafe==3.0.3
|
|
|
|
| 118 |
numpy==2.4.3
|
| 119 |
# via
|
| 120 |
# gradio
|
|
|
|
| 121 |
# onnxruntime
|
| 122 |
# pandas
|
| 123 |
# soundfile
|
| 124 |
onnxruntime==1.24.4
|
| 125 |
# via
|
|
|
|
| 126 |
# renikud-onnx
|
| 127 |
orjson==3.11.7
|
| 128 |
# via gradio
|
|
|
|
| 197 |
six==1.17.0
|
| 198 |
# via python-dateutil
|
| 199 |
soundfile==0.13.1
|
| 200 |
+
# via styletts2-hebrew
|
|
|
|
|
|
|
| 201 |
starlette==0.52.1
|
| 202 |
# via
|
| 203 |
# fastapi
|
uv.lock
CHANGED
|
@@ -655,16 +655,6 @@ wheels = [
|
|
| 655 |
{ url = "https://files.pythonhosted.org/packages/b0/42/327554649ed2dd5ce59d3f5da176c7be20f9352c7c6c51597293660b7b08/language_tags-1.2.0-py3-none-any.whl", hash = "sha256:d815604622242fdfbbfd747b40c31213617fd03734a267f2e39ee4bd73c88722", size = 213449, upload-time = "2023-01-11T18:38:05.692Z" },
|
| 656 |
]
|
| 657 |
|
| 658 |
-
[[package]]
|
| 659 |
-
name = "lightblue-onnx"
|
| 660 |
-
version = "0.1.0"
|
| 661 |
-
source = { git = "https://github.com/maxmelichov/BlueTTS" }
|
| 662 |
-
dependencies = [
|
| 663 |
-
{ name = "numpy" },
|
| 664 |
-
{ name = "onnxruntime" },
|
| 665 |
-
{ name = "soundfile" },
|
| 666 |
-
]
|
| 667 |
-
|
| 668 |
[[package]]
|
| 669 |
name = "markdown-it-py"
|
| 670 |
version = "4.0.0"
|
|
@@ -1607,8 +1597,8 @@ source = { virtual = "." }
|
|
| 1607 |
dependencies = [
|
| 1608 |
{ name = "espeakng-loader" },
|
| 1609 |
{ name = "gradio" },
|
| 1610 |
-
{ name = "lightblue-onnx" },
|
| 1611 |
{ name = "num2words" },
|
|
|
|
| 1612 |
{ name = "phonemizer-fork" },
|
| 1613 |
{ name = "renikud-onnx" },
|
| 1614 |
{ name = "soundfile" },
|
|
@@ -1618,8 +1608,8 @@ dependencies = [
|
|
| 1618 |
requires-dist = [
|
| 1619 |
{ name = "espeakng-loader", specifier = ">=0.1.9" },
|
| 1620 |
{ name = "gradio", specifier = ">=6.9.0" },
|
| 1621 |
-
{ name = "lightblue-onnx", git = "https://github.com/maxmelichov/BlueTTS" },
|
| 1622 |
{ name = "num2words", specifier = ">=0.5.14" },
|
|
|
|
| 1623 |
{ name = "phonemizer-fork", specifier = ">=3.3.2" },
|
| 1624 |
{ name = "renikud-onnx", git = "https://github.com/thewh1teagle/renikud-v5.git?subdirectory=renikud-onnx" },
|
| 1625 |
{ name = "soundfile", specifier = ">=0.13.1" },
|
|
|
|
| 655 |
{ url = "https://files.pythonhosted.org/packages/b0/42/327554649ed2dd5ce59d3f5da176c7be20f9352c7c6c51597293660b7b08/language_tags-1.2.0-py3-none-any.whl", hash = "sha256:d815604622242fdfbbfd747b40c31213617fd03734a267f2e39ee4bd73c88722", size = 213449, upload-time = "2023-01-11T18:38:05.692Z" },
|
| 656 |
]
|
| 657 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 658 |
[[package]]
|
| 659 |
name = "markdown-it-py"
|
| 660 |
version = "4.0.0"
|
|
|
|
| 1597 |
dependencies = [
|
| 1598 |
{ name = "espeakng-loader" },
|
| 1599 |
{ name = "gradio" },
|
|
|
|
| 1600 |
{ name = "num2words" },
|
| 1601 |
+
{ name = "onnxruntime" },
|
| 1602 |
{ name = "phonemizer-fork" },
|
| 1603 |
{ name = "renikud-onnx" },
|
| 1604 |
{ name = "soundfile" },
|
|
|
|
| 1608 |
requires-dist = [
|
| 1609 |
{ name = "espeakng-loader", specifier = ">=0.1.9" },
|
| 1610 |
{ name = "gradio", specifier = ">=6.9.0" },
|
|
|
|
| 1611 |
{ name = "num2words", specifier = ">=0.5.14" },
|
| 1612 |
+
{ name = "onnxruntime", specifier = ">=1.24" },
|
| 1613 |
{ name = "phonemizer-fork", specifier = ">=3.3.2" },
|
| 1614 |
{ name = "renikud-onnx", git = "https://github.com/thewh1teagle/renikud-v5.git?subdirectory=renikud-onnx" },
|
| 1615 |
{ name = "soundfile", specifier = ">=0.13.1" },
|